Si vous souhaitez attribuer des autorisations à un utilisateur spécifique IAM, groupe IAM ou IAM rôle, vous devez attribuer les autorisations directement contre cet utilisateur/groupe/Rôle dans les IAM plutôt que de créer une stratégie de compartiment. (Cela pourrait être ce que vous avez fait, mais vous avez mentionné « la politique du seau » donc on ne sait pas.)
Certains appels API Amazon S3 fonctionnent au niveau du godet (par exemple, la liste du seau) et certains fonctionnent au niveau objet (par exemple GetObject). Par conséquent, vous auriez besoin d'une politique qui donne accès à la fois:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "GrantFullAccess",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::rscexternal",
"arn:aws:s3:::rscexternal/*"
]
}
]
}
L'utilisateur IAM à la politique ci-dessus devrait alors être en mesure d'accéder au seau. Par exemple, en utilisant le AWS Command-Line Interface (CLI):
aws s3 ls s3://rscexternal
Si vous souhaitez que l'utilisateur pour pouvoir utiliser Amazon S3 via la console de gestion, autorisations supplémentaires sont nécessaires.
De Policy for Console Access:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::test"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::test/*"]
}
]
}
brillant. Merci ça fonctionne maintenant. –