설명
IAM 그룹을 통해 iam:PutRolePolicy를 광범위하게 허용하면 구성원이 역할 인라인 정책을 추가하거나 수정할 수 있습니다. 변경된 역할을 맡거나 그 역할로 실행되는 워크로드를 제어할 수 있으면 확대된 권한을 이용할 수 있습니다.
역할 정책 수정만으로 신뢰 정책이나 역할을 맡을 권한이 바뀌지는 않습니다. 대상 역할의 권한 경계, 조직 정책과 명시적 거부도 계속 적용됩니다.
잠재적 영향
- 역할을 사용하는 서비스에 불필요한 리소스 접근 권한이 추가될 수 있습니다.
- 승인 없는 역할 정책 변경이 여러 워크로드의 실행 권한에 영향을 줄 수 있습니다.
해결 방법
일반 그룹에 불필요한 iam:PutRolePolicy를 제거하세요. 필요한 수정은 승인된 관리 역할로 수행하고 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:PutRolePolicy",
]
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 조회로 제한합니다. 다른 정책의 역할 수정 권한과 조회 작업의 필요성도 검토하세요.