AWS Identity and Access Management (IAM) ユーザー/グループ/ロールのアクセスを、同じアカウントの特定の Amazon Elastic Compute Cloud (Amazon EC2) リソースに制限したいと考えています。これを行うにはどうすればよいですか?
解決方法
Amazon EC2 は、リソースレベルのアクセス権限または条件を部分的にサポートしています。つまり、特定の Amazon EC2 アクションでは、満たす必要のある条件、またはユーザーが使用できる特定のリソースに基づいて、ユーザーがそれらのアクションをいつ使用できるかを制御できます。
IAM ユーザーまたはユーザーグループの Amazon EC2 リソースへのアクセスを AWS リージョン以外の基準で分離することは、ほとんどのユースケースに適していません。同じアカウントにあるリソースをリージョンまたは条件別に分離する必要がある場合は、まずリソースレベルの許可と条件をサポートする Amazon EC2 アクションのリストをチェックして、ユースケースがこのソリューションをサポートすることを確認してください。
以下は、IAM ID (ユーザー/グループ/ロール) のアクセスをバージニア北部 (us-east-1) リージョンの EC2 インスタンスの起動/停止/再起動のみに制限するために使用できるポリシーの例です。インスタンスには、「Owner」のタグキーと「Bob」のタグ値が必要です。「ec2:Describe*」がポリシーに追加され、AWS マネジメント EC2 コンソール内の EC2 インスタンスとすべての関連リソースを記述する許可を付与します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Resource": [
"arn:aws:ec2:us-east-1:111122223333:instance/*"
],
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Owner": "Bob"
}
}
}
]
}
注意:「Owner」、「Bob」、およびリソース ARN は、お使いの環境のパラメータに置き換えてください。
ポリシーを作成したら、IAM ユーザー、グループ、またはロールのいずれかにアタッチできます
タグ付けのユースケースとベストプラクティスについては、「ベストプラクティス」を参照してください。
関連情報
Amazon EC2 の IAM ポリシー
Amazon EC2 の Identity and Access Management
Amazon EC2 API Actions
Amazon リソースネーム (ARN)