IAM 그룹의 iam:PutGroupPolicy 권한 점검

그룹 구성원의 인라인 정책 수정 권한을 필요한 대상으로 제한하세요.

설명

IAM 그룹에 iam:PutGroupPolicy를 광범위하게 허용하면 구성원이 그룹 인라인 정책을 추가하거나 덮어쓸 수 있습니다. 자신이 속한 그룹에 더 강한 권한을 부여하면 권한 상승으로 이어질 수 있습니다.

그룹 정책은 구성원인 IAM 사용자에게 적용됩니다. 실제 접근에는 사용자의 권한 경계, 조직 정책과 명시적 거부도 계속 적용됩니다.

잠재적 영향

  • 하나의 정책 변경으로 여러 구성원에게 불필요한 관리 권한이 부여될 수 있습니다.
  • 승인 없는 변경으로 그룹 기반 접근 통제가 약화될 수 있습니다.

해결 방법

일반 그룹에 불필요한 iam:PutGroupPolicy를 제거하세요. 필요한 경우 전용 관리 역할에서 승인 절차를 거치고 Resource를 대상 그룹 ARN으로 제한하세요. 변경 내용을 검토하고 CloudTrail로 감시하며 정상 관리 작업과 미승인 변경 차단을 확인하세요.

예시

같은 그룹과 인라인 정책에서 허용 작업만 줄이는 비교입니다.

변경 전

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:PutGroupPolicy",
        ]
        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 조회 작업만 남습니다. 다른 정책에 같은 수정 권한이 남아 있는지와 실제 필요한 조회 범위도 확인하세요.

참조