Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Nous vous recommandons de ACLs le désactiver sur vos compartiments Amazon S3. Vous pouvez le faire en appliquant le paramètre Propriétaire du compartiment appliqué pour la propriété d’objets S3. Lorsque vous appliquez ce paramètre, ils ACLs sont désactivés et vous êtes automatiquement propriétaire de tous les objets de votre bucket et vous en avez le contrôle total. Pour exiger que tous les nouveaux compartiments soient créés avec cette option ACLs désactivée, utilisez les politiques AWS Identity and Access Management (IAM) ou les politiques de contrôle des AWS Organizations services (SCPs), comme décrit dans la section suivante.
Pour imposer la propriété des nouveaux objets sans les désactiver ACLs, vous pouvez appliquer le paramètre préféré du propriétaire du compartiment. Lorsque vous appliquez ce paramètre, nous vous recommandons vivement de mettre à jour votre politique de compartiment afin d’exiger la liste ACL bucket-owner-full-control
prédéfinie pour toutes les demandes PUT
envoyées à votre compartiment. Les clients doivent également être mis à jour pour envoyer la liste ACL bucket-owner-full-control
prédéfinie dans votre compartiment à partir d’autres comptes.
Rubriques
Désactivation ACLs pour tous les nouveaux compartiments (obligatoire par le propriétaire du compartiment)
L’exemple suivant de politique IAM refuse l’autorisation s3:CreateBucket
pour un rôle ou un utilisateur IAM spécifique, sauf si le paramètre Propriétaire du compartiment appliqué est appliqué pour Propriété d’objets. La paire de clé-valeur dans le bloc Condition
spécifie s3:x-amz-object-ownership
comme sa clé et le paramètre BucketOwnerEnforced
comme sa valeur. En d'autres termes, l'utilisateur IAM ne peut créer des compartiments que s'il définit le paramètre obligatoire pour le propriétaire du compartiment pour la propriété des objets et s'il le désactive. ACLs Vous pouvez également utiliser cette politique comme SCP limite pour votre AWS organisation.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RequireBucketOwnerFullControl",
"Action": "s3:CreateBucket",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-object-ownership": "BucketOwnerEnforced"
}
}
}
]
}
Exiger l' bucket-owner-full-controlACL prédéfini pour les PUT
opérations Amazon S3 (préféré du propriétaire du compartiment)
Avec le paramètre préféré du propriétaire du compartiment pour la propriété de l’objet, vous, en tant que propriétaire du compartiment, possédez et avez le contrôle total sur les nouveaux objets que d’autres comptes écrivent dans votre compartiment avec la liste ACL bucket-owner-full-control
prédéfinie. Toutefois, si d’autres comptes écrivent des objets dans votre compartiment sans la liste ACL bucket-owner-full-control
prédéfinie, le rédacteur d’objets conserve son accès total. En tant que propriétaire du compartiment, vous pouvez implémenter une politique de compartiment qui n’autorise les écritures que si elles spécifient la liste ACL bucket-owner-full-control
prédéfinie.
Note
Si vous l'avez ACLs désactivé avec le paramètre obligatoire pour le propriétaire du compartiment, en tant que propriétaire du compartiment, vous êtes automatiquement propriétaire de tous les objets de votre compartiment et en avez le contrôle total. Vous n’avez pas besoin d’utiliser cette section pour mettre à jour votre politique de compartiment afin d’imposer la propriété de l’objet au propriétaire du compartiment.
La politique de compartiment suivante spécifie que le compte
ne peut charger des objets 111122223333
que si la liste ACL de l’objet est définie sur amzn-s3-demo-bucket
bucket-owner-full-control
. Veillez à remplacer
par voter compte et 111122223333
par le nom de votre compartiment.amzn-s3-demo-bucket
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Only allow writes to my bucket with bucket owner full control
",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333
:user/ExampleUser
"
]
},
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
}
]
}
Voici un exemple d’opération de copie qui inclut la liste ACL bucket-owner-full-control
prédéfinie à l’aide d’ AWS Command Line Interface
(AWS CLI).
aws s3 cp
file.txt
s3://amzn-s3-demo-bucket
--acl bucket-owner-full-control
Une fois la politique de compartiment mise en vigueur, si le client n’inclut pas la liste ACL prédéfinie bucket-owner-full-control
, l’opération échoue et le chargeur reçoit l’erreur suivante :
Une erreur s'est produite (AccessDenied) lors de l'appel de l' PutObject opération : Accès refusé
.
Note
Si les clients doivent accéder aux objets après le chargement, vous devez accorder des autorisations supplémentaires au compte de chargement. Pour en savoir plus sur l’octroi aux comptes de l’accès à vos ressources, consultez Procédures détaillées qui utilisent des politiques pour gérer l’accès à vos ressources Amazon S3.