IAM ロールをインスタンスにアタッチするためのアクセス権限を付与する
AWS アカウントの ID (IAM ユーザーなど) には、IAM ロールを使用して Amazon EC2 インスタンスを起動する、IAM ロールをインスタンスにアタッチする、インスタンスの IAM ロールを置き換える、またはインスタンスから IAM ロールをデタッチするための特定のアクセス権限が必要です。必要に応じて、次の API アクションを使用するためのアクセス権限を付与する必要があります。
-
iam:PassRole
-
ec2:AssociateIamInstanceProfile
-
ec2:DisassociateIamInstanceProfile
-
ec2:ReplaceIamInstanceProfileAssociation
注記
iam:PassRole
のリソースを *
として指定すると、任意の IAM ロールをインスタンスに渡すためのアクセス権が付与されます。最小特権のベストプラクティスに従うには、以下のポリシー例に示すように、iam:PassRole
を使用して特定の IAM ロールの ARN を指定します。
プログラムによるアクセス用のポリシー例
次の IAM ポリシーでは、AWS CLI または Amazon EC2 API を使用して、IAM ロールを使用してインスタンスを起動したり、IAM ロールをインスタンスにアタッチしたり、インスタンスの IAM ロールを置き換えたりするためのアクセス権限を付与します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:AssociateIamInstanceProfile", "ec2:DisassociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
123456789012
:role/DevTeam
*" } ] }
コンソールアクセスの追加要件
Amazon EC2 コンソールを使用して同じタスクを完了するためのアクセス権限を付与するには、iam:ListInstanceProfiles
API アクションも含める必要があります。