Lorsque j'exécute des requêtes Amazon Athena dans SQL Workbench/J ou AWS Lambda, ou lorsque j'utilise un kit de développement logiciel AWS, l'erreur suivante s'affiche : "Unable to verify/create output bucket."
Résolution
Si vous définissez manuellement l'emplacement des résultats de requête, vérifiez que le compartiment Amazon Simple Storage Service (Amazon S3) existe.
Si le compartiment S3 existe, vérifiez les propriétés suivantes de la politique de Gestion des identités et des accès AWS (AWS IAM) pour l'utilisateur ou le rôle qui exécute la requête :
- Vérifiez que la politique autorise les autorisations requises, telles que s3:GetBucketLocation.
- Assurez-vous que la politique IAM ne contient pas d'instruction de refus utilisant aws:SourceIp ou aws:SourceVpc pour restreindre les autorisations Amazon S3.
Par exemple, la politique suivante permet à l'utilisateur ou au rôle IAM d'exécuter la requête :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload",
"s3:CreateBucket",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::aws-athena-query-results-*",
"arn:aws:s3:::query-results-custom-bucket",
"arn:aws:s3:::query-results-custom-bucket/*"
]
}
]
}
Remarque : Pour les compartiments S3 existants, vous pouvez supprimer l'autorisation s3:CreateBucket. Si vous définissez manuellement l'emplacement des résultats de la requête, n'incluez pas arn:aws:s3:::aws-athena-query-results-* dans la politique. La politique doit inclure arn:aws:s3:::query-results-custom-bucket et arn:aws:s3:::query-results-custom-bucket/* uniquement lorsque vous définissez manuellement l'emplacement des résultats de la requête.
Informations connexes
Contrôler l'accès à Amazon S3 depuis Athena
Exemples de politiques de compartiment Amazon S3
Contrôler l'accès depuis les points de terminaison du cloud privé virtuel (VPC) grâce à des politiques de compartiment
Actions de stratégie pour Amazon S3