AWS Glue 리소스에서 get-secret-value 명령을 실행할 때 표시되는 “Access Denied Exception” 오류 코드 문제를 해결하려고 합니다.
간략한 설명
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
AWS Glue용 AWS Identity and Access Management(IAM) 역할에 secretsmanager:GetSecretValue 권한이 있어야 자격 증명을 가져올 수 있습니다. 필요한 권한이 없을 때 get-secret-value 명령을 실행하면 AWS Secrets Manager에 다음과 같은 오류 메시지가 표시됩니다.
"com.amazonaws.services.secretsmanager.model.AWSSecretsManagerException: User: arn:aws:sts::111122223333:assumed-role/glue-role/GlueJobRunnerSession is not authorized to perform: secretsmanager:GetSecretValue on resource: because no identity-based policy allows the secretsmanager:GetSecretValue action (Service: AWSSecretsManager; Status Code: 400; Error Code: AccessDeniedException"
해결 방법
secretsmanager:GetSecretValue 권한을 포함하는 IAM 역할에 다음 정책을 추가합니다.
`{`
`"Version": "2012-10-17",`
`"Statement": [`
`{`
`"Sid": "VisualEditor0",`
`"Effect": "Allow",`
`"Action": "secretsmanager:GetSecretValue",`
`"Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:examplesecretkeyname"`
`}`
`]`
`}`
참고: 리소스 예시의 ARN을 AWS Glue 리소스의 시크릿 키 ARN으로 바꿉니다.