Je suis en train de télécharger des fichiers que j'ai déjà téléchargés sur S3 avec du code Python, mais j'ai des problèmes de tête en essayant d'utiliser une politique stricte.Pourquoi cette stratégie AWS IAM ne fonctionne qu'avec un astérisque sur la ressource?
Je peux lister tous les fichiers dans le seau, mais lorsque je tente ne les télécharger avec ce que je vois comme une politique correcte, je reçois botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden
Puis, quand je tentais d'ajouter une autre politique qui a fonctionné pour 2 seaux différents, j'ai ajouté une partie du nom du seau, puis l'astérisque, et pour une raison quelconque, la même chose a fonctionné.
Alors quelqu'un peut-il me dire pourquoi cela se produit?
Ce par exemple, est ce qui fonctionne comme un charme:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1499955913000",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::THE-BEGINING-OF-THE-NAME*"
}
]
}
Mais cela ne:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1499955913000",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::THE-EXACT-COMPLETE-FULL-NAME"
}
]
}
Je peux ajouter le code python pour le téléchargement si elle est pertinente, mais questions semble assez long, et le code est assez simple
Difficile pour nous de vous dire quoi que ce soit sans regarder les chaînes réelles qui causent votre problème. – RaGe