Si vous vouliez copier récursivement tous les compartiment s3 objets à l'aide de la commande "aws s3 cp s3://seau-nom/data/tous-data/ . --recursive" comme vous l'avez mentionné, ici, c'est le minimum de la politique nécessaire pour le faire:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-name"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket-name/data/all-data/*"
]
}
]
}
La première instruction dans cette politique permet à la cotation des objets à l'intérieur du seau. Être conscient du fait qu'avec ce paramètre, vous autoriserait également les objets de la liste dans les sous-répertoires de ce compartiment. Il ne semble pas possible de ne donner ls autorisation pour le s3 sous-répertoires, et donc essayer d'appliquer cette action à la ressource "arn:aws:s3::://seau-nom/data/tous-data/" ne fonctionne pas comme prévu (j'ai testé et essayé plusieurs façons de le faire, de l'aide ici serait appréciée).
Le deuxième énoncé dans la présente politique permet d'obtenir des objets à l'intérieur du seau à un sous-répertoire. Cela signifie que quoi que ce soit à l'intérieur de la "s3://seau-nom/data/tous-data/" chemin d'accès que vous serez en mesure de copier. Être conscient que cela ne va pas vous permettre de copier des parents des chemins tels que "s3://seau-nom/data/".
Un problème similaire à ce qui peut être trouvé ici ce qui m'a conduit à la solution je suis de donner.
https://github.com/aws/aws-cli/issues/2408
Espérons que cette aide!