

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

# Amazon Chime SDK 회의를 위한 네트워크 구성
<a name="network-config"></a>

Amazon Chime SDK를 클라이언트 애플리케이션에 통합하는 경우 SDK는 백엔드 서비스에 연결하여 오디오, 비디오, 콘텐츠 공유 및 데이터 메시지를 보내고 받습니다. 사용자 네트워크가 Amazon Chime SDK 서비스로의 트래픽을 차단하면 서비스 사용 능력이 저하됩니다. 네트워크 관리자는 이 정보를 사용하여 Amazon Chime SDK 서비스에 대한 액세스를 허용하도록 네트워크를 재구성할 수 있습니다.

**참고**  
네트워크를 구성할 때 기본적으로 DNS용 확장 메커니즘(EDNS0)을 활성화해야 합니다. 이렇게 하면 호스트 정보가 UDP 패킷에 적합한 크기인지 확인하여 애플리케이션이 Amazon Chime SDK 서비스에 연결할 수 있습니다.

**Topics**
+ [미디어 및 신호 구성](#media-signaling)
+ [Amazon Voice Focus 구성](#voice-focus-config)
+ [울림 감소 구성](#echo-reduction)
+ [배경 교체 및 흐림 구성](#config-blur)
+ [브라우저 콘텐츠 보안 정책 구성](#configure-browser-policy)
+ [Amazon Chime SDK에 AppKey 및 TenantID 사용](app-keys-tenant-ids.md)

## 미디어 및 신호 구성
<a name="media-signaling"></a>

Amazon Chime SDK 오디오, 비디오 및 콘텐츠는 가능할 때마다 사용자 데이터그램 프로토콜(UDP) 전송을 사용합니다. UDP가 차단된 경우 Amazon Chime SDK는 양방향 미디어 전송을 위한 전송 계층 보안(TLS) 연결을 설정하려고 합니다. Amazon Chime SDK 신호 및 데이터 메시지는 전송 제어 프로토콜(TCP) 및 WebSocket 연결을 사용합니다.

다음 다이어그램은 Amazon Chime SDK를 실행하는 애플리케이션이 있는 일반적인 네트워크를 보여줍니다.

![\[Amazon Chime SDK 애플리케이션을 실행하도록 구성된 네트워크로, SDK와 회의 간에 양방향 통신을 제공합니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/net-config-diagram.png)


Amazon Chime SDK는 미디어 및 신호에 다음과 같은 대상 및 포트를 사용합니다.


| 도메인 | IPv4 서브넷 | IPv6 서브넷 | 포트 | 
| --- | --- | --- | --- | 
| \$1.chime.aws | 99.77.128.0/18 | 2600:f0f0:4100::/40 | TCP:443 UDP:3478 | 

이 서브넷은 [AWS IP 주소 범위](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)의 `CHIME_MEETINGS` 서비스입니다.

## Amazon Voice Focus 구성
<a name="voice-focus-config"></a>

iOS 및 안드로이드용 Amazon Chime SDK 클라이언트 라이브러리에는 Amazon Voice Focus 모듈이 포함되어 있습니다. JavaScript용 Amazon Chime SDK 클라이언트 라이브러리는 Amazon CloudFront에서 Amazon Voice Focus 모듈을 다운로드합니다. Windows용 Amazon Chime SDK 클라이언트 라이브러리는 Voice Focus를 지원하지 않습니다.

Amazon Voice Focus는 다음 대상과 포트를 사용합니다.


| 도메인 | 포트 | 
| --- | --- | 
| \$1.sdkassets.chime.aws | TCP:443 | 

이 서브넷은 [AWS IP 주소 범위](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)의 `CLOUDFRONT` 서비스입니다.

## 울림 감소 구성
<a name="echo-reduction"></a>

JavaScript용 Amazon Chime SDK 클라이언트 라이브러리는 Amazon CloudFront에서 울림 감소 모듈을 다운로드합니다.

울림 감소는 다음 대상과 포트를 사용합니다.


| 도메인 | 포트 | 
| --- | --- | 
| \$1.sdkassets.chime.aws | TCP:443 | 

이 서브넷은 [AWS IP 주소 범위](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)의 `CLOUDFRONT` 서비스입니다.

## 배경 교체 및 흐림 구성
<a name="config-blur"></a>

JavaScript용 Amazon Chime SDK 클라이언트 라이브러리는 Amazon CloudFront에서 배경 교체 및 흐림 모듈을 다운로드합니다.

배경 교체 및 흐림에는 다음 대상과 포트가 사용됩니다.


| 도메인 | 포트 | 
| --- | --- | 
| \$1.sdkassets.chime.aws | TCP:443 | 

이 서브넷은 [AWS IP 주소 범위](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)의 `CLOUDFRONT` 서비스입니다.

## 브라우저 콘텐츠 보안 정책 구성
<a name="configure-browser-policy"></a>

JavaScript용 Amazon Chime SDK 클라이언트 라이브러리로 애플리케이션을 구축할 때는 애플리케이션에 브라우저 콘텐츠 보안 정책을 구성해야 합니다. 자세한 내용은 GitHub의 [콘텐츠 보안 정책 가이드를](https://aws.github.io/amazon-chime-sdk-js/modules/contentsecurity_policy.html) 참조하세요.

# Amazon Chime SDK에 AppKey 및 TenantID 사용
<a name="app-keys-tenant-ids"></a>

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

개발자는 Amazon Chime SDK를 사용하여 UDP를 통해 실시간 비디오를 보내고 받는 애플리케이션을 만듭니다. 애플리케이션 사용자는 [https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html) 서브넷에 대한 UDP 액세스가 필요합니다. 조직(네트워크 소유자)은 AppKey 및 TenantID를 사용하여 네트워크에서 특정 애플리케이션의 WebRTC 미디어 세션으로만 액세스를 제한할 수 있습니다.

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

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

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

![\[AppKey 및 TenantID가 WebRTC 세션에 대한 애플리케이션 및 테넌트 액세스를 제어하는 방법을 보여주는 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/chime-sdk/latest/dg/images/app-key-diagram.png)


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

**Topics**
+ [특정 애플리케이션에 대한 액세스 제한](#limit-app-access)
+ [특정 테넌트에 대한 액세스 제한](#limit-tenant-access)
+ [HTTPS 헤더 예제](#header-examples)

## 특정 애플리케이션에 대한 액세스 제한
<a name="limit-app-access"></a>

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

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

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

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

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

   `X-Amzn-Chime-App-Keys:` *허용된 AppKey를 쉼표로 구분한 목록입니다*.

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

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

1. `X-Amzn-Chime-App-Keys` 헤더가 있고 세션의 AppKey를 포함하는 경우 연결을 수락합니다.

1. `X-Amzn-Chime-App-Keys` 헤더가 있지만 세션의 AppKey를 포함하지 않는 경우 403 오류로 연결을 거부합니다.

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

## 특정 테넌트에 대한 액세스 제한
<a name="limit-tenant-access"></a>

*TenantID*는 개발자가 만든 불투명한 식별자입니다. TenantID에 대한 다음 사항을 기억하세요.
+ TenantID는 애플리케이션 간에 고유하지 않을 수 있으므로 각 TenantID 목록에 AppKey를 지정해야 합니다.
+ TenantID는 대소문자를 구분합니다. 개발자가 지정한 대로 정확하게 입력하세요.
+ 조직은 여러 애플리케이션에 대한 액세스를 제한할 수 있지만 이러한 애플리케이션 중 일부에 대해서만 TenantID를 지정할 수 있습니다. TenantID가 없는 애플리케이션은 모든 WebRTC 미디어 세션에 연결할 수 있습니다.

미디어 세션을 TenantID와 연결하려면 개발자가 먼저 `TenantIds` 속성 및 TenantID 목록을 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html) 또는 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeetingWithAttendees.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeetingWithAttendees.html) 요청에 추가해야 합니다.

예시:

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

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

1. [특정 애플리케이션에 대한 액세스 제한](#limit-app-access) 섹션의 단계를 따릅니다.

1. 아웃바운드 연결에 `X-Amzn-Chime-Tenants` 헤더를 추가하도록 HTTPS 프록시 서버를 구성합니다. 다음 예제와 같이 구분된 AppKey 및 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 헤더 예제
<a name="header-examples"></a>

다음은 HTTPS 헤더에서 AppKey 및 TenantID를 사용하는 예입니다.

**앱 하나와 테넌트 하나**  
`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에서는 모든 세션에 액세스할 수 있습니다. 다른 모든 앱은 차단됩니다.