모든 역할에 대한 iam:PassRole 허용

iam:PassRole 대상을 필요한 역할로 제한하세요.

설명

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
}

참조