IAM (Identity and Access Management)
Important
PowerUser つけるとインフラやりやすい
特定のタグがついている EC2/RDS の操作を制限する IAM ポリシー
タグキー:Target、値=Production というタグがついている EC2 や RDS の削除・停止・再起動を禁止するポリシー
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:TerminateInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Target": "Production" } } }, { "Effect": "Deny", "Action": [ "rds:DeleteDBInstance", "rds:StopDBInstance", "rds:RebootDBInstance" ], "Resource": "*", "Condition": { "StringEquals": { "rds:db-tag/Target": "Production" } } } ] }
- このポリシーを IAM User/Group に追加すれば、たとえ AmazonEC2FullAccess がアタッチされている IAM ユーザでも、間違って本番用インスタンスを停止するようなことがない
- 上記に加えて EC2 のタグを編集する権限 (ec2:CreateTags, ec2:DeleteTags) も奪ってしまえば、誤操作だけでなく悪意をもった操作も防げるため、なお安全