사용 AppKeys 및 테넌트 ID - Amazon Chime SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용 AppKeys 및 테넌트 ID

테넌트 ID를 사용하여 AppKeys 네트워크에서 특정 애플리케이션의 Amazon Chime SDK WebRTC 미디어 세션으로의 액세스를 제한할 수 있습니다.

개발자는 Amazon Chime SDK를 사용하여 UDP를 통해 실시간 비디오를 보내고 받는 애플리케이션을 만듭니다. 애플리케이션 사용자에게는 CHIME_MEETINGS서브넷에 대한 UDP 액세스가 필요합니다. Organizations (네트워크 소유자) 은 테넌트 ID를 사용하여 AppKeys 네트워크에서 특정 애플리케이션의 WebRTC 미디어 세션으로만 액세스를 제한할 수 있습니다.

예 1: 사용 AppKeys

앱 A와 앱 B가 Amazon Chime SDK를 사용하는 경우 조직은 앱 A가 네트워크에서 WebRTC 미디어 세션에 액세스하도록 허용하지만 Amazon Chime SDK를 사용하는 앱 B와 기타 애플리케이션을 차단할 수 있습니다. Organizations App-A와 HTTPS 프록시를 사용하여 이 작업을 수행할 수 있습니다. AppKey 자세한 내용은 이 주제의 후반부에서 섹션을 참조하세요.특정 애플리케이션에 대한 액세스 제한

예 2: 테넌트 ID 사용 AppKeys

App-A를 공개적으로 사용할 수 있고 많은 고객이 사용하는 경우 조직에서는 사용자가 세션에 속해 있을 때만 App-A가 네트워크에서 WebRTC 미디어 세션에 액세스하도록 허용하고 다른 모든 App-A 세션에 대한 액세스를 차단하고자 할 수 있습니다. 조직에서는 애플리케이션 AppKey, 조직의 TenanTID 및 HTTPS 프록시를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 이 주제의 후반부에서 섹션을 참조하세요.특정 테넌트에 대한 액세스 제한

테넌트 ID를 사용하려면 AppKeys 요청에 HTTPS 헤더를 추가할 수 있는 HTTPS 프록시 서버가 있어야 합니다. 다음은 테넌트 ID의 예입니다. AppKeys


    AppKeys 및 TenantIDS가 WebRTC 세션에 대한 애플리케이션 및 테넌트 액세스를 제어하는 방법을 보여주는 다이어그램입니다.

이미지에서 App-A에는 테넌트 A-1과 A-2가 있고, App-B에는 테넌트 B-1 및 B-2가 있습니다. 이 경우 AppKey App-A만 WebRTC 미디어 세션에 연결할 수 있으며 테넌트 ID는 테넌트 A-1만 세션에 허용합니다.

특정 애플리케이션에 대한 액세스 제한

AppKeyAn은 Amazon Chime이 각AWS 계정에 대해 생성하는 일관되고 고유한 256비트 값입니다. 없는 AppKey 경우에는 Amazon 서포트에 하나를 요청할 수 있습니다. AWS계정이 여러 개 있는 경우 모든 계정에 AppKey 공통으로 계정을 요청할 수 있습니다.

참고

안전하게 AppKeys 공개적으로 공유하고 다른 조직이 네트워크에서의 액세스를 제한하도록 할 수 있습니다.

Amazon Chime SDK는 세션을 생성하는 데 사용된AWS 계정 ID를 AppKey 기반으로 각 WebRTC 미디어 세션을 자동으로 연결합니다. 네트워크에서 특정 애플리케이션으로의 액세스를 제한하려면 다음을 수행하십시오.

  1. 모든 아웃바운드 요청을 HTTPS 프록시 서버를 통해CHIME_MEETINGS 서브넷으로 라우팅합니다.

  2. CHIME_MEETINGS서브넷에 대한 모든 아웃바운드 요청에 다음 헤더를 추가하도록 프록시 서버를 구성합니다.

    X-Amzn-Chime-App-Keys:쉼표로 구분된 허용 목록입니다 AppKeys.

    예를 들어, 해당 앱과 연결된 앱이 AppKeys 서브넷에 액세스할 수 있도록X-Amzn-Chime-App-Keys: AppKey1,AppKey2,AppKey3 허용합니다.

Amazon Chime SDK는X-Amzn-Chime-App-Keys 헤더에 대한 인바운드 WebRTC 미디어 세션 연결을 검사하고 다음 로직을 적용합니다.

  1. X-Amzn-Chime-App-Keys헤더가 존재하고 세션의 AppKey 헤더가 포함된 경우 연결을 수락하십시오.

  2. X-Amzn-Chime-App-Keys헤더가 있지만 세션을 포함하지 않는 경우 403 오류와 함께 연결을 거부하십시오. AppKey

  3. X-Amzn-Chime-App-Keys헤더가 없는 경우 연결을 수락하십시오. 사용자가 조직 네트워크 외부에서 애플리케이션에 액세스할 수 있는 경우 세션에도 액세스할 수 있습니다.

특정 테넌트에 대한 액세스 제한

TenanTid는 개발자가 만든 불투명한 식별자입니다. 테넌트 ID에 대한 다음 사항을 기억하십시오.

  • 테넌트 ID는 애플리케이션 간에 고유하지 않을 수 있으므로 각 테넌트 ID 목록에 AppKey 대해 를 지정해야 합니다.

  • 테넌트 ID는 대소문자를 구분합니다. 개발자가 지정한 대로 정확하게 입력하세요.

  • 조직에서는 여러 애플리케이션에 대한 액세스를 제한할 수 있지만 이러한 애플리케이션 중 일부에 대한 TenantID만 지정할 수 있습니다. 테넌트 ID가 없는 애플리케이션은 모든 WebRTC 미디어 세션에 연결할 수 있습니다.

미디어 세션을 TenantID와 연결하려면 개발자가 먼저 CreateMeeting또는 CreateMeetingWithAttendees요청에TenantIds 속성과 TenantID 목록을 추가해야 합니다.

예시:

CreateMeeting(..., TenantIds : [ tenantId1, tenantId2 ] )

조직의 네트워크에서 특정 애플리케이션의 WebRTC 미디어 세션으로의 액세스를 제한하려면 다음을 수행하십시오.

  1. 특정 애플리케이션에 대한 액세스 제한 단원의 단계를 따르십시오.

  2. 아웃바운드 연결에X-Amzn-Chime-Tenants 헤더를 추가하도록 HTTPS 프록시 서버를 구성합니다. 세미콜론으로 구분된 TenantID AppKeys 및 TenantID 목록을 포함합니다. 예: X-Amzn-Chime-Tenants: AppKey1;tenantId-1,tenantId-2;AppKey2:tenantId-1,tenantId-1

Amazon Chime SDK는X-Amzn-Chime-Tenants 헤더에 대한 인바운드 WebRTC 미디어 세션 연결을 검사하고 다음 로직을 적용합니다.

  • 헤더에 세션이 포함된 경우 연결을 수락하십시오.AppKey:tenantId

  • 헤더에 세션이AppKey 포함되지만 일치하는tenantId 항목이 없는 경우 403 오류와 함께 연결을 거부하십시오.

  • 헤더에 세션이 포함되지 않은 경우 연결을 수락하십시오.AppKey

  • 헤더에 세션이 포함되어 있지만 세션에tenantId 허용된 세션이 하나 이상 없는 경우 403 오류와 함께 연결을 거부하십시오.AppKey 개발자 버그일 수 있습니다.

  • 헤더가 없으면 연결을 수락합니다. 사용자가 조직 네트워크 외부에서 애플리케이션에 액세스할 수 있는 경우 모든 세션에도 액세스할 수 있습니다.

HTTPS 헤더 예제

다음은 HTTPS 헤더의 예입니다. AppKeys

하나의 앱과 한 명의 테넌트

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:orgId

사용자는 지정된 앱에서 조직의 WebRTC 미디어 세션에만 액세스할 수 있습니다. 다른 모든 앱은 차단됩니다.

두 명의 테넌트가 있는 하나의 앱

X-Amzn-Chime-App-Keys: AppKey

X-Amzn-Chime-Tenants: AppKey:engineeringId,salesId

사용자는 지정된 앱의 엔지니어링 및 영업용 미디어 세션에만 액세스할 수 있습니다. 다른 모든 앱은 차단됩니다.

두 개의 앱 (하나는 테넌트로 제한됨)

X-Amzn-Chime-App-Keys: AppKey1,AppKey2

X-Amzn-Chime-Tenants: AppKey1:orgId

사용자는 앱 1에서는 기관의 미디어 세션에만 액세스할 수 있고 앱 2에서는 모든 세션에 액세스할 수 있습니다. 다른 모든 앱은 차단됩니다.