IAM 그룹의 iam:AttachRolePolicy 권한 점검

그룹 구성원이 변경할 수 있는 역할과 관리형 정책을 제한하세요.

설명

IAM 그룹 구성원에게 광범위한 iam:AttachRolePolicy 권한이 있으면 역할에 강한 관리형 정책을 연결할 수 있습니다. 그 역할을 맡거나 해당 역할을 사용하는 워크로드를 제어할 수 있다면 확대된 권한을 이용할 수 있습니다.

정책 연결은 역할의 신뢰 정책을 바꾸지 않으며, 그 자체로 역할을 맡을 권한을 부여하지 않습니다. 연결과 실제 작업에는 다른 권한 제한도 적용됩니다.

잠재적 영향

  • 서비스나 사용자 세션이 필요 이상의 역할 권한을 사용할 수 있습니다.
  • 승인되지 않은 정책 연결이 역할을 사용하는 여러 워크로드에 영향을 줄 수 있습니다.

해결 방법

불필요한 iam:AttachRolePolicy를 그룹에서 제거하세요. 필요한 경우 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:AttachRolePolicy",
        ]
        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 조회 작업만 포함합니다. 다른 정책의 역할 관리 권한과 실제 필요한 조회 범위를 함께 확인하세요.

참조