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.
Conditions préalables à la désactivation ACLs
Si votre compartiment ACL accorde un accès en dehors du vôtre Compte AWS, avant de le désactiverACLs, vous devez migrer vos ACL autorisations de compartiment vers votre politique de compartiment et ACL redéfinir le mode privé par défaut de votre compartimentACL. Si vous ne migrez pas ces compartimentsACLs, votre demande d'application du paramètre de désactivation imposé par le propriétaire du compartiment ACLs échoue et renvoie le InvalidBucketAclWithObjectOwnershipcode d'erreur. Nous vous recommandons également de revoir les ACL autorisations relatives à vos objets et de les migrer vers votre politique de compartiment. Pour obtenir plus d'informations sur les autres conditions préalables suggérées, consultez la page Conditions préalables à la désactivation ACLs.
Chacun de vos compartiments et objets existants ACLs possède un équivalent dans une IAM politique. Les exemples de politique de compartiment suivants vous montrent comment READ
WRITE
les autorisations relatives aux compartiments et aux objets ACLs sont IAM associées aux autorisations. Pour plus d'informations sur la façon dont chacun ACL se traduit en IAM autorisations, consultezCartographie des ACL autorisations et des autorisations liées à la politique d'accès.
Pour consulter et migrer ACL les autorisations vers les politiques de compartiment, consultez les rubriques suivantes.
Rubriques
Exemples de stratégies de compartiment
Ces exemples de politiques de bucket vous montrent comment migrer READ
et les ACL autorisations de WRITE
bucket et d'objet pour un tiers Compte AWS vers une politique de bucket. READ_ACP
et WRITE_ACP
ACLs sont moins pertinents pour les politiques car ils accordent ACL des autorisations associées (s3:GetBucketAcl
s3:GetObjectAcl
,s3:PutBucketAcl
, ets3:PutObjectAcl
).
Exemple — READ
ACL pour un seau
Si votre compartiment possède un READ
ACL identifiant Compte AWS
autorisant à répertorier le contenu de votre compartiment, vous pouvez rédiger une politique de compartiment qui accorde 111122223333
s3:ListBucket
s3:ListBucketVersions
des s3:ListBucketMultipartUploads
autorisations pour votre compartiment.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission to list the objects in a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:ListBucket", "s3:ListBucketVersions", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::" } ] }
amzn-s3-demo-bucket
Exemple — READ
ACLs pour chaque objet d'un compartiment
Si chaque objet de votre compartiment possède un READ
ACL accès Compte AWS
, vous pouvez rédiger une politique de compartiment qui accorde 111122223333
s3:GetObject
des s3:GetObjectVersion
autorisations à ce compte pour chaque objet de votre compartiment.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Read permission for every object in a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::/*" } ] }
amzn-s3-demo-bucket
Cet exemple d'élément de ressource accorde l'accès à un objet spécifique.
"Resource": "arn:aws:s3:::
/
amzn-s3-demo-bucket
OBJECT-KEY
"
Exemple — WRITE
ACL qui autorise l'écriture d'objets dans un compartiment
Si votre compartiment possède une Compte AWS
autorisation 111122223333
WRITE
ACL d'écrire des objets dans votre compartiment, vous pouvez rédiger une politique de compartiment qui accorde l's3:PutObject
autorisation d'écrire des objets dans votre compartiment.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission to write objects to a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::/*" } ] }
amzn-s3-demo-bucket
Utilisation de la console S3 pour vérifier et migrer ACL les autorisations
Pour consulter les ACL autorisations d'un bucket
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la liste Compartiments, sélectionnez le nom de votre compartiment.
-
Choisissez l’onglet Permissions (Autorisations).
-
Sous Liste de contrôle d'accès (ACL), passez en revue ACL les autorisations de votre bucket.
Pour vérifier les ACL autorisations d'un objet
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la liste Buckets (Compartiments), choisissez le nom du compartiment qui contient votre objet.
-
Dans la liste Objets, choisissez le nom de votre objet.
-
Choisissez l’onglet Permissions (Autorisations).
-
Sous Liste de contrôle d'accès (ACL), vérifiez les ACL autorisations de vos objets.
Pour migrer ACL les autorisations et mettre à jour votre compartiment ACL
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la liste Compartiments, sélectionnez le nom de votre compartiment.
-
Dans l'onglet Permissions (Autorisations), sous Bucket Policy (Stratégie de compartiment), choisissez Edit (Modifier).
-
Dans la boîte Policy (Stratégie), ajoutez ou mettez à jour la stratégie de compartiment.
Si vous souhaitez consulter des exemples de politiques de compartiment, consultez Exemples de stratégies de compartiment et Exemples de démonstrations.
-
Sélectionnez Enregistrer les modifications.
-
Mettez à jour votre compartiment ACL pour supprimer les ACL subventions accordées à d'autres groupes ou Comptes AWS.
-
Appliquez le paramètre Propriétaire du compartiment appliqué pour Propriété d'objets.
Utilisation du AWS CLI pour vérifier et migrer ACL les autorisations
-
Pour retourner le seau ACL à votre seau, utilisez le get-bucket-acl
AWS CLI commande : aws s3api get-bucket-acl --bucket
amzn-s3-demo-bucket
Par exemple, ce compartiment ACL accorde
WRITE
unREAD
accès à un compte tiers. Dans ce ACL cas, le compte tiers est identifié par l'ID utilisateur canonique. Pour appliquer le paramètre imposé par le propriétaire du bucket et le désactiverACLs, vous devez migrer ces autorisations pour le compte tiers vers une politique de bucket.{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "DisplayName": "THIRD-PARTY-EXAMPLE-ACCOUNT
", "ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "READ" }, { "Grantee": { "DisplayName": "THIRD-PARTY-EXAMPLE-ACCOUNT
", "ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "WRITE" } ] }Pour un autre exempleACLs, voirExemples de démonstrations.
-
Migrez ACL les autorisations de votre bucket vers une politique de bucket :
Cet exemple de stratégie de compartiment accorde des autorisations
s3:PutObject
ets3:ListBucket
pour un compte tiers. Dans la politique du compartiment, le compte tiers est identifié par l' Compte AWS ID (
).111122223333
aws s3api put-bucket-policy --bucket
--policyamzn-s3-demo-bucket
file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyForCrossAccountAllowUpload", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333
:root" ] }, "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" } ] }amzn-s3-demo-bucket
Si vous souhaitez consulter d'autres exemples de politiques de compartiment, consultez Exemples de stratégies de compartiment et Exemples de démonstrations.
-
Pour renvoyer le ACL pour un objet spécifique, utilisez le get-object-acl
AWS CLI commande. aws s3api get-object-acl --bucket
amzn-s3-demo-bucket
--keyEXAMPLE-OBJECT-KEY
-
Si nécessaire, migrez ACL les autorisations des objets vers votre politique de compartiment.
Cet exemple d'élément de ressource accorde l'accès à un objet spécifique dans une stratégie de compartiment.
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/EXAMPLE-OBJECT-KEY
" -
Réinitialisez le paramètre par défaut ACL pour votre compartimentACL.
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Appliquez le paramètre Propriétaire du compartiment appliqué pour Propriété d'objets
Exemples de démonstrations
Les exemples suivants vous montrent comment migrer des ACL autorisations vers des politiques de compartiment pour des cas d'utilisation spécifiques.
Rubriques
Octroi de l’accès au groupe de livraison des journaux S3 pour la journalisation des accès au serveur
Si vous souhaitez appliquer le paramètre forcé par le propriétaire du compartiment à désactiver ACLs pour un compartiment de destination de journalisation de l'accès au serveur (également appelé compartiment cible), vous devez faire migrer les ACL autorisations du compartiment pour le groupe de mise à disposition de journaux S3 vers le principal du service de journalisation (logging.s3.amazonaws.com
) dans une politique de compartiment. Pour plus d'informations sur les autorisations de la diffusion des journaux, consultez Autorisations de diffusion de journaux.
Ce compartiment ACL accorde WRITE
un READ_ACP
accès au groupe de mise à disposition de journaux S3 :
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "Type": "CanonicalUser", "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery" }, "Permission": "WRITE" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery" }, "Permission": "READ_ACP" } ] }
Pour migrer ACL les autorisations de compartiment pour le groupe de mise à disposition de journaux S3 vers le principal du service de journalisation dans une politique de compartiment
-
Ajoutez la politique de compartiment suivante à votre compartiment de destination, en remplaçant les exemples de valeurs.
aws s3api put-bucket-policy --bucket
amzn-s3-demo-bucket
--policyfile://policy.json
policy.json: { { "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
/amzn-s3-demo-bucket
EXAMPLE-LOGGING-PREFIX
*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID
" } } } ] } -
Rétablissez ACL la valeur par défaut de votre compartiment de destinationACL.
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Appliquez le paramètre Propriétaire du compartiment appliqué pour Propriété d’objets à votre compartiment de destination.
Accordez un accès public en lecture aux objets se trouvant dans un compartiment.
Si votre objet ACLs accorde un accès public en lecture à tous les objets de votre compartiment, vous pouvez migrer ces ACL autorisations vers une politique de compartiment.
Cet objet ACL accorde un accès public en lecture à un objet d'un compartiment :
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
Pour migrer les ACL autorisations de lecture publiques vers une politique de compartiment
-
Pour accorder un accès public en lecture à tous les objets de votre compartiment, ajoutez la stratégie de compartiment suivante, en remplaçant les exemples de valeurs.
aws s3api put-bucket-policy --bucket
amzn-s3-demo-bucket
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] }Pour accorder l'accès public à un objet spécifique dans une stratégie de compartiment, utilisez le format suivant pour l'élément
Resource
."Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/OBJECT-KEY
"Pour accorder l'accès public à tous les objets avec un préfixe spécifique, utilisez le format suivant pour l'élément
Resource
."Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/PREFIX/
*" -
Appliquez le paramètre Propriétaire du compartiment appliqué pour Propriété d'objets
Accordez à Amazon ElastiCache (RedisOSS) l'accès à votre compartiment S3
Vous pouvez exporter votre sauvegarde ElastiCache (RedisOSS) vers un compartiment S3, ce qui vous permet d'accéder à la sauvegarde depuis l'extérieur ElastiCache. Pour exporter votre sauvegarde vers un compartiment S3, vous devez autoriser ElastiCache la copie d'un instantané dans le compartiment. Si vous avez accordé des autorisations ElastiCache à un compartimentACL, vous devez migrer ces autorisations vers une politique de compartiment avant d'appliquer le paramètre de désactivation imposé par le propriétaire du compartimentACLs. Pour plus d'informations, consultez la section Accorder l' ElastiCache accès à votre compartiment Amazon S3 dans le guide de ElastiCache l'utilisateur Amazon.
L'exemple suivant montre les ACL autorisations de compartiment qui accordent des autorisations à ElastiCache.
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "READ" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "WRITE" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "READ_ACP" } ] }
Pour migrer ACL les autorisations de compartiment pour ElastiCache (RedisOSS) vers une politique de compartiment
-
Ajoutez la stratégie de compartiment suivante à votre compartiment, en remplaçant les exemples de valeurs.
aws s3api put-bucket-policy --bucket
amzn-s3-demo-bucket
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "Region
.elasticache-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] } -
Rétablissez ACL les valeurs par défaut de votre compartiment ACL :
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Appliquez le paramètre Propriétaire du compartiment appliqué pour Propriété d'objets