LoginSignup
7
3

More than 5 years have passed since last update.

AWS 特定操作可能なIAMユーザのポリシー定義

Posted at

AWSでIAMユーザを作成後、特定操作のみさせたいといった権限要件がよくあります。
例えば、
・EC2インスタンス画面のみ表示可能であること。
・特定EC2インスタンスのみ”開始”・”停止”・”再起動”操作が可能であること。
・RDSインスタンス画面のみ表示可能であること。
・特定RDSインスタンスのみ”開始”・”停止”・”再起動”操作が可能であること。
※2017年6月からRDSも開始、停止が可能になったそうです。
http://dev.classmethod.jp/cloud/aws/start-stop-db-instance-for-rds/

実現方法として、インラインポリシー設定で次のコードを記述します。
※すでにIAMユーザは作成されているとする
参考:Amazon RDS でアイデンティティベースのポリシー (IAM ポリシー) を使用する

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid":"AllowDisplayInstancesList",
            "Effect": "Allow"
            "Action": [
                "rds:DescribeDBInstances",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Resource": [
                "*"
            ],
        },
        {
            "Sid":"Allow test EC2 InstancesStartAndSotp",
            "Effect": "Allow",
            "Action": [
                "ec2:RebootInstances",
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/project": "test"
                }
            },
            "Resource": [
                "*"
            ]
        },
        {
            "Sid":"AllowMySqlInstancesStartAndSotp",
            "Effect": "Allow",
            "Action": [
                "rds:StartDBInstance",
                "rds:StopDBInstance",
                "rds:RebootDBInstance"
            ],
            "Condition": {
                "StringEquals": {
                    "rds:DatabaseEngine":"mysql",
                    "rds:DatabaseClass":"db.t2.micro"
                }
            },
            "Resource": [
                "*"
            ]
        }
    ]
}

インスタンスの表示と制御(開始、停止)は別々のActionで記載する必要があります。
かつActionがDescribe*の場合、Conditionが効かないので要注意。

RDSはつい最近開始、停止を制御できたので、
Policy Generatorでポリシーを作成する際に、「アクセス許可の編集」ページで、
アクションの選択に、StartDBInstance、StopDBInstanceがなく、直接編集で入力しかないです。

サマリ表示のところも注意マークがついています。
iampolicy1.jpg
展開しますと
iampolicy2.jpg

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3