iam:CreateAccessKey 권한이 과도한 IAM 사용자

다른 사용자의 액세스 키 생성 권한을 제한하세요.

설명

광범위한 iam:CreateAccessKey 권한이 있으면 다른 IAM 사용자의 새 액세스 키를 만들어 API 접근에 사용할 수 있습니다. 대상 사용자가 더 강한 권한을 가지면 권한 상승으로 이어질 수 있습니다.

잠재적 영향

  • 자격 증명 생성: 다른 사용자에게 허용된 데이터와 서비스에 접근할 수 있는 장기 키가 발급될 수 있습니다.
  • 접근 지속: 불필요한 키가 남아 있으면 원래 권한을 수정한 뒤에도 접근 경로가 유지될 수 있습니다.

해결 방법

불필요한 iam:CreateAccessKey 권한을 제거하고, 필요한 키 관리는 승인된 대상 사용자로 제한하세요. 가능한 경우 임시 자격 증명을 사용하고, 키 생성 이벤트와 기존 장기 키를 점검하세요.

예시

변경 후 인라인 정책은 같은 사용자에게 EC2 조회 권한만 부여합니다. 다른 정책의 키 생성 권한도 확인하고, 이미 발급된 키는 별도로 비활성화하거나 삭제하세요.

변경 전

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

resource "aws_iam_user_policy" "example" {
  name = "test_inline_policy"
  user = aws_iam_user.example.name

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

변경 후

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

resource "aws_iam_user_policy" "example" {
  name = "inline_policy_read_only"
  user = aws_iam_user.example.name

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

참조