Je souhaite résoudre un code d'erreur « Access Denied Exception » que je reçois lorsque j'exécute la commande get-secret-value sur une ressource AWS Glue.
Brève description
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Votre rôle AWS Identity and Access Management (IAM) pour AWS Glue doit disposer de l'autorisation secretsmanager:GetSecretValue requise pour récupérer les informations d'identification. Si vous exécutez la commande get-secret-value alors que vous ne disposez pas des autorisations nécessaires, AWS Secrets Manager affiche le message d'erreur suivant :
« 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 »
Résolution
Ajoutez la politique suivante à votre rôle IAM qui inclut l'autorisation secretsmanager:GetSecretValue :
`{`
`"Version": "2012-10-17",`
`"Statement": [`
`{`
`"Sid": "VisualEditor0",`
`"Effect": "Allow",`
`"Action": "secretsmanager:GetSecretValue",`
`"Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:examplesecretkeyname"`
`}`
`]`
`}`
Remarque : Remplacez l'ARN de la ressource fournie à titre d'exemple par l'ARN de la clé secrète de votre ressource AWS Glue.