AWS Identity and Access Management(IAM) 사용자와 함께 API 작업을 수행하여 AWS 서비스에 역할을 전달해 보았습니다. API 작업이 실패했고 다음과 비슷한 오류가 발생했습니다. “You are not authorized to perform this operation. User: arn:aws:iam::123456789012:user/Bob is not authorized to perform: iam:PassRole."
간략한 설명
일부 AWS 서비스에서는 기존 IAM 역할을 해당 서비스에 전달할 수 있으므로 새 서비스 역할을 생성할 필요가 없습니다. 하지만 IAM 역할을 AWS 서비스에 전달할 수 있는 권한이 있어야 합니다.
해결 방법
이 문제를 해결하려면 IAM 사용자가 AWS 서비스에 대해 iam:PassRole API 작업을 수행할 수 있도록 IAM 정책을 업데이트하세요.
참고: PassRole 권한만 사용하여 다른 계정이 아닌 동일한 AWS 계정을 공유하는 AWS 서비스에 IAM 역할을 전달할 수 있습니다. 자세한 내용은 IAM 내 크로스 계정 리소스 액세스를 참조하세요.
다음 예제 IAM 정책은 IAM 사용자가 ExampleRole이라는 역할을 Amazon Elastic Compute Cloud(Amazon EC2) 서비스에 전달할 수 있도록 허용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::account-ID:role/ExampleRole",
"Condition": {
"StringEquals": {
"iam:PassedToService": "ec2.amazonaws.com"
}
}
}
]
}
참고: ExampleRole을 사용자 역할로, account-ID를 계정 ID로 바꾸세요.
자세한 내용은 AWS service에 역할을 전달할 수 있는 사용자 권한 부여를 참조하세요.
관련 정보
IAM 역할과 함께 PassRole 권한을 사용하는 방법