Je suis vraiment en train d'essayer de comprendre ce que je manque ici. J'aimerais faire en sorte qu'un utilisateur IAM puisse télécharger des fichiers à partir d'un seau S3 - sans rendre les fichiers totalement publics - mais l'accès m'est refusé. Si quelqu'un peut trouver ce qui ne va pas, je serai ravi.
Ce que j'ai fait jusqu'à présent :
- Création d'un utilisateur appelé mon-utilisateur (pour les besoins de l'exemple)
- Généré les clés d'accès pour l'utilisateur et les mettre dans ~/.aws sur une instance EC2
- Création d'une politique de seau qui, je l'espère, accorde l'accès à mon-utilisateur.
- J'ai lancé la commande
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Politique des seaux :
{
"Id": "Policy1384791162970",
"Statement": [
{
"Sid": "Stmt1384791151633",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": "arn:aws:iam::111122223333:user/my-user"
}
}
]
}
Le résultat est A client error (AccessDenied) occurred: Access Denied
bien que je puisse télécharger en utilisant la même commande et les clés d'accès par défaut (compte root ?).
J'ai également essayé d'ajouter une politique d'utilisateur. Bien que je ne sache pas pourquoi cela serait nécessaire, j'ai pensé que cela ne ferait pas de mal, alors j'ai attaché ceci à mon-utilisateur.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Mêmes résultats.