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

他のユーザーのアクセスキーを作成する権限を制限してください。

説明

広範なiam:CreateAccessKey権限があると、グループのメンバーが他のIAMユーザーのアクセスキーを作成し、その認証情報を使える場合があります。対象がより強い権限を持つユーザーなら、権限昇格につながるおそれがあります。

想定される影響

発行したキーで、対象ユーザーに許可されたデータやサービスへアクセスできる場合があります。

対処方法

不要なキー作成権限を削除してください。必要な管理権限は承認されたユーザーに対象を限定し、可能な場合は長期キーより一時認証情報を優先してください。

例

以下は、キー作成権限を削除し、同じグループにEC2の情報取得権限だけを残す例です。発行済みのキーを失効させる変更ではありません。

変更前

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:CreateAccessKey",
        ]
        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 = "*"
      },
    ]
  })
}

参考資料