설명
iam:PassRole은 AWS 서비스에 IAM 역할을 전달할 수 있는 권한입니다. 대상이 모든 역할이면, 서비스 작업 권한과 역할의 신뢰 설정이 허용하는 범위에서 의도보다 강한 역할을 사용할 수 있습니다.
잠재적 영향
고권한 역할을 서비스에 연결하면 워크로드가 원래 의도한 범위보다 넓은 권한으로 동작할 수 있습니다.
해결 방법
Resource를 필요한 IAM 역할 ARN으로 제한하세요. 필요한 경우 iam:PassedToService 조건으로 대상 서비스도 제한하고 전달할 역할의 권한과 신뢰 정책을 확인하세요.
예시
예시는 모든 리소스 대신 특정 IAM 역할을 지정합니다. 계정 ID와 역할 이름은 실제 승인된 대상으로 바꾸세요.
변경 전
hcl
resource "aws_iam_role_policy" "example" {
name = "test_policy"
role = aws_iam_role.test_role.id
policy = <<-EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"iam:passrole"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
EOF
}
변경 후
hcl
resource "aws_iam_role_policy" "example" {
name = "test_policy"
role = aws_iam_role.test_role.id
policy = <<-EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"iam:passrole"
],
"Effect": "Allow",
"Resource": "arn:aws:iam::123456789012:role/ExampleWorkloadRole"
}
]
}
EOF
}