IAM 사용자의 iam:AddUserToGroup 권한 점검

사용자가 자신이나 다른 사용자를 추가할 수 있는 IAM 그룹을 제한하세요.

설명

IAM 사용자에게 iam:AddUserToGroup을 광범위하게 허용하면 자신이나 다른 IAM 사용자를 같은 계정의 그룹에 추가할 수 있습니다. 대상 그룹이 더 많은 유효 권한을 부여하면 자신 또는 제어 가능한 사용자의 권한 상승에 이용될 수 있습니다.

Resource에는 대상 그룹 ARN을 지정하며, 추가할 사용자 ARN을 지정하는 범위는 아닙니다. 따라서 추가할 사용자와 대상 그룹을 함께 검토해야 합니다. 권한 경계, 조직 정책과 명시적 거부가 부여된 권한을 계속 제한할 수 있습니다.

잠재적 영향

  • 사용자가 승인 없이 권한이 높은 그룹의 접근 권한을 얻을 수 있습니다.
  • 다른 사용자에게 불필요한 권한이 부여되어 민감한 리소스에 대한 접근이 확대될 수 있습니다.

해결 방법

일반 사용자에서 불필요한 iam:AddUserToGroup을 제거하고 구성원 변경은 승인된 관리 역할로 수행하세요. Resource를 필요한 대상 그룹 ARN으로 제한하고 추가할 사용자를 승인 절차에서 확인하세요. 필요한 변경은 작동하고 미승인 추가는 차단되는지 시험하며 변경 로그를 검토하세요.

예시

같은 사용자와 인라인 정책을 유지하면서 그룹 구성원 변경 권한을 제거하는 비교입니다.

변경 전

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

이 사용자에게 계정 내 그룹 전반에 사용자를 추가할 수 있는 권한을 부여합니다.

변경 후

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

이 허용문에는 EC2 조회만 남습니다. 다른 정책을 통한 그룹 구성원 변경 권한과 조회 범위도 확인하세요.

참조