質問・問題
特定の EC2 インスタンスのみを起動、停止できるユーザーを作りたいです。どうすれば良いですか?
回答・解決方法
ご要望の制御は以下のアクションを許可するポリシーを IAM ユーザーにアタッチすることで実現可能です。
- ec2:StartInstances
- ec2:StopInstances
- ec2:DescribeInstances
注意点
ec2:Describe API アクションはリソースレベルのアクセス許可に対応しておりません。(参考資料[1])
ec2:Describe API アクションをご利用いただく場合は、リソースにて 「*」をご指定いただく必要がございます。
この為、「マネジメントコンソールにて、特定の EC2 インスタンスのみを表示させる」といったことが出来ません。
サンプルポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "startandstop",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:*:999999999999:instance/i-1234567890qwerty"
},
{
"Sid": "describe",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": "*"
}
]
}
【参考記事】
[1] Amazon EC2 コンソールで機能するサンプル ポリシー - Amazon Elastic Compute Cloud https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/iam-policies-ec2-console.html#ex-read-only