跳至内容

如何对在 AWS Glue 中使用 Secrets Manager 时出现的 400 状态代码进行故障排除?

1 分钟阅读
0

我想对在 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。

AWS 官方已更新 1 年前