

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

# 의 CDN 권한 부여 AWS Elemental MediaPackage
<a name="cdn-auth"></a>

*CDN(콘텐츠 전송 네트워크) 승인*을 사용하면 무단 사용으로부터 콘텐츠를 보호할 수 있습니다. CDN 승인을 구성하면 MediaPackage에서는 MediaPackage와 CDN 사이에 승인된 재생 요청만 이행합니다. 이렇게 하면 사용자가 오리진의 콘텐츠에 직접 액세스하기 위해 CDN을 우회하는 것을 방지할 수 있습니다.

## 작동 방식
<a name="working-with-cdn-auth"></a>

MediaPackage에 대한 콘텐츠 요청에 *사용자 지정 HTTP 헤더*를 포함하도록 Amazon CloudFront 같은 CDN을 구성합니다.

사용자 지정 HTTP 헤더 및 예제 값.

```
X-MediaPackage-CDNIdentifier: 9ceebbe7-9607-4552-8764-876e47032660
```

헤더 값을 AWS Secrets Manager의 *보안 암호*로 저장합니다. CDN이 재생 요청을 보내면 MediaPackage는 보안 암호 값이 사용자 지정 HTTP 헤더 값과 일치하는지 확인합니다. MediaPackage에는 권한 정책 및 역할로 보안 암호를 읽을 수 있는 AWS Identity and Access Management 권한이 부여됩니다.

보안 암호 키 및 예제 값.

```
{“MediaPackageCDNIdentifier”: "9ceebbe7-9607-4552-8764-876e47032660"}
```

값이 일치하면 MediaPackage는 HTTP `200 OK` 상태 코드와 함께 콘텐츠를 제공합니다. 일치하지 않거나 승인 요청이 실패하면 MediaPackage는 콘텐츠를 제공하지 않고 HTTP `403 Unauthorized` 상태 코드를 전송합니다.

다음 이미지는 Amazon CloudFront를 사용하여 성공한 CDN 승인을 보여줍니다.

![\[이 그림에서는 성공적인 CDN 인증 흐름을 보여줍니다. 왼쪽 하단에는 Amazon CloudFront에서 콘텐츠를 요청하는 재생 디바이스가 화살표로 표시됩니다. CloudFront는 화살표로 표시되는 사용자 지정 HTTP 헤더 및 값을 MediaPackage에 대한 요청에 포함시킵니다. MediaPackage는 IAM의 권한에 따라 화살표로 AWS Secrets Manager표시된에서 보안 암호 정보를 요청합니다.는 보안 암호 값과 함께 MediaPackage에 AWS Secrets Manager 응답합니다. MediaPackage는 보안 암호가 녹색 확인란으로 표시되는 헤더 값과 일치하는지 확인합니다. MediaPackage는 비디오 콘텐츠와 함께 HTTP 200 OK 상태 코드를 CloudFront로 전송합니다. CloudFront는 재생 디바이스에 비디오 콘텐츠를 제공합니다.\]](http://docs.aws.amazon.com/ko_kr/mediapackage/latest/ug/images/cdn_auth.png)


CDN 승인 설정 방법에 대한 단계별 지침은 [CDN 승인 설정](cdn-auth-setup.md) 단원을 참조하십시오.

# CDN 승인 설정
<a name="cdn-auth-setup"></a>

CDN 승인을 설정하려면 다음 단계를 완료합니다.

**Topics**
+ [1단계: CDN 사용자 지정 오리진 HTTP 헤더 구성](#cdn-aut-setup-cdn)
+ [2단계:에 값을 보안 암호로 저장 AWS Secrets Manager](#cdn-aut-setup-secret)
+ [3단계: MediaPackage에서 Secrets Manager에 액세스하도록 IAM 정책 및 역할 생성](#cdn-aut-setup-iam)
+ [4단계: MediaPackage에서 CDN 승인 활성화](#cdn-aut-setup-endpoint)

## 1단계: CDN 사용자 지정 오리진 HTTP 헤더 구성
<a name="cdn-aut-setup-cdn"></a>

CDN에서 **X-MediaPackage-CDNIdentifier** 헤더와 값이 포함된 사용자 지정 오리진 HTTP 헤더를 구성합니다. 값의 경우 36자 문자열을 생성하는 [UUID 버전 4](https://www.ietf.org/rfc/rfc4122.txt) 형식을 사용하는 것이 좋습니다. UUID 버전 4 형식을 사용하지 않는 경우 값은 8-128자여야 합니다.

CDN에 권한 부여 헤더가 구성된 경우 MediaPackage는 엔드포인트에서 CDN 권한이 활성화될 때까지 오류 404를 반환합니다.

**중요**  
정적 값을 선택해야 합니다. CDN과 간에는 네이티브 통합이 AWS Secrets Manager없으므로 값은 CDN과에서 모두 정적이어야 합니다 AWS Secrets Manager. CDN 및 보안 암호를 구성한 후 이 값을 변경하는 경우 값을 수동으로 교체해야 합니다. 자세한 내용은 [CDN 헤더 값 교체](cdn-auth-rotate.md) 단원을 참조하십시오.

**헤더 및 값 예제**

```
X-MediaPackage-CDNIdentifier: 9ceebbe7-9607-4552-8764-876e47032660
```

**Amazon CloudFront에서 사용자 지정 헤더를 생성하려면**

1. 에 로그인 AWS Management Console 하고에서 CloudFront 콘솔을 엽니다[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. 배포를 생성하거나 편집합니다.

1. **Origin Settings(오리진 설정)**에서 필드를 완료합니다. Secrets Manager의 보안 암호에 대해 동일한 값을 사용합니다.
   + **Header Name(헤더 이름)**에 **X-MediaPackage-CDNIdentifier**를 입력합니다.
   + **값**에 값을 입력합니다. 36자 문자열을 생성하는 UUID 버전 4 형식을 사용하는 것이 좋습니다. UUID 버전 4 형식을 사용하지 않는 경우 값은 8-128자여야 합니다.

1. 나머지 필드를 작성하고 배포를 저장합니다.

CloudFront의 사용자 지정 헤더에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [오리진에 고객 헤더 전달](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html)을 참조하십시오.

## 2단계:에 값을 보안 암호로 저장 AWS Secrets Manager
<a name="cdn-aut-setup-secret"></a>

사용자 지정 오리진 HTTP 헤더에서 사용하는 것과 동일한 값을 AWS Secrets Manager에 *보안 암호*로 저장합니다. 보안 암호는 AWS Elemental MediaPackage 리소스와 동일한 AWS 계정 및 리전 설정을 사용해야 합니다. MediaPackage는 계정 또는 리전 간 보안 암호 공유를 지원하지 않습니다. 그러나 동일한 리전 및 동일한 계정의 여러 엔드포인트에서 동일한 보안 암호를 사용할 수 있습니다.

**Secrets Manager에서 보안 암호를 저장하려면**

1. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) AWS Secrets Manager 콘솔에 로그인합니다.

1. **새 보안 암호 저장**을 선택합니다. **보안 암호 유형**에서 **다른 유형의 보안 암호**를 선택합니다.

1. **키/값 페어**에 키와 값 정보를 입력합니다.
   + 왼쪽 상자에 **MediaPackageCDNIdentifier**를 입력합니다.
   + 오른쪽 상자에 사용자 지정 오리진 HTTP 헤더에 대해 구성한 값을 입력합니다. 예를 들어 `9ceebbe7-9607-4552-8764-876e47032660`입니다.

1. **암호화 키**에서 기본값을 **DefaultEncryptionKey**로 유지할 수 있습니다.

1. **다음**을 선택합니다.

1. **보안 암호 이름**의 경우 MediaPackage에 사용되는 보안 암호임을 알 수 있도록 **MediaPackage/**로 접두사를 붙이는 것이 좋습니다. 예를 들어 **MediaPackage/cdn\$1auth\$1us-west-2**입니다.

1. **다음**을 선택합니다.

1. **자동 교체 구성** 섹션에서 기본 **자동 교체 비활성화** 설정을 유지합니다.

   나중에 인증 코드를 교체해야 하는 경우 [CDN 헤더 값 교체](cdn-auth-rotate.md) 단원을 참조하십시오.

1. **다음**을 선택한 후 **저장**을 선택합니다.

   이렇게 하면 보안 암호 목록으로 이동합니다.

1. **보안 암호 ARN**을 보려면 보안 암호 이름을 선택합니다. ARN에는 `arn:aws:secretsmanager:us-west-2:123456789012:secret:MediaPackage/cdn_auth_test-xxxxxx`와 비슷한 값이 있습니다. 4단계: MediaPackage에서 CDN 승인 활성화에서 MediaPackage에 대한 CDN 승인을 구성할 때 보안 암호 ARN을 사용합니다.

## 3단계: MediaPackage에서 Secrets Manager에 액세스하도록 IAM 정책 및 역할 생성
<a name="cdn-aut-setup-iam"></a>

Secrets Manager에 대한 읽기 권한을 MediaPackage에 부여하기 위해 IAM 정책 및 역할을 생성합니다. MediaPackage는 CDN으로부터 재생 요청을 받으면 저장된 보안 암호 값이 사용자 지정 HTTP 헤더의 값과 일치하는지 확인합니다. [가 다른 AWS 서비스에 액세스 AWS Elemental MediaPackage 하도록 허용](setting-up-create-trust-rel.md)의 단계에 따라 정책 및 역할을 설정합니다.

## 4단계: MediaPackage에서 CDN 승인 활성화
<a name="cdn-aut-setup-endpoint"></a>

MediaPackage 콘솔 AWS CLI또는 MediaPackage API를 사용하여 엔드포인트 또는 온디맨드 비디오(VOD) 패키징 그룹에 대해 CDN 인증을 활성화할 수 있습니다. 위의 3단계: MediaPackage에서 Secrets Manager에 액세스하도록 IAM 정책 및 역할 생성에서 생성한 IAM 정책 및 역할에 ARN을 사용합니다.

**작은 정보**  
동일한 리전 및 동일한 계정에 있는 여러 엔드포인트에서 동일한 보안 암호를 사용합니다. 워크플로우에 필요한 경우에만 새 보안 암호를 만들어 비용을 절감합니다.

CDN에 권한 부여 헤더가 구성된 경우 MediaPackage는 엔드포인트에서 CDN 권한이 활성화될 때까지 오류 404를 반환합니다.

**콘솔을 사용하여 라이브 콘텐츠에 대한 CDN 승인을 활성화하려면**

1. [https://console.aws.amazon.com/mediapackage/](https://console.aws.amazon.com/mediapackage/)에서 MediaPackage 콘솔을 엽니다.

1. 아직 채널이 없는 경우 채널을 만듭니다. 도움말은 [채널 생성](channels-create.md)를 참조하십시오.

1. 엔드포인트를 생성하거나 편집합니다.

1. **액세스 제어 설정**에서 **CDN 권한 부여 사용**을 선택합니다. 다음 필드를 작성합니다.
   + **보안 암호 역할 ARN**에 [3단계: MediaPackage에서 Secrets Manager에 액세스하도록 IAM 정책 및 역할 생성](#cdn-aut-setup-iam)에서 생성한 IAM 역할의 ARN을 입력합니다.
   + **CDN 식별자 보안 암호 ARN**에 CDN이 엔드포인트 액세스를 위한 승인에 사용하는 Secrets Manager 보안 암호의 ARN을 입력합니다.

1. 필요에 따라 나머지 필드를 완료하고 엔드포인트를 저장합니다.

**콘솔을 사용하여 VOD 콘텐츠에 대한 CDN 승인을 활성화하려면**

1. [https://console.aws.amazon.com/mediapackage/](https://console.aws.amazon.com/mediapackage/)에서 MediaPackage 콘솔을 엽니다.

1. VOD 패키징 그룹이 없는 경우 새로 생성합니다. 도움말은 [패키징 그룹 생성](pkg-group-create.md)를 참조하십시오.

1. 패키징 그룹을 생성하거나 편집합니다.

1. **액세스 제어 구성**에서 **권한 부여 활성화**를 선택합니다. 다음 필드를 작성합니다.
   + **보안 암호 역할 ARN**에 [3단계: MediaPackage에서 Secrets Manager에 액세스하도록 IAM 정책 및 역할 생성](#cdn-aut-setup-iam)에서 생성한 IAM 역할의 ARN을 입력합니다.
   + **CDN 식별자 보안 암호 ARN**에 CDN이 엔드포인트 액세스를 위한 승인에 사용하는 Secrets Manager 보안 암호의 ARN을 입력합니다.

1. 필요에 따라 나머지 필드를 완료하고 패키징 그룹을 저장합니다.

이제 CDN 인증에 대한 설정을 완료했습니다. 이 엔드포인트에 대한 요청에는 Secrets Manager에 저장한 것과 동일한 권한 부여 코드가 포함되어야 합니다.

**MediaPackage API를 사용하여 CDN 승인을 활성화하려면**  
MediaPackage API를 사용하여 CDN 승인을 활성화하는 방법에 대한 자세한 내용은 다음 API 참조를 참조하십시오.
+ [MediaPackage 라이브 API 참조](https://docs.aws.amazon.com/mediapackage/latest/apireference/resources.html)
+ [MediaPackage VOD API 참조](https://docs.aws.amazon.com/mediapackage-vod/latest/apireference/)

# CDN 헤더 값 교체
<a name="cdn-auth-rotate"></a>

CDN 사용자 지정 원본 HTTP 헤더 값을 변경하는 경우 Secrets Manager에 저장된 보안 암호 값을 교체해야 합니다. 다음 절차에서는 Secrets Manager의 값을 교체하여 CDN의 HTTP 헤더 값과 Secrets Manager에 저장된 보안 암호 값이 동기화되었는지 확인하는 방법을 설명합니다.

**값을 교체하려면**

1. *AWS Secrets Manager 사용 설명서*의 [보안 암호 수정](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html)에 설명된 대로 Secrets Manager에 저장된 보안 암호 값을 업데이트합니다.

   활성 스트림이 계속 재생되게 하기 위해 MediaPackage는 Secrets Manager의 현재 값 또는 한 버전 뒤의 값을 사용하는 요청을 승인합니다.

1. Secrets Manager에서 값이 변경되었음을 MediaPackage가 인식할 때까지 10분 동안 대기합니다.

1. CDN에서 `X-MediaPackage-CDNIdentifier`의 값을 새 인증 코드로 업데이트하십시오.

1. CDN이 새 값으로 완전히 업데이트될 때까지 기다렸다가 CDN을 통해 MediaPackage에 요청을 보냅니다.

   이전 보안 암호 값을 비활성화하려면 새 보안 암호 값을 두 번 저장합니다. 이렇게 하면 현재 및 이전 보안 암호 버전의 값이 동일해집니다.