また更新が滞ってしまった。小さいネタからコツコツ行きます。運用担当者用にIAMグループを作成する場合のテンプレートになるようなポリシーとなればと思い。
運用担当者に付与するアクセス権
運用担当者のアクセスを以下のようにコントロールしたい。
- Billingは見せたくない
- アクセス元のIPアドレスは制限
- IAMは基本操作させない
- EC2にインスタンスプロファイル(IAMロール)付与はさせたい
- 自分自身のパスワードは変更できる
IAMロールを付与したEC2インスタンスの起動ができないと、万一の復旧作業に支障があることに気付くのが遅れ、設定漏れとなるところだった。
設定するポリシー
ということで、こんなポリシーになりました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": ["xxx.xxx.xxx.xxx/32"] } } }, { "Effect": "Allow", "NotAction": "iam:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole", "iam:ListInstanceProfiles" ], "Resource": "*" }, { "Effect":"Deny", "Action":"aws-portal:*", "Resource":"*" }, { "Effect": "Allow", "Action": ["iam:ChangePassword"], "Resource": ["arn:aws:iam::123456789012:user/${aws:username}"] }, { "Effect": "Allow", "Action": ["iam:GetAccountPasswordPolicy"], "Resource": ["*"] } ] }
参考になる情報はたくさんあるので、リンクは割愛。アクセスキー更新も自分達で運用させたいところだけど、設定が汚くなることもあり、今回は設定しなかった。jsonにコメント付けられるようにならないかなあ。
ネタが偏ってきた、ということは、新しいことを覚えるスピードが落ちてきている証拠か。忙しさにかまけていたので、サボらず続けていきます。