ガハハ

学生の学習記録

AWS学習 5日目

IAMをやっていく
自分用のIAMを自分で作るというミッション

IAM (Identity and Access Management)

ユーザー・グループ・ロールでAWSの各種サービスの権限を設定できる

目標

EC2用のIAMの作成、ただし本番環境は触れないようにする

導入

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt14793",
            "Effect": "Allow",
            "Action": [
                "ec2:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "Stmt147935",
            "Effect": "Deny",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
                "ec2:TerminateInstances",
                "ec2:DetachVolume"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/env": "production"
                }
            },
            "Resource": [
                "arn:aws:ec2:*"
            ]
        }
    ]
}

ユーザーにポリシーを設定する、グループとかは後で。
IAMの設定で権限を与えられたものしかユーザーは触れない
その為、まずはEC2すべての閲覧権限を与える(ここで何故か起動権限等もついてしまってる?ので要調査)
次に Condition で条件を記し、 "production"タグを持ったインスタンスは触れない様にする
最後にActionで触らせたくないアクションを記述していく

アクション

参考

IAMでEC2を起動、停止できるカスタムポリシーを作る