IAM 그룹의 iam:PutUserPolicy 권한 점검

그룹 구성원의 사용자 인라인 정책 수정 권한을 제한하세요.

설명

IAM 그룹에 iam:PutUserPolicy를 광범위하게 허용하면 구성원이 자신이나 다른 사용자의 인라인 정책을 추가하거나 덮어쓸 수 있습니다. 다른 권한 제한으로 차단되지 않으면 사용자의 접근 범위를 확대하는 권한 상승 경로가 될 수 있습니다.

인라인 정책은 대상 IAM 사용자의 권한을 바꿉니다. 권한 경계, 조직 정책과 명시적 거부를 자동으로 제거하거나 우회하지는 않습니다.

잠재적 영향

  • 구성원이 승인 없이 자신이나 다른 사용자에게 관리 권한을 부여할 수 있습니다.
  • 확대된 권한을 가진 사용자 자격 증명의 오용으로 피해가 커질 수 있습니다.

해결 방법

일반 그룹에 불필요한 iam:PutUserPolicy를 제거하세요. 필요한 수정은 승인된 관리자 역할에만 허용하고 Resource를 대상 사용자 ARN으로 제한하세요. 정책 내용과 변경 이벤트를 검토하며 정상 관리 작업과 미승인 변경 차단을 확인하세요.

예시

같은 그룹과 인라인 정책에서 사용자 정책 수정 권한을 줄이는 비교입니다.

변경 전

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:PutUserPolicy",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

구성원에게 자신을 포함한 전체 사용자의 인라인 정책을 추가하거나 갱신할 수 있는 권한을 부여합니다.

변경 후

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 = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

이 허용문에는 EC2 조회 작업만 남습니다. 다른 정책의 사용자 수정 권한과 필요한 조회 범위도 확인하세요.

참조