IAM 그룹의 iam:AttachGroupPolicy 권한 점검

그룹 구성원의 관리형 그룹 정책 연결 권한을 필요한 범위로 제한하세요.

설명

IAM 그룹을 통해 iam:AttachGroupPolicy를 광범위하게 부여하면 구성원이 같은 계정의 그룹에 강한 관리형 정책을 연결할 수 있습니다. 자신이 속한 그룹이 대상이면 자신과 다른 구성원의 권한이 확대될 수 있습니다.

실제 연결과 이후 권한에는 정책 조건, 명시적 거부, 권한 경계와 조직 정책 등의 제한도 적용됩니다.

잠재적 영향

  • 그룹 구성원에게 업무에 필요하지 않은 리소스 접근 권한이 추가될 수 있습니다.
  • 한 번의 그룹 정책 변경이 여러 IAM 사용자에게 영향을 줄 수 있습니다.

해결 방법

불필요한 iam:AttachGroupPolicy 허용을 제거하세요. 필요한 경우 Resource를 대상 그룹 ARN으로 제한하고 iam:PolicyARN 조건으로 연결할 관리형 정책도 제한하세요. 승인된 관리 경로를 사용하며 정상 작업과 미승인 정책 연결 거부를 확인하세요.

예시

같은 그룹의 인라인 정책을 변경하는 비교입니다. 실제 그룹 구성원은 별도로 확인하세요.

변경 전

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:AttachGroupPolicy",
        ]
        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 조회 작업으로 바꿉니다. 다른 정책의 연결 권한이 남아 있는지와 실제 필요한 조회 범위도 확인하세요.

참조