プロフェッショナルサービス課の杉村です。
いざやろうとすると、やり方を忘れてしまっていることってよくあります。
今回はそんな物事の中のひとつをご紹介します。
特定のタグがついているEC2・RDSの操作を制限するIAMポリシー
以下の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) も奪ってしまえば、誤操作だけでなく悪意をもった操作も防げるため、なお安全です。
杉村 勇馬 (記事一覧)
サーバーワークス → 株式会社G-gen 執行役員CTO
2021 Japan APN Ambassadors / 2021 APN All AWS Certifications Engineers
マルチAWSアカウント管理運用やネットワーク関係のAWSサービスに関するブログ記事を過去に執筆。
2021年09月から株式会社G-genに出向、Google Cloud(GCP)が専門に。G-genでもGoogle Cloud (GCP) の技術ブログを執筆中。