また更新が滞ってしまった。小さいネタからコツコツ行きます。運用担当者用に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にコメント付けられるようにならないかなあ。
ネタが偏ってきた、ということは、新しいことを覚えるスピードが落ちてきている証拠か。忙しさにかまけていたので、サボらず続けていきます。