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で触らせたくないアクションを記述していく
アクション
- "ec2:StartInstances"
- インスタンスの開始
- "ec2:StopInstances"
- インスタンスの停止
- "ec2:RebootInstances"
- インスタンスの再起動
- "ec2:TerminateInstances"
- インスタンスの削除
- "ec2:DetachVolume"
- EBSのデタッチ