CloudFormation を使用する Amazon ECS コンソールに必要なアクセス許可 - Amazon Elastic Container Service

CloudFormation を使用する Amazon ECS コンソールに必要なアクセス許可

AWS マネジメントコンソール を使用してリソースを作成する前に、適切な IAM アクセス許可を持っていることを確認する必要があります。最初に Amazon ECS コンソールのアクセス許可を設定する方法については、「Amazon ECS コンソールに必要なアクセス許可」を参照してください。

Amazon ECS コンソールは AWS CloudFormation を利用しているため、以下の場合には追加の IAM アクセス許可が必要になります。

  • クラスターの作成

  • サービスの作成

  • キャパシティープロバイダーの作成

追加のアクセス許可のポリシーを作成して、コンソールへのアクセスに使用する IAM ロールにアタッチできます。詳細についてはIAM ユーザーガイド の「IAM ポリシーの作成」を参照してください。

クラスターを作成するために必要なアクセス許可

コンソールでクラスターを作成するときには、CloudFormation スタックを管理するための追加のアクセス許可が必要です。

以下に示す追加のアクセス許可が必要です。

  • cloudformation — プリンシパルの作成と管理を許可する CloudFormation スタック。これは、AWS マネジメントコンソール を使用して Amazon ECS クラスターを作成し、それらのクラスターのその後の管理に必要です。

  • ssm – CloudFormation が最新の Amazon ECS 最適化 AMI を参照できるようにします。これは、AWS マネジメントコンソール を使用して Amazon ECS クラスターを作成するときに必要です。

次のポリシーには必要な CloudFormation アクセス許可が含まれており、アクションは Amazon ECS コンソールで作成されたリソースに限定されます。

{ "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack" ], "Resource": [ "arn:*:cloudformation:*:*:stack/Infra-ECS-Cluster-*" ] }, { "Effect": "Allow", "Action": "ssm:GetParameters", "Resource": [ "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2*/*", "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2023*/*" ] } ] }

Amazon ECS コンテナインスタンスロール (ecsInstanceRole) をまだ作成していない状態で Amazon EC2 インスタンスを使用するクラスターを作成する場合は、コンソールがユーザーに代わってロールを作成します。

さらに、Auto Scaling グループを使用する場合は、クラスターの自動スケーリング機能を使用する際にコンソールが Auto Scaling グループにタグを追加できるようにするための追加のアクセス許可が必要です。

以下に示す追加のアクセス許可が必要です。

  • autoscaling — コンソールが Amazon EC2 Auto Scaling グループにタグ付けできるようにします。これは、クラスターのオートスケーリング機能を使用する場合、Amazon EC2 Auto Scaling グループを管理する場合に必要です。このタグは、ECS によって管理され、コンソールで作成されたことを示すためにコンソールによって自動的にグループに追加されます。

  • iam — プリンシパルに IAM ロールとアタッチされたポリシーの一覧表示を許可します。プリンシパルは、Amazon EC2 インスタンスで利用できるインスタンスプロファイルを一覧表示することもできます。

次のポリシーには必要な IAM アクセス許可が含まれており、アクションは ecsInstanceRole ロールに限定されます。

自動スケーリング許可は制限されません。

{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:ListInstanceProfilesForRole", "iam:GetRole" ], "Resource": "arn:aws:iam::*:role/ecsInstanceRole" }, { "Effect": "Allow", "Action": "autoscaling:CreateOrUpdateTags", "Resource": "*" } ] }

サービスを作成するために必要なアクセス許可

コンソールでサービスを作成するときには、CloudFormation スタックを管理するための追加のアクセス許可が必要です。以下に示す追加のアクセス許可が必要です。

  • cloudformation — プリンシパルの作成と管理を許可する CloudFormation スタック。これは、AWS マネジメントコンソール を使用して Amazon ECS サービスを作成する際に、またその後それらのサービスを管理する際に必要です。

次のポリシーには必要なアクセス許可が含まれており、アクションは Amazon ECS コンソールで作成されたリソースに限定されます。

{ "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack" ], "Resource": [ "arn:*:cloudformation:*:*:stack/ECS-Console-V2-Service-*" ] } ] }