Elastic Transcoder に対するアクセス権限の制御 - Amazon Elastic Transcoder

でコストを節約し、より多くの機能を利用する AWS Elemental MediaConvert

MediaConvert は、包括的な高度なトランスコード機能スイートを提供する、より新しいファイルベースのビデオトランスコードサービスで、オンデマンド料金は 1 分あたり 0.0075 USD からとなります。もっと読む

既に Amazon Elastic Transcoder をご使用中ですか? への移行は簡単です MediaConvert。詳細については、移行プロセスに関する貴重な情報やその他のリソースへのリンクを記載した本概要を参照してください。

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

Elastic Transcoder に対するアクセス権限の制御

Amazon Elastic Transcoder では、 AWS Identity and Access Management (IAM) を使用して Elastic Transcoder でユーザーが実行できる操作を制御し、Elastic Transcoder が必要とする他の AWS のサービスへの Elastic Transcoder のアクセスを制御できます。アクセスの制御には、IAM ポリシーを使用します。このポリシーは、IAM ユーザー、IAM グループ、またはロールに関連付けることができるアクセス許可を集めたものです。

Elastic Transcoder に対するアクセス権限の制御

アクセス権限を認めるには、ユーザー、グループ、またはロールにアクセス許可を追加します。

Elastic Transcoder の他の AWS サービスへのアクセスを制御するには、サービスロールを作成します。それは、パイプラインを作成するときに割り当てて、Elastic Transcoder 自体にトランスコーディングにともなうタスクを実行するためのアクセス権限を与える IAM ロールです。

のロールを作成するには AWS サービス (IAM コンソール)
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. IAM コンソールのナビゲーションペインで、[ロール]、[ロールを作成] を選択します。

  3. 信頼できるエンティティタイプ で、AWS サービス を選択します。

  4. [サービスまたはユースケース] でサービスを選択し、次にユースケースを選択します。ユースケースは、サービスに必要な信頼ポリシーを含める定義になります。

  5. [次へ] をクリックします。

  6. [アクセス許可ポリシー] では、オプションは選択したユースケースによって異なります。

    • サービスがロールのアクセス許可を定義している場合、アクセス許可ポリシーを選択することはできません。

    • 制限されたアクセス許可ポリシーのセットから選択します。

    • すべてのアクセス許可ポリシーから選択します。

    • アクセス許可ポリシーを選択せずに、ロールの作成後にポリシーを作成し、そのポリシーをロールにアタッチします。

  7. (オプション) アクセス許可の境界を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

    1. [アクセス許可の境界の設定] セクションを開き、[アクセス許可の境界を使用してロールのアクセス許可の上限を設定する] を選択します。

      IAM には、アカウント内の AWS 管理ポリシーとカスタマー管理ポリシーのリストが含まれます。

    2. アクセス許可の境界として使用するポリシーを選択します。

  8. [次へ] をクリックします。

  9. [ロール名] では、オプションはサービスによって異なります。

    • サービスでロール名が定義されている場合、ロール名を編集することはできません。

    • サービスでロール名のプレフィックスが定義されている場合、オプションのサフィックスを入力できます。

    • サービスでロール名が定義されていない場合、ロールに名前を付けることができます。

      重要

      ロールに名前を付けるときは、次のことに注意してください。

      • ロール名は 内で一意である必要があり AWS アカウント、大文字と小文字を区別することはできません。

        例えば、PRODROLEprodrole の両方の名前でロールを作成することはできません。ロール名がポリシーまたは ARN の一部として使用される場合、ロール名は大文字と小文字が区別されます。ただし、サインインプロセスなど、コンソールにロール名がユーザーに表示される場合、ロール名は大文字と小文字が区別されません。

      • 他のエンティティがロールを参照する可能性があるため、ロールを作成した後にロール名を編集することはできません。

  10. (オプション) [説明] にロールの説明を入力します。

  11. (オプション) ロールのユースケースとアクセス許可を編集するには、[ステップ 1: 信頼されたエンティティを選択] または [ステップ 2: アクセス権限を追加] のセクションで [編集] を選択します。

  12. (オプション) ロールの識別、整理、検索を簡単にするには、キーと値のペアとしてタグを追加します。IAM でのタグの使用に関する詳細については、『IAM ユーザーガイド』の「IAM リソースにタグを付ける」を参照してください。

  13. ロールを確認したら、[Create role] (ロールを作成) を選択します。

ユーザーロールとサービスロールがトランスコーディングプロセスでいずれも重要であることを示す例として、Elastic Transcoder では Amazon S3 バケットからファイルを取得するためにサービスロールが必要になり、そのトランスコードしたファイルを別の Amazon S3 バケットに保存したとき、一方で、ユーザーは Elastic Transcoder によるジョブの作成を許可する IAM ロールが必要な場合があります。

IAM の詳細については、『IAM ユーザーガイド』を参照してください。サービスロールの詳細については、「AWS サービスのロールの作成」を参照してください。

Elastic Transcoder のポリシーの例

ユーザーが、パイプラインの作成やジョブの実行など、Elastic Transcoder の管理機能を実行するためには、そのユーザーに関連付けることができるポリシーが必要です。このセクションでは、ポリシーの作成方法と、Elastic Transcoder のオペレーションと Elastic Transcoder が依存する関連サービスのオペレーションへのアクセス権限を制御するための 3 つのポリシーを示します。 AWS アカウントのユーザーに、すべての Elastic Transcoder オペレーションへのアクセス権を付与することも、そのサブセットのみへのアクセス権を付与することもできます。

IAM ユーザーポリシーの管理の詳細については、『IAM ユーザーガイド』の「IAM ポリシーの管理」を参照してください。

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

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

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

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

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

  5. JSON ポリシードキュメントを入力するか貼り付けます。IAM ポリシー言語の詳細については、 「IAM JSON ポリシーリファレンス」を参照してください。

  6. ポリシーの検証中に生成されたセキュリティ警告、エラー、または一般的な警告を解決してから、[Next] (次へ) を選択します。

    注記

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

  7. (オプション) でポリシーを作成または編集するときに AWS Management Console、テンプレートで使用できる JSON または YAML ポリシー AWS CloudFormation テンプレートを生成できます。

    これを行うには、ポリシーエディタアクション を選択し、テンプレートの生成 CloudFormation を選択します。の詳細については AWS CloudFormation、「 ユーザーガイド」の「 AWS Identity and Access Management リソースタイプのリファレンスAWS CloudFormation 」を参照してください。

  8. ポリシーにアクセス権限を追加し終えたら、[次へ] を選択します。

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

  10. (オプション) タグをキー - 値のペアとしてアタッチして、メタデータをポリシーに追加します。IAM でのタグの使用に関する詳細については、『IAM ユーザーガイド』の「IAM リソースにタグを付ける」を参照してください。

  11. [Create Policy (ポリシーを作成)] をクリックして、新しいポリシーを保存します。

Elastic Transcoder と Amazon S3 への読み取り専用アクセス権限を与える

次のポリシーでは、Elastic Transcoder リソースに対する読み取り専用のアクセス権限と Amazon S3 のリストオペレーションのアクセス権限を与えます。このポリシーは、トランスコードされたファイルの検索や表示のためのアクセス権限や、IAM アカウントで利用できるバケットを表示するアクセス権限のみが必要で、リソースやファイルの更新、作成、削除権限は不要なユーザーに適しています。また、このポリシーでは、IAM アカウントで利用できるすべてのパイプライン、プリセット、ジョブのリストが可能です。特定のバケットへのアクセス権限を制限するには、「VPC 内のリソースへのアクセス権限を制限する」を参照してください。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastictranscoder:Read*", "elastictranscoder:List*", "s3:List*" ], "Resource": "*" } ] }

ジョブの作成アクセス権限を与える

次のポリシーでは、アカウントに関連付けられたすべての Elastic Transcoder リソースのリストと取得、ジョブやプリセットの作成や変更、Amazon S3 と Amazon SNS のリストオペレーション使用のためのアクセス権限を与えます。

このポリシーは、トランスコーディング設定の変更や、プリセットやジョブの作成や削除に適しています。このポリシーでは、パイプライン、Amazon S3 バケット、Amazon SNS 通知の作成、更新、または削除はできません。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastictranscoder:Read*", "elastictranscoder:List*", "elastictranscoder:*Job", "elastictranscoder:*Preset", "s3:List*", "sns:List*" ], "Resource": "*" } ] }

制御可能なアクセス権限による Elastic Transcoder オペレーション

すべての Elastic Transcoder オペレーションのリストを次に示します。

elastictranscoder:CancelJob elastictranscoder:CreateJob elastictranscoder:CreatePipeline elastictranscoder:CreatePreset elastictranscoder:DeletePipeline elastictranscoder:DeletePreset elastictranscoder:ListJobsByPipeline elastictranscoder:ListJobsByStatus elastictranscoder:ListPipelines elastictranscoder:ListPresets elastictranscoder:ReadJob elastictranscoder:ReadPipeline elastictranscoder:ReadPreset elastictranscoder:TestRole elastictranscoder:UpdatePipeline elastictranscoder:UpdatePipelineNotifications elastictranscoder:UpdatePipelineStatus

VPC 内のリソースへのアクセス権限を制限する

オペレーション(アクション)へのアクセスの制限に加えて、特定のジョブ、パイプライン、プリセットへのアクセス権限を制限できます。これは、リソースレベルのアクセス権限の付与と呼ばれます。

Elastic Transcoder リソースのサブセットへのアクセス権限を制限または許可するには、ポリシーのリソース要素にリソースの ARN を記述します。Elastic Transcoder の ARN の一般的な形式は次のようになります。

arn:aws:elastictranscoder:region:account:resource/ID

リージョンアカウントリソースID の各変数を有効な値に置き換えます。有効な値は次のとおりです。

  • region: リージョンの名前。リージョンのリストについては、こちらを参照してください。すべてのリージョンを含めるには、ワイルドカード (*) を使用します。値を指定する必要があります。

  • アカウント : AWS アカウントの ID。値を指定する必要があります。

  • リソース: Elastic Transcoder リソースのタイプ (presetpipeline、または job)。

  • ID : 特定のプリセット、パイプライン、またはジョブの ID、または現在の AWS アカウントに関連付けられている指定されたタイプのすべてのリソースを示す *。

たとえば、次の ARN は、アカウント 111122223333us-east-2 リージョンにあるすべてのプリセットリソースを指定します。

arn:aws:elastictranscoder:us-east-2:111122223333:preset/*

リソースの ARN を検索するには、拡大鏡のアイコン ( ) をクリックします。このアイコンは、パイプライン、プリセット、またはジョブのコンソールページのリソース名の横にあります。

詳細については、『IAM ユーザーガイド』の「リソース」を参照してください。

リソースを制限するポリシーの例

次のポリシーは、Amazon S3 の DOC-EXAMPLE-BUCKET という名前のバケットへのアクセス権限、Elastic Transcoder 内のすべてに対するリストと読み取りのアクセス権限、および example_pipeline という名前のパイプラインでジョブを作成するための認可を付与します。

このポリシーは、利用な可能なファイルやリソースを確認し、それらのリソースを使用して独自のトランスコーディングジョブを作成する必要がある SDK および CLI ユーザーに適しています。このポリシーは、リソースの更新や削除、ジョブ以外のリソースを作成、またはここで指定されているもの以外のリソースの操作は許可されません。また、コンソールユーザーには適用されません。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"1", "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid":"2", "Effect":"Allow", "Action":[ "elastictranscoder:List*", "elastictranscoder:Read*", "elastictranscoder:CreateJob" ], "Resource":[ "arn:aws:elastictranscoder:region:account:pipeline/example_pipeline", "arn:aws:elastictranscoder:region:account:job/*" ] } ] }

Elastic Transcoder パイプラインのサービスロール

トランスコーディングジョブを管理するパイプラインを作成する場合、IAM サービスロールを指定する必要があります。IAM サービスロールには、トランスコーディング用のパイプラインで使用されるアクセス権限を指定するポリシーがあります。

パイプラインのロールを指定するときは、以下の 2 つのオプションがあります。

  • デフォルトのロールを使用します。これには、Elastic Transcoder でのトランスコーディングに必要なアクセス権限のみが含まれます。Elastic Transcoder コンソールを使用してパイプラインを作成する場合は、最初のパイプラインを作成するときにデフォルトのロールが自動的に作成されるように選択できます。デフォルトのロールを含め、IAM サービスロールを作成するには、管理権限が必要です。

  • 既存のロールを選択します。この場合、IAM であらかじめロールを作成し、ファイルをトランスコードするための十分なアクセス許可を Elastic Transcoder に付与するポリシーをそのロールに添付しておく必要があります。このロールは他の AWS サービスに使用する場合にも便利です。

パイプラインのデフォルトの IAM ロール

Elastic Transcoder によって作成されたデフォルトのロールで、これにより Elastic Transcoder で次のオペレーションが実行されます。

  • トランスコーディング用に Amazon S3 バケットからファイルを取得する。

  • 任意の Amazon S3 バケットの内容を一覧表示する。

  • トランスコードしたファイルを Amazon S3 バケットに保存する。

  • Amazon S3 マルチパートアップロードを作成する。

  • 任意の SNS トピックに通知を発行する。

このポリシーにより、Elastic Transcoder では以下のいずれかのオペレーションの実行が禁止されます。

  • Amazon SNS の削除オペレーションを実行するか、トピックのポリシーステートメントを追加または削除します。

  • Amazon S3 バケットまたは項目の削除オペレーションを実行するか、バケットポリシーの追加、削除、または変更します。

デフォルトのロールのアクセス (アクセス権限) ポリシーの定義は、次のようになります。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"1", "Effect":"Allow", "Action":[ "s3:Get*", "s3:ListBucket", "s3:Put*", "s3:*MultipartUpload*" ], "Resource":"*" }, { "Sid":"2", "Effect":"Allow", "Action":"sns:Publish", "Resource":"*" }, { "Sid":"3", "Effect":"Deny", "Action":[ "sns:*Permission*", "sns:*Delete*", "sns:*Remove*", "s3:*Policy*", "s3:*Delete*" ], "Resource":"*" } ] }

Elastic Transcoder サービスにリンクされたロールに関してサポートされているリージョン

Elastic Transcoder では、サービスにリンクされたロールの以下のリージョンにおける使用がサポートされています。

リージョン名 リージョンアイデンティティ Elastic Transcoder におけるサポート
米国東部 (バージニア北部) us-east-1 はい
米国東部 (オハイオ) us-east-2 いいえ
米国西部(北カリフォルニア) us-west-1 はい
米国西部 (オレゴン) us-west-2 はい
アジアパシフィック (ムンバイ) ap-south-1 はい
アジアパシフィック (大阪) ap-northeast-3 いいえ
アジアパシフィック (ソウル) ap-northeast-2 いいえ
アジアパシフィック (シンガポール) ap-southeast-1 はい
アジアパシフィック (シドニー) ap-southeast-2 はい
アジアパシフィック (東京) ap-northeast-1 はい
カナダ (中部) ca-central-1 いいえ
欧州 (フランクフルト) eu-central-1 いいえ
欧州 (アイルランド) eu-west-1 はい
欧州 (ロンドン) eu-west-2 いいえ
欧州 (パリ) eu-west-3 いいえ
南米(サンパウロ) sa-east-1 いいえ