1
/
5

特定タグのついたEC2/RDSインスタンスだけ操作を禁止したい

プロフェッショナルサービス課の杉村です。

いざやろうとすると、やり方を忘れてしまっていることってよくあります。

今回はそんな物事の中のひとつをご紹介します。

特定のタグがついている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) も奪ってしまえば、誤操作だけでなく悪意をもった操作も防げるため、なお安全です。

株式会社サーバーワークスでは一緒に働く仲間を募集しています
同じタグの記事
今週のランキング