AWS essaie vraiment de comprendre ce qui me manque ici. Je voudrais faire en sorte qu'un utilisateur IAM puisse télécharger des fichiers à partir d'un compartiment S3 - sans simplement les rendre totalement publics - mais l'accès me est refusé. Si quelqu'un peut voir ce qui se passe, je serai ravi.
Ce que j'ai fait jusqu'à présent:
- Créé un utilisateur appelé my-user (par exemple)
- Généré des clés d'accès pour l'utilisateur et les mettre dans ~ / .aws sur une instance EC2
- Création d'une stratégie de compartiment que j'espérais accorder un accès à mon utilisateur
- A exécuté la commande
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Politique de seau:
{
"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 stratégie utilisateur. Bien que je ne sache pas pourquoi cela serait nécessaire, je pensais que cela ne ferait pas de mal, alors j'ai attaché cela à mon utilisateur.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Même résultat.