Amazon ECS EventBridge IAM ロール - Amazon Elastic Container Service

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

Amazon ECS EventBridge IAM ロール

EventBridge ルールとターゲットで Amazon ECS のスケジュールされたタスクを使用する前に、 EventBridge サービスにはユーザーに代わって Amazon ECS タスクを実行するためのアクセス許可が必要です。これらのアクセス権限は、 EventBridge IAM ロール (ecsEventsRole) によって付与されます。

AmazonEC2ContainerServiceEventsRole のポリシーを次に示します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:RunTask"], "Resource": ["*"] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": ["RunTask"] } } } ] }

スケジュールされたタスクでタスク実行ロール、タスクロール、またはタスクロールオーバーライドを使用する必要がある場合は、タスク実行ロール、タスクロール、またはタスクロールオーバーライドごとにアクセスiam:PassRole許可を EventBridge IAM ロールに追加する必要があります。タスクの実行ロールの詳細については、「Amazon ECS タスク実行IAM ロール」を参照してください。

注記

タスク実行ロールまたはタスクロール上書きの完全 ARN を指定します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }

スケジュールされたタスクを設定するときに、 に EventBridge ロール AWS Management Console の作成を許可できます。詳細については、「Amazon EventBridge スケジューラを使用してスケジュールで Amazon ECS タスクを実行する」を参照してください。

Amazon ECS EventBridge (ecsEventsRole) ロールの作成

すべてのユーザー入力をユーザー自身の情報に置き換えます。

  1. IAM ロールに使用する信頼ポリシーが含まれている eventbridge-trust-policy.json という名前のファイルを作成します。ファイルには次の内容が含まれます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 次のコマンドを使用して、前のステップで作成した信頼ポリシーecsEventsRoleを使用して、 という名前の IAM ロールを作成します。

    aws iam create-role \ --role-name ecsEventsRole \ --assume-role-policy-document file://eventbridge-policy.json
  3. 次のコマンド を使用してAmazonEC2ContainerServiceEventsRole、 AWS 管理の をecsEventsRoleロールにアタッチします。

    aws iam attach-role-policy \ -\-role-name ecsEventsRole \ -\-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceEventsRole

IAM コンソールのカスタム信頼ポリシーワークフロー (https://console.aws.amazon.com/iam/) を使用してロールを作成することもできます。詳細については、「IAM ユーザーガイド」の「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」を参照してください。

ecsEventsRole ロールへのポリシーのアタッチ

次の手順を使用して、タスク実行ロールのアクセス許可を EventBridge IAM ロールに追加できます。

AWS Management Console
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": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  6. [次へ] をクリックします。

    注記

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

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

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

ポリシーを作成したら、ポリシーを EventBridge ロールにアタッチします。ポリシーをロールにアタッチする方法については、「 AWS Identity and Access Management ユーザーガイド」の「ロールのアクセス許可ポリシーの変更 (コンソール)」を参照してください。

AWS CLI

すべてのユーザー入力をユーザー自身の情報に置き換えます。

  1. ev-iam-passrole.json というファイルを次の内容で作成します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  2. JSON ポリシードキュメントファイルを使用して IAM ポリシーを作成するには、次の AWS CLI コマンドを使用します。

    aws iam create-policy \ --policy-name eventsTaskExecutionPolicy \ --policy-document file://ev-iam-passrole.json
  3. 次のコマンドを使用して、作成した IAM ポリシーの ARN を取得します。

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`eventsTaskExecutionPolicy`].Arn'
  4. 次のコマンドを使用して、ポリシー ARN を使用してポリシーを EventBridge IAM ロールにアタッチします。

    aws iam attach-role-policy \ --role-name ecsEventsRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/eventsTaskExecutionPolicy