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

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

ID 사용 AppKeys 및 테넌트

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

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

예 1: 사용 AppKeys

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

예 2: ID 및 테넌트용 ID 사용 AppKeys

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

TenanTID를 사용하려면 AppKeys 요청에 HTTPS 헤더를 추가할 수 있는 HTTPS 프록시 서버가 있어야 합니다. 다음 다이어그램은 TenanTID의 작동 방식과 작동 방식을 보여줍니다. AppKeys

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

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

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

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

참고

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

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

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

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

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

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

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는 개발자가 만든 불투명한 식별자입니다. TenantID에 대한 다음 사항을 기억하세요.

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

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

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

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

예:

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

특정 애플리케이션의 WebRTC 미디어 세션에 대한 액세스를 조직의 네트워크에서 제한하려면 다음과 같이 하세요.

  1. 특정 애플리케이션에 대한 액세스 제한 섹션의 단계를 따릅니다.

  2. 아웃바운드 연결에 X-Amzn-Chime-Tenants 헤더를 추가하도록 HTTPS 프록시 서버를 구성합니다. 다음 예와 같이 AppKeys 구분하여 및 TenanTID 목록을 포함하십시오. X-Amzn-Chime-Tenants: AppKey-A:tenantId-A-1,tenantId-A-2;AppKey-B:tenantId-B-1,tenantId-B-2

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

  • 헤더에 세션의 AppKey:tenantId가 포함된 경우 연결을 수락합니다.

  • 헤더에 세션의 AppKey가 포함되지만 일치하는 tenantId가 없는 경우 403 오류로 연결을 거부합니다.

  • 헤더에 세션의 AppKey포함되지 않은 경우 연결을 수락합니다.

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

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

HTTPS 헤더 예제

다음 예는 HTTPS 헤더에서 TenanTids를 사용하는 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에서는 모든 세션에 액세스할 수 있습니다. 다른 모든 앱은 차단됩니다.