株式会社サーバーワークス's job postings
- ソリューションアーキテクト
- プロジェクトマネージャー
- テクニカルオペレーション
- Other occupations (4)
- Development
- Business
- Other
プロフェッショナルサービス課の杉村です。
いざやろうとすると、やり方を忘れてしまっていることってよくあります。
今回はそんな物事の中のひとつをご紹介します。
以下の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) も奪ってしまえば、誤操作だけでなく悪意をもった操作も防げるため、なお安全です。