ECS Anywhere IAM ロール - Amazon Elastic Container Service

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

ECS Anywhere IAM ロール

オンプレミスサーバーまたは仮想マシン (VM) をクラスターに登録する場合、サーバーまたは VM は AWS APIs と通信するために IAM ロールを必要とします。この IAM ロールは、 AWS アカウントごとに 1 回だけ作成する必要があります。ただし、この IAM ロールは、クラスターに登録する各サーバーまたは VM に関連付ける必要があります。このロールはECSAnywhereRole。このロールを手動で作成することもできます。または、Amazon ECS は、 AWS Management Consoleに外部インスタンスを登録するときに、ユーザーに代わってロールを作成することもできます。IAM コンソール検索を使用して、 を検索ecsAnywhereRoleし、アカウントに既に ロールがあるかどうかを確認できます。詳細については、「IAM ユーザーガイド」の「IAM コンソール検索」を参照してください。

AWS には、ECS Anywhere IAM ロールの作成時に使用できる 2 つのマネージド IAM ポリシー、 AmazonSSMManagedInstanceCoreおよび AmazonEC2ContainerServiceforEC2Roleポリシーが用意されています。AmazonEC2ContainerServiceforEC2Roleポリシーには、必要以上に多くのアクセスを提供するアクセス許可が含まれています。したがって、特定のユースケースに応じて、必要なポリシーからのアクセス許可のみを追加するカスタムポリシーを作成することをお勧めします。詳細については、Amazon ECS コンテナインスタンスの IAM ロール を参照してください。

ECS Anywhere (ecsAnywhereRole) ロールの作成

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

  1. 次の信頼ポリシーssm-trust-policy.jsonを使用して、 という名前のローカルファイルを作成します。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
  2. ロールを作成し、次の AWS CLI コマンドを使用して信頼ポリシーをアタッチします。

    aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json
  3. 次のコマンドを使用して、 AWS 管理ポリシーをアタッチします。

    aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role

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

条件付き IAM アクセス許可

タスク実行 IAM ロールは、ユーザーに代わって AWS API コールを実行するアクセス許可を Amazon ECS コンテナエージェントに付与します。タスク実行 IAM ロールを使用する場合は、タスク定義で指定する必要があります。詳細については、「Amazon ECS タスク実行IAM ロール」を参照してください。

次のいずれかの条件が適用される場合は、タスクの実行ロールが必要です。

  • ログドライバーを使用してコンテナログを CloudWatch Logs awslogs に送信します。

  • タスク定義では、Amazon ECR プライベートリポジトリでホストされるコンテナイメージを指定します。ただし、ECSAnywhereRole 外部インスタンスに関連付けられている IAM ロールには、Amazon ECR からイメージを取得するために必要なアクセス権限も含まれています。この場合、タスク実行ロールにはそれらを含める必要はありません。