CDN 認可の設定
CDN 認可を設定するには、次のステップを完了します。
トピック
ステップ 1: CDN カスタムオリジン HTTP ヘッダーを設定する
CDN で、ヘッダー X-MediaPackage-CDNIdentifier
と値を含むカスタムオリジン HTTP ヘッダーを設定します。値には、36 文字の文字列を生成する UUID バージョン 4
CDN に認証ヘッダーが設定されている場合、MediaPackage は、エンドポイントで CDN 認証が有効になるまでエラー 404 を返します。
重要
選択する値は静的な値である必要があります。CDN と AWS Secrets Manager の間にはネイティブ統合がないので、値は CDN と AWS Secrets Manager の両方で静的にする必要があります。CDN とシークレットを設定した後、この値を変更する場合は、手動で値を更新する必要があります。詳細については、「CDN ヘッダー値の更新」を参照してください。
ヘッダーと値の例
X-MediaPackage-CDNIdentifier:
9ceebbe7-9607-4552-8764-876e47032660
Amazon CloudFront でカスタムヘッダーを作成するには
AWS Management Consoleにサインインし、https://console.aws.amazon.com/cloudfront/v4/home
で CloudFront コンソールを開きます。 -
ディストリビューションを作成または編集します。
-
[オリジンの設定] で、フィールドに入力します。この同じ値を、Secrets Manager のシークレットにも使用します。
-
[ヘッダー名] に
X-MediaPackage-CDNIdentifier
と入力します。 -
[値] に値を入力します。36 文字の文字列を生成する UUID バージョン 4 形式を使用することをお勧めします。UUID バージョン 4 形式を使用していない場合、値を 8~128 文字にする必要があります。
-
-
残りのフィールドに入力し、ディストリビューションを保存します。
CloudFront のカスタムヘッダーの詳細については、Amazon CloudFront デベロッパーガイドの「Forwarding customer headers to your origin」を参照してください。
ステップ 2: 値をシークレットとして AWS Secrets Manager に保存します。
AWS Secrets Manager のシークレットとしてカスタムオリジンの HTTP ヘッダーに使用したものと、同じ値を保存します。このシークレットでは、AWS Elemental MediaPackage のリソースと同じ、AWS アカウントとリージョンの設定を使用する必要があります。MediaPackage は、アカウントまたはリージョン間でのシークレットの共有をサポートしていません。ただし、同じリージョン内および同じアカウントの複数のエンドポイントで同じシークレットを使用することはできます。
Secrets Manager にシークレットを保存するには
-
次の場所で AWS Secrets Manager コンソールにサインインします: https://console.aws.amazon.com/secretsmanager/
。 -
[新しいシークレットを保存] を選択します。[シークレットのタイプ] で、[その他のシークレットのタイプ] を選択します。
-
[キー/値のペア] に、キーと値の情報を入力します。
-
左側のボックスに
MediaPackageCDNIdentifier
を入力します。 -
右側のボックスに、カスタムオリジン HTTP ヘッダーに設定した値を入力します。例えば、
9ceebbe7-9607-4552-8764-876e47032660
と指定します。
-
-
[暗号化キー] は、デフォルト値の [DefaultEncryptionKey] のままにしておくことができます。
-
[Next] を選択します。
-
[Secret name] (シークレット名) には、MediaPackage で使用するシークレットであることがわかるように、
MediaPackage/
をプレフィックスすることをお勧めします。例えば、MediaPackage/cdn_auth_us-west-2
と指定します。 -
[Next] を選択します。
-
[自動ローテーションを設定する] は、既定の [自動ローテーションを無効にする] 設定のままにします。
認可コードを後でローテーションする必要がある場合は、「CDN ヘッダー値の更新」を参照してください。
-
[Next] (次へ) を選択してから、[Store] (保存) を選択します。
これにより、シークレットのリストに移動します。
-
シークレット名を選択して、[シークレットの 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 ポリシーとロールを作成する
MediaPackage に Secrets Manager への読み取りアクセスを許可する IAM ポリシーとロールを作成します。MediaPackage は CDN から再生リクエストを受信すると、保存されているシークレット値がカスタム HTTP ヘッダー内の値と一致することを確認します。他の AWS サービスへのアクセスを AWS Elemental MediaPackage に許可する のステップに従って、ポリシーとロールを設定します。
ステップ 4: MediaPackage で CDN 認可を有効にする
MediaPackage コンソール、AWS CLI、MediaPackage API を使用して、エンドポイントまたはビデオオンデマンド (VOD) パッケージグループ用の CDN 認可を有効にできます。「ステップ 3: MediaPackage が Secrets Manager にアクセスするための IAM ポリシーとロールを作成する」で作成した IAM ポリシーとロールの ARN を使用します。
ヒント
同じリージョン内および同じアカウントの複数のエンドポイントでは、同じシークレットを使用します。ワークフローに必要な場合にのみ、新しいシークレットを作成することで、コストを削減します。
CDN に認証ヘッダーが設定されている場合、MediaPackage は、エンドポイントで CDN 認証が有効になるまでエラー 404 を返します。
コンソールを使用してライブコンテンツの CDN 認可を有効にするには
MediaPackage コンソール (https://console.aws.amazon.com/mediapackage/
) を開きます。 -
チャネルがまだない場合は、チャネルを作成します。ヘルプについては、「チャンネルの作成」を参照してください。
-
エンドポイントを作成または編集します。
-
[アクセス制御の設定] で、[承認を使用する] を選択します。フィールドに入力します。
-
[シークレットロール ARN] に、「ステップ 3: MediaPackage が Secrets Manager にアクセスするための IAM ポリシーとロールを作成する」で作成した IAM ロールの ARN を入力します。
-
[CDN 識別子シークレット ARN] に、CDN がエンドポイントへのアクセス認可に使用する Secrets Manager でのシークレットの ARN を入力します。
-
-
必要に応じて残りのフィールドに入力し、エンドポイントを保存します。
コンソールを使用して VOD コンテンツの CDN 認可を有効にするには
MediaPackage コンソール (https://console.aws.amazon.com/mediapackage/
) を開きます。 -
VOD パッケージンググループをまだ作成していない場合は、作成します。ヘルプについては、「パッケージグループの作成」を参照してください。
-
パッケージンググループを作成または編集します。
-
[アクセスコントロールを設定] で、[認証を有効にする] を選択します。フィールドに入力します。
-
[シークレットロール ARN] に、「ステップ 3: MediaPackage が Secrets Manager にアクセスするための IAM ポリシーとロールを作成する」で作成した IAM ロールの ARN を入力します。
-
[CDN 識別子シークレット ARN] に、CDN がエンドポイントへのアクセス認可に使用する Secrets Manager でのシークレットの ARN を入力します。
-
-
必要に応じて残りのフィールドに入力し、パッケージンググループを保存します。
これで、CDN 認可のセットアップが完了しました。このエンドポイントへのリクエストには、Secrets Manager に保存したものと同じ認可コードが含まれている必要があります。
MediaPackage API を使用して CDN 認可を有効にするには
MediaPackage API を使用して CDN 認可を有効にする方法については、以下の API リファレンスを参照してください。