要望
A という IAM ユーザーに特定のインスタンスのみ「起動」と「停止」と「再起動」を出来る権限を付与したい。
一例
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:*", "ec2:Describe*" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Effect": "Allow", "Resource": "arn:aws:ec2:ap-northeast-1::instance/${操作したいインスタンス ID}" } ] }
他にもあるのかしら。
登録例
# # Policy ドキュメントの作成 # cat << EOT >> policy.json { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:*", "ec2:Describe*" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Effect": "Allow", "Resource": "arn:aws:ec2:ap-northeast-1::instance/${操作したいインスタンス ID}" } ] } EOT # # Managed Policy にポリシーを登録する # _AWS_PROFILE=washino-profile _POLICY_ARN=$(aws --profile ${_AWS_PROFILE} iam create-policy --policy-name Ec2OpePolicy --policy-document file://policy.json --query Policy.Arn --output text) echo ${_POLICY_ARN} # # A ユーザーにポリシーを適用する # _USER_NAME=user_a aws --profile ${_AWS_PROFILE} iam attach-user-policy --policy-arn ${_POLICY_ARN} --user-name ${_USER_NAME} aws --profile ${_AWS_PROFILE} iam list-user-policies --user-name ${_USER_NAME} aws --profile ${_AWS_PROFILE} iam get-user-policy --user-name ${_USER_NAME} --policy-name Ec2OpePolicy
以上
メモでした。