AWS Elemental MediaPackage が他の AWS サービスにアクセスすることを許可する - AWS Elemental MediaPackage

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

AWS Elemental MediaPackage が他の AWS サービスにアクセスすることを許可する

一部の機能では、MediaPackage が Amazon S3 や AWS Secrets Manager (Secrets Manager) などの他の AWS サービスにアクセスすることを許可する必要があります。このアクセスを許可するには、適切なアクセス許可を持つ IAM ロールとポリシーを作成します。次の手順では、MediaPackage の機能のロールとポリシーを作成する方法について説明します。

ステップ 1: ポリシーの作成

IAM ポリシーは、 AWS Elemental MediaPackage (MediaPackage) が他の サービスにアクセスするために必要なアクセス許可を定義します。

  • ビデオオンデマンド (VOD) ワークフローの場合、Amazon S3 バケットからの読み取り、課金方法の確認、コンテンツの取得を MediaPackage に許可するポリシーを作成します。請求方法については、MediaPackage で、バケットがリクエストに対する支払いをリクエスタに請求しないことを確認する必要があります。バケットで requestPayment が有効になっている場合、MediaPackage でそのバケットからコンテンツを取り込むことができません。

  • Live-to-VOD ワークフローの場合、Amazon S3 バケットからの読み取りおよびバケットへの Live-to-VOD アセットの保存を MediaPackage に許可するポリシーを作成します。

  • コンテンツ配信ネットワーク (CDN) 認可については、Secrets Manager のシークレットからの読み取りを MediaPackage に許可するポリシーを作成します。

次のセクションでは、これらのポリシーの作成方法について説明します。

MediaPackage を使用して Amazon S3 バケットから VOD アセットを取り込み、そのアセットをパッケージ化して配信する場合、Amazon S3 で次の操作の実行を許可するポリシーが必要です。

  • GetObject - MediaPackage でバケットから VOD アセットを取得できます。

  • GetBucketLocation - MediaPackage でバケットのリージョンを取得できます。バケットは MediaPackage VOD のリソースと同じリージョンにある必要があります。

  • GetBucketRequestPayment - MediaPackage で支払いリクエストの情報を取得できます。MediaPackage では、バケットでコンテンツリクエストの支払いをリクエスタに求めないことを確認するためにこの情報を使用します。

Live-to-VOD アセットの収集にも MediaPackage を使用する場合は、ポリシーに PutObject アクションを追加します。Live-to-VOD ワークフローに必要なポリシーの詳細については、「Live-to-VOD ワークフローのポリシー」を参照してください。

JSON ポリシーエディタでポリシーを作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. 左側のナビゲーションペインで、[ポリシー] を選択します。

    初めて [ポリシー] を選択する場合には、[管理ポリシーにようこそ] ページが表示されます。[今すぐ始める] を選択します。

  3. ページの上部で、[ポリシーを作成] を選択します。

  4. [ポリシーエディタ] セクションで、[JSON] オプションを選択します。

  5. 次の JSON ポリシードキュメントを入力します。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:GetBucketRequestPayment", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name" ], "Effect": "Allow" } ] }
  6. [次へ] をクリックします。

    注記

    いつでも [Visual][JSON] エディタオプションを切り替えることができます。ただし、[Visual] エディタで [次へ] に変更または選択した場合、IAM はポリシーを再構成して visual エディタに合わせて最適化することがあります。詳細については、「IAM ユーザーガイド」の「ポリシーの再構成」を参照してください。

  7. [確認と作成] ページで、作成するポリシーの [ポリシー名][説明] (オプション) を入力します。[このポリシーで定義されているアクセス許可] を確認して、ポリシーによって付与されたアクセス許可を確認します。

  8. [ポリシーの作成] をクリックして、新しいポリシーを保存します。

MediaPackage を使用してライブストリームから Live-to-VOD アセットを収集する場合、Amazon S3 で次の実行を許可するポリシーが必要です。

  • PutObject: MediaPackage で VOD アセットをバケットに保存できます。

  • GetBucketLocation: MediaPackage でバケットのリージョンを取得できます。バケットは MediaPackage VOD のリソースと同じ AWS リージョンにある必要があります。

VOD アセットの配信にも MediaPackage を使用する場合、ポリシーに GetObject および GetBucketRequestPayment アクションを追加します。VOD ワークフローに必要なポリシーの詳細については、「VOD ワークフローでの Amazon S3 へのアクセスに関するポリシー」を参照してください。

JSON ポリシーエディタでポリシーを作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. 左側のナビゲーションペインで、[ポリシー] を選択します。

    初めて [ポリシー] を選択する場合には、[管理ポリシーにようこそ] ページが表示されます。[今すぐ始める] を選択します。

  3. ページの上部で、[ポリシーを作成] を選択します。

  4. [ポリシーエディタ] セクションで、[JSON] オプションを選択します。

  5. 次の JSON ポリシードキュメントを入力します。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name" ], "Effect": "Allow" } ] }
  6. [次へ] をクリックします。

    注記

    いつでも [Visual][JSON] エディタオプションを切り替えることができます。ただし、[Visual] エディタで [次へ] に変更または選択した場合、IAM はポリシーを再構成して visual エディタに合わせて最適化することがあります。詳細については、「IAM ユーザーガイド」の「ポリシーの再構成」を参照してください。

  7. [確認と作成] ページで、作成するポリシーの [ポリシー名][説明] (オプション) を入力します。[このポリシーで定義されているアクセス許可] を確認して、ポリシーによって付与されたアクセス許可を確認します。

  8. [ポリシーの作成] をクリックして、新しいポリシーを保存します。

コンテンツ配信ネットワーク (CDN) 認可ヘッダーを使用して MediaPackage のエンドポイントへのアクセスを制限する場合、Secrets Manager で次の実行を許可するポリシーが必要です。

  • GetSecretValue - MediaPackage でシークレットのバージョンから暗号化された認可コードを取得できます。

  • DescribeSecret - MediaPackage で暗号化されたフィールドを除いてシークレットの詳細を取得できます。

  • ListSecrets - MediaPackage で AWS アカウント内のシークレットのリストを取得できます。

  • ListSecretVersionIds: MediaPackage で、指定したシークレットに添付されているすべてのバージョンを取得できます。

注記

Secrets Manager に保存しているシークレットごとに個別のポリシーは必要ありません。次の手順で説明するようなポリシーを作成すると、MediaPackage でこのリージョンのアカウント内のすべてのシークレットにアクセスできます。

JSON ポリシーエディタでポリシーを作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. 左側のナビゲーションペインで、[ポリシー] を選択します。

    初めて [ポリシー] を選択する場合には、[管理ポリシーにようこそ] ページが表示されます。[今すぐ始める] を選択します。

  3. ページの上部で、[ポリシーを作成] を選択します。

  4. [ポリシーエディタ] セクションで、[JSON] オプションを選択します。

  5. 次の JSON ポリシードキュメントを入力します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecrets", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:secret-name" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/role-name" } ] }
  6. [次へ] をクリックします。

    注記

    いつでも [Visual][JSON] エディタオプションを切り替えることができます。ただし、[Visual] エディタで [次へ] に変更または選択した場合、IAM はポリシーを再構成して visual エディタに合わせて最適化することがあります。詳細については、「IAM ユーザーガイド」の「ポリシーの再構成」を参照してください。

  7. [確認と作成] ページで、作成するポリシーの [ポリシー名][説明] (オプション) を入力します。[このポリシーで定義されているアクセス許可] を確認して、ポリシーによって付与されたアクセス許可を確認します。

  8. [ポリシーの作成] をクリックして、新しいポリシーを保存します。

ステップ 2: ロールの作成

IAM ロールは、特定の許可があり、アカウントで作成できるもう 1 つの IAM アイデンティティです。IAM ロールは、 AWS アイデンティティが実行できることとできないことを決定するアクセス許可ポリシーを持つアイデンティティであるという点で、IAM ユーザーと似ています AWS。ただし、ユーザーは 1 人の特定の人に一意に関連付けられますが、ロールはそれを必要とする任意の人が引き受けるようになっています。また、ロールには標準の長期認証情報 (パスワードやアクセスキーなど) も関連付けられません。代わりに、ロールを引き受けると、ロールセッション用の一時的なセキュリティ認証情報が提供されます。Amazon S3 からソースコンテンツを取り込むときに が AWS Elemental MediaPackage 引き受けるロールを作成します。

ロールを作成する際、MediaPackage は選択できないため、ロールを引き受けることができる信頼されたエンティティとして Amazon Elastic Compute Cloud (Amazon EC2) を選択します。ステップ 3: 信頼関係の変更 で、信頼されたエンティティを MediaPackage に変更します。

サービスロールの作成については、IAM ユーザーガイド「 AWS サービスにアクセス許可を委任するロールの作成」を参照してください。

ステップ 3: 信頼関係の変更

信頼関係は、ステップ 2: ロールの作成 で作成したロールをどのエンティティが引き受けることができるかを定義します。ロールを作成して信頼関係を確立する際に、信頼されたエンティティとして Amazon EC2 を選択しました。ロールを変更して、信頼関係が AWS アカウントと の間にあるようにします AWS Elemental MediaPackage。

MediaPackage に対する信頼関係を変更するには
  1. ステップ 2: ロールの作成 で作成したロールにアクセスします。

    まだロールを表示していない場合は、IAM コンソールのナビゲーションペインで [Roles] (ロール) を選択します。作成したロールを検索し、選択します。

  2. そのロールの [Summary (概要)] ページで、[Trust relationship (信頼関係)] を選択します。

  3. [Edit trust relationship (信頼関係の編集)] を選択します。

  4. [Edit Trust Relationship (信頼関係の編集)] ページの [Policy Document (ポリシードキュメント)] で、ec2.amazonaws.com.rproxy.govskope.camediapackage.amazonaws.com に変更します。

    ポリシードキュメントは次のようになります。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "mediapackage.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    オプトインリージョンで MediaPackage および関連サービスを使用している場合、リージョンはポリシードキュメントの Serviceセクションにリストされている必要があります。例えば、アジアパシフィック (メルボルン) リージョンで サービスを使用している場合、ポリシードキュメントは次のようになります。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "mediapackage.amazonaws.com","mediapackage.ap-southeast-4.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  5. 信頼ポリシーの更新 を選択します。

  6. [Summary] (概要) ページで、[Role ARN] (ロール ARN) の値をメモします。ビデオオンデマンド (VOD) ワークフローのソースコンテンツを取得するとき、この ARN を使用します。ARN は次のようになります。

    arn:aws:iam::111122223333:role/role-name

    この例では、111122223333 が AWS アカウント番号です。