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