

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 マネジメントコンソール し、 で CloudFront コンソールを開きます[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. ディストリビューションを作成または編集します。

1. [**オリジンの設定**] で、フィールドに入力します。この同じ値を、Secrets Manager のシークレットにも使用します。
   + [**ヘッダー名**] に **X-MediaPackage-CDNIdentifier** と入力します。
   + **[値]** に値を入力します。36 文字の文字列を生成する UUID バージョン 4 形式を使用することをお勧めします。UUID バージョン 4 形式を使用していない場合、値を 8～128 文字にする必要があります。

1. 残りのフィールドに入力し、ディストリビューションを保存します。

CloudFront のカスタムヘッダーの詳細については、*Amazon CloudFront デベロッパーガイド*の「[Forwarding customer headers to your origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html)」を参照してください。

## ステップ 2: 値をシークレットとして に保存する AWS Secrets Manager
<a name="cdn-aut-setup-secret"></a>

 AWS Secrets Managerの*シークレット*としてカスタムオリジンの HTTP ヘッダーに使用したものと、同じ値を保存します。シークレットは、 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. **[Secret name]** (シークレット名) には、MediaPackage で使用するシークレットであることがわかるように、**MediaPackage/** をプレフィックスすることをお勧めします。例えば、**MediaPackage/cdn\$1auth\$1us-west-2**。

1. [**次へ**] を選択します。

1. [**自動ローテーションを設定する**] は、既定の [**自動ローテーションを無効にする**] 設定のままにします。

   認可コードを後でローテーションする必要がある場合は、「[CDN ヘッダー値の更新](cdn-auth-rotate.md)」を参照してください。

1. **[Next]** (次へ) を選択してから、**[Store]** (保存) を選択します。

   これにより、シークレットのリストに移動します。

1. シークレット名を選択して、[**シークレットの ARN**] を表示します。ARN は、`arn:aws:secretsmanager:us-west-2:123456789012:secret:MediaPackage/cdn_auth_test-xxxxxx` のような値です。シークレットの ARN は、「ステップ 4: MediaPackage で CDN 認可を有効にする」で、MediaPackage のために CDN 認可を設定する際に使用します。

## ステップ 3: MediaPackage が Secrets Manager にアクセスするための IAM ポリシーとロールを作成する
<a name="cdn-aut-setup-iam"></a>

MediaPackage に Secrets Manager への読み取りアクセスを許可する IAM ポリシーとロールを作成します。MediaPackage は CDN から再生リクエストを受信すると、保存されているシークレット値がカスタム HTTP ヘッダー内の値と一致することを確認します。[AWS Elemental MediaPackage に他の AWS サービスへのアクセスを許可する](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. MediaPackage コンソール ([https://console.aws.amazon.com/mediapackage/](https://console.aws.amazon.com/mediapackage/)) を開きます。

1. チャネルがまだない場合は、チャネルを作成します。ヘルプについては、「[チャンネルの作成](channels-create.md)」を参照してください。

1. エンドポイントを作成または編集します。

1. **[アクセス制御の設定]** で、**[承認を使用する]** を選択します。フィールドに入力します。
   + **[シークレットロール ARN]** に、「[ステップ 3: MediaPackage が Secrets Manager にアクセスするための IAM ポリシーとロールを作成する](#cdn-aut-setup-iam)」で作成した IAM ロールの ARN を入力します。
   + **[CDN 識別子シークレット ARN]** に、CDN がエンドポイントへのアクセス認可に使用する Secrets Manager でのシークレットの ARN を入力します。

1. 必要に応じて残りのフィールドに入力し、エンドポイントを保存します。

**コンソールを使用して VOD コンテンツの CDN 認可を有効にするには**

1. MediaPackage コンソール ([https://console.aws.amazon.com/mediapackage/](https://console.aws.amazon.com/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/)