CDN 認可の設定 - AWS Elemental MediaPackage

CDN 認可の設定

CDN 認可を設定するには、次のステップを完了します。

ステップ 1: CDN カスタムオリジン HTTP ヘッダーを設定する

CDN で、ヘッダー X-MediaPackage-CDNIdentifier と値を含むカスタムオリジン HTTP ヘッダーを設定します。値には、36 文字の文字列を生成する UUID バージョン 4 形式を使用することをお勧めします。UUID バージョン 4 形式を使用していない場合、値を 8~128 文字にする必要があります。

CDN に認証ヘッダーが設定されている場合、MediaPackage は、エンドポイントで CDN 認証が有効になるまでエラー 404 を返します。

重要

選択する値は静的な値である必要があります。CDN と AWS Secrets Manager の間にはネイティブ統合がないので、値は CDN と AWS Secrets Manager の両方で静的にする必要があります。CDN とシークレットを設定した後、この値を変更する場合は、手動で値を更新する必要があります。詳細については、「CDN ヘッダー値の更新」を参照してください。

ヘッダーと値の例

X-MediaPackage-CDNIdentifier: 9ceebbe7-9607-4552-8764-876e47032660
Amazon CloudFront でカスタムヘッダーを作成するには
  1. AWS Management Consoleにサインインし、https://console.aws.amazon.com/cloudfront/v4/home で CloudFront コンソールを開きます。

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

  3. [オリジンの設定] で、フィールドに入力します。この同じ値を、Secrets Manager のシークレットにも使用します。

    • [ヘッダー名] に X-MediaPackage-CDNIdentifier と入力します。

    • [値] に値を入力します。36 文字の文字列を生成する UUID バージョン 4 形式を使用することをお勧めします。UUID バージョン 4 形式を使用していない場合、値を 8~128 文字にする必要があります。

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

CloudFront のカスタムヘッダーの詳細については、Amazon CloudFront デベロッパーガイドの「Forwarding customer headers to your origin」を参照してください。

ステップ 2: 値をシークレットとして AWS Secrets Manager に保存します。

AWS Secrets Manager のシークレットとしてカスタムオリジンの HTTP ヘッダーに使用したものと、同じ値を保存します。このシークレットでは、AWS Elemental MediaPackage のリソースと同じ、AWS アカウントとリージョンの設定を使用する必要があります。MediaPackage は、アカウントまたはリージョン間でのシークレットの共有をサポートしていません。ただし、同じリージョン内および同じアカウントの複数のエンドポイントで同じシークレットを使用することはできます。

Secrets Manager にシークレットを保存するには
  1. 次の場所で AWS Secrets Manager コンソールにサインインします: https://console.aws.amazon.com/secretsmanager/

  2. [新しいシークレットを保存] を選択します。[シークレットのタイプ] で、[その他のシークレットのタイプ] を選択します。

  3. [キー/値のペア] に、キーと値の情報を入力します。

    • 左側のボックスに MediaPackageCDNIdentifier を入力します。

    • 右側のボックスに、カスタムオリジン HTTP ヘッダーに設定した値を入力します。例えば、9ceebbe7-9607-4552-8764-876e47032660 と指定します。

  4. [暗号化キー] は、デフォルト値の [DefaultEncryptionKey] のままにしておくことができます。

  5. [Next] を選択します。

  6. [Secret name] (シークレット名) には、MediaPackage で使用するシークレットであることがわかるように、MediaPackage/ をプレフィックスすることをお勧めします。例えば、MediaPackage/cdn_auth_us-west-2 と指定します。

  7. [Next] を選択します。

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

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

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

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

  10. シークレット名を選択して、[シークレットの 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 認可を有効にするには
  1. MediaPackage コンソール (https://console.aws.amazon.com/mediapackage/) を開きます。

  2. チャネルがまだない場合は、チャネルを作成します。ヘルプについては、「チャンネルの作成」を参照してください。

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

  4. [アクセス制御の設定] で、[承認を使用する] を選択します。フィールドに入力します。

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

コンソールを使用して VOD コンテンツの CDN 認可を有効にするには
  1. MediaPackage コンソール (https://console.aws.amazon.com/mediapackage/) を開きます。

  2. VOD パッケージンググループをまだ作成していない場合は、作成します。ヘルプについては、「パッケージグループの作成」を参照してください。

  3. パッケージンググループを作成または編集します。

  4. [アクセスコントロールを設定] で、[認証を有効にする] を選択します。フィールドに入力します。

  5. 必要に応じて残りのフィールドに入力し、パッケージンググループを保存します。

これで、CDN 認可のセットアップが完了しました。このエンドポイントへのリクエストには、Secrets Manager に保存したものと同じ認可コードが含まれている必要があります。

MediaPackage API を使用して CDN 認可を有効にするには

MediaPackage API を使用して CDN 認可を有効にする方法については、以下の API リファレンスを参照してください。