我想对在 AWS Glue 资源上运行 get-secret-value 命令时收到的“Access Denied Exception”(访问被拒绝异常)错误代码进行故障排除。
简短描述
**注意:**如果您在运行 AWS 命令行界面 (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 无权在资源上执行 secretsmanager:GetSecretValue 操作,因为没有基于身份的策略允许 secretsmanager:GetSecretValue 操作(服务: AWS SecretsManager;状态代码: 400;错误代码: 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。