IAMグループに過剰なiam:CreateLoginProfile権限がある

他のユーザーのコンソールログインプロファイルを作成する権限を制限してください。

説明

iam:CreateLoginProfileでは、ログインプロファイルがまだないIAMユーザーにコンソールパスワードを設定できます。グループのメンバーが高い権限を持つユーザーにこの操作を行えると、新たなアクセス経路を作るおそれがあります。

想定される影響

他のサインイン制御が許す場合、対象ユーザーの権限でコンソールにアクセスできる可能性があります。

対処方法

ログインプロファイルを管理しないグループから、この権限を削除してください。必要な場合は対象ユーザーを限定し、アカウント管理専用の権限として扱ってください。

例

以下は、同じグループのログインプロファイル作成権限をEC2の情報取得権限に置き換える例です。MFAなど、対象ユーザーの他のサインイン制御も維持してください。

変更前

hcl
resource "aws_iam_group" "example" {
  name = "cosmic"
}

resource "aws_iam_group_policy" "example" {
  name  = "test_inline_policy"
  group = aws_iam_group.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "iam:CreateLoginProfile",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

変更後

hcl
resource "aws_iam_group" "example" {
  name = "cosmic"
}

resource "aws_iam_group_policy" "example" {
  name = "inline_policy_run_instances"
  group = aws_iam_group.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

参考資料