AWSパートナー 電話番号 電話番号 お問い合わせ

受付時間 平日10:00~18:00

TOP

資料ダウンロードはこちら >>

ロゴ

AWSやシステム・アプリ開発の最新情報|クロスパワーブログ

AWS EC2 IAM

特定操作のみ可能なIAMユーザのポリシー設定

PCと筆記用具

takaokaです。EC2インスタンスを管理するユーザポリシー設定は皆様どのようにされていますか?
今回は下記の要件をみたすIAMユーザのポリシーをご紹介したいと思います。

IAMユーザのポリシー要件
・EC2インスタンス画面のみ表示可能であること。
・特定EC2インスタンスのみ”開始”・”停止”・”再起動”操作が可能であること。

特定のEC2インスタンスのみ上記の操作を可能にするため、予め「IAMのアカウント番号」「アベイラビリティーゾーン」「インスタンスID」をメモしておきます。
すでにIAMユーザは作成されているとして、インラインポリシー設定で次のコードを記述します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Sid": "ec2status",
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "ec2operation",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Resource": [
                "arn:aws:ec2:アベイラビリティーゾーン:アカウント番号:instance/インスタンスID"
            ],
            "Effect": "Allow"
        }
    ]
}

※”ec2:DescribeInstances”はインスタンス画面を表示可能にします。
※”ec2:DescribeInstanceStatus”はインスタンスの「ステータスチェック」部分を表示可能にします。
※アベイラビリティーゾーンは「ap-northeast-1」のように記載します。
※”ec2status”の”Resource”を「*」で指定しているため登録されているインスタンスは全て表示されます。特定のインスタンスを指定するとインスタンス画面自体が表示されません。
 

実際に上記ポリシーを適用したIAMユーザでEC2のマネージメントコンソールにアクセスすると下記のようになります。
 

■EC2ダッシュボード画面
instance01

■インスタンス画面
下記画面の例では当アカウントで1つしかインスタンスを登録していないので1つ表示されています。複数登録した場合は他のインスタンスも表示されます。
instance02

AWS Policy Generatorを使うとコードの雛型は簡単に作れるので初めにお試しいただくのが良いと思います。
AWS Policy Generator

コードのActionについては下記が参考になりました。
Actions – Amazon Elastic Compute Cloud