また更新が滞ってしまった。小さいネタからコツコツ行きます。運用担当者用に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にコメント付けられるようにならないかなあ。

ネタが偏ってきた、ということは、新しいことを覚えるスピードが落ちてきている証拠か。忙しさにかまけていたので、サボらず続けていきます。

TOP