

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
<a name="object-ownership-migrating-acls-prerequisites"></a>

Une liste de contrôle d'accès aux compartiments (ACL) dans Amazon S3 est un mécanisme qui vous permet de définir des autorisations détaillées pour des objets individuels au sein d'un compartiment S3, en spécifiant quels AWS comptes ou groupes peuvent accéder à ces objets et les modifier. La majorité des cas d'utilisation modernes d'Amazon S3 ne nécessitent plus l'utilisation de ACLs. Nous vous recommandons d'utiliser des politiques Gestion des identités et des accès AWS (IAM) et de bucket pour gérer l'accès et pour rester ACLs désactivé, sauf dans les cas où vous devez contrôler l'accès à chaque objet individuellement.

Si vous l'avez ACLs activé sur votre compartiment, avant de le désactiver ACLs, remplissez les conditions préalables suivantes :

**Topics**
+ [Passez en revue le bucket et l'objet ACLs et migrez les autorisations ACL](#object-ownership-acl-permissions)
+ [Identifier toutes les demandes qui ont nécessité une liste ACL pour l’autorisation](#object-ownership-acl-identify)
+ [Vérifiez et mettez à jour les stratégies de compartiment qui utilisent des clés de condition associées à ACL](#object-ownership-bucket-policies)
+ [Exemples de cas d’utilisation](#object-ownership-migrating-acls)

## Passez en revue le bucket et l'objet ACLs et migrez les autorisations ACL
<a name="object-ownership-acl-permissions"></a>

Lorsque vous désactivez ACLs, les autorisations accordées par bucket et par objet ACLs n'affectent plus l'accès. Avant de procéder à la désactivation ACLs, passez en revue votre bucket et votre objet ACLs. 

Chacun de vos compartiments et objets existants ACLs possède un équivalent dans une politique IAM. Les exemples de politique de compartiment suivants vous montrent comment `READ` `WRITE` les autorisations relatives aux compartiments et aux objets sont ACLs associées aux autorisations IAM. Pour plus d’informations sur la façon dont chaque liste ACL se traduit par des autorisations IAM, consultez [Mappage des autorisations de liste ACL et de stratégie d’accès](acl-overview.md#acl-access-policy-permission-mapping).

Avant de désactiver ACLs :
+ Si l'ACL de votre bucket accorde l'accès en dehors de votre AWS compte, vous devez d'abord migrer les autorisations ACL de votre bucket vers votre politique de bucket.
+ Rétablissez ensuite la liste ACL par défaut de votre compartiment. 
+ Nous vous recommandons également de passer en revue les autorisations ACL au niveau de vos objets et de les migrer vers votre stratégie de compartiment. 

Si votre compartiment ACLs accorde des autorisations de lecture ou d'écriture à d'autres personnes extérieures à votre compte, avant de pouvoir les désactiver ACLs, vous devez migrer ces autorisations vers votre politique de compartiment. Après avoir migré ces autorisations, vous pouvez définir **Propriétaire de l’objet** sur *Propriétaire du compartiment appliqué*. Si vous ne migrez pas un bucket ACLs qui accorde un accès en lecture ou en écriture en dehors de votre compte, votre demande d'application du paramètre imposé par le propriétaire du bucket échoue et renvoie le code [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl)d'erreur. 

Si l'ACL de votre bucket accorde un accès en dehors de votre bucket Compte AWS, avant de désactiver ACLs, vous devez migrer les autorisations ACL de votre bucket vers votre politique de bucket et réinitialiser votre ACL de bucket sur l'ACL privée par défaut. Si vous ne migrez pas et ne réinitialisez pas, votre demande d'application du paramètre de désactivation imposé par le propriétaire du bucket ACLs échoue et renvoie le code [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl)d'erreur. Nous vous recommandons également de revoir les autorisations ACL de votre objet et de les migrer vers votre stratégie de compartiment. 

Pour consulter et migrer les autorisations ACL vers des stratégies de compartiment, consultez les rubriques suivantes.

**Topics**
+ [Exemples de stratégies de compartiment](#migrate-acl-permissions-bucket-policies)
+ [Utilisation de la console S3 pour réviser et migrer les autorisations ACL](#review-migrate-acl-console)
+ [Utilisation du AWS CLI pour vérifier et migrer les autorisations ACL](#review-migrate-acl-cli)

### Exemples de stratégies de compartiment
<a name="migrate-acl-permissions-bucket-policies"></a>

Ces exemples de politiques de compartiment vous montrent comment migrer les autorisations ACL de `WRITE` compartiment `READ` et d'objet pour un tiers Compte AWS vers une politique de compartiment. `READ_ACP`et `WRITE_ACP` ACLs sont moins pertinents pour les politiques car ils accordent des autorisations liées à l'ACL (`s3:GetBucketAcl`, `s3:GetObjectAcl``s3:PutBucketAcl`, et`s3:PutObjectAcl`).

**Example  : liste ACL `READ` pour un compartiment**  
Si votre bucket dispose d'une `READ` ACL qui Compte AWS `111122223333` autorise la liste du contenu de votre bucket, vous pouvez écrire une politique de bucket qui accorde `s3:ListBucket` `s3:ListBucketMultipartUploads` des autorisations pour votre bucket. `s3:ListBucketVersions`     
****  

```
{
		"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"
			}
		]
	}
```

**Example — `READ` ACLs pour chaque objet d'un compartiment**  
Si chaque objet de votre compartiment dispose d'une `READ` ACL qui autorise l'accès à Compte AWS `111122223333`, vous pouvez rédiger une politique de compartiment qui accorde `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"
```

**Example  : liste ACL `WRITE` qui accorde les autorisations d’écriture d’objets dans un compartiment**  
Si votre compartiment possède une `WRITE` ACL qui Compte AWS `111122223333` autorise l'écriture d'objets dans votre compartiment, vous pouvez rédiger une politique de compartiment qui accorde `s3:PutObject` l'autorisation pour 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 réviser et migrer les autorisations ACL
<a name="review-migrate-acl-console"></a>

**Pour passer en revue les autorisations ACL d’un compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la liste **Compartiments**, sélectionnez le nom de votre compartiment.

1. Sélectionnez l’onglet **Autorisations**.

1. Sous **Access control list (ACL) (Liste de contrôle d’accès [ACL])**, vérifiez les autorisations ACL de votre compartiment.

**Pour passer en revue les autorisations ACL d’un objet**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la liste **Compartiments**, choisissez le nom du compartiment qui contient votre objet.

1. Dans la liste **Objets**, choisissez le nom de votre objet.

1. Sélectionnez l’onglet **Autorisations**.

1. Sous **Access control list (ACL) (Liste de contrôle d’accès [ACL])**, vérifiez les autorisations ACL de votre objet.

**Pour migrer les autorisations ACL et mettre à jour la liste ACL de votre compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la liste **Compartiments**, sélectionnez le nom de votre compartiment.

1. Dans l’onglet **Autorisations**, sous **Stratégie de compartiment**, choisissez **Modifier**.

1. Dans la boîte **Policy (Stratégie)**, ajoutez ou mettez à jour la stratégie de compartiment.

   Si vous souhaitez consulter des exemples de stratégies de compartiment, consultez [Exemples de stratégies de compartiment](#migrate-acl-permissions-bucket-policies) et [Exemples de cas d’utilisation](#object-ownership-migrating-acls).

1. Sélectionnez **Enregistrer les modifications**.

1. [Mettez à jour la liste ACL de votre compartiment](managing-acls.md) pour supprimer les autorisations ACL à d’autres groupes ou Comptes AWS.

1. [Appliquez le paramètre **Propriétaire du compartiment appliqué**](object-ownership-existing-bucket.md) pour Propriété d’objets.

### Utilisation du AWS CLI pour vérifier et migrer les autorisations ACL
<a name="review-migrate-acl-cli"></a>

1. Pour renvoyer l'ACL du bucket correspondant à votre bucket, utilisez la [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html) AWS CLI commande suivante :

   ```
   aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket
   ```

   Par exemple, cette liste ACL de compartiment accorde l’accès en `WRITE` et en `READ` à un compte tiers. Dans cette liste ACL, le compte tiers est identifié par l’[ID d’utilisateur canonique](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). Pour appliquer le paramètre imposé par le propriétaire du bucket et le désactiver ACLs, vous devez migrer ces autorisations pour le compte tiers vers une politique de bucket. 

   ```
   {
   		"Owner": {
   			"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
   		},
   		"Grants": [
   			{
   				"Grantee": {
   					"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "FULL_CONTROL"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "READ"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "WRITE"
   			}
   		]
   	}
   ```

   Pour un autre exemple ACLs, voir[Exemples de cas d’utilisation](#object-ownership-migrating-acls).

1. Migrez les autorisations ACL de votre compartiment vers une stratégie de compartiment :

   Cet exemple de stratégie de compartiment accorde des autorisations `s3:PutObject` et `s3: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 amzn-s3-demo-bucket --policy 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:::amzn-s3-demo-bucket",
   					"arn:aws:s3:::amzn-s3-demo-bucket/*"
   			}
   		]
   	}
   ```

   Si vous souhaitez consulter d’autres exemples de stratégies de compartiment, consultez [Exemples de stratégies de compartiment](#migrate-acl-permissions-bucket-policies) et [Exemples de cas d’utilisation](#object-ownership-migrating-acls).

1. Pour renvoyer l'ACL pour un objet spécifique, utilisez la [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html) AWS CLI commande.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key EXAMPLE-OBJECT-KEY
   ```

1. Si nécessaire, migrez les autorisations ACL d’objet vers votre stratégie 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"
   ```

1. Réinitialisez la liste ACL de votre compartiment à la liste ACL par défaut.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Appliquez le paramètre Propriétaire du compartiment appliqué](object-ownership-existing-bucket.md) pour Propriété d’objets.

## Identifier toutes les demandes qui ont nécessité une liste ACL pour l’autorisation
<a name="object-ownership-acl-identify"></a>

Pour identifier les demandes Amazon S3 nécessitant ACLs une autorisation, vous pouvez utiliser la `aclRequired` valeur dans les journaux d'accès au serveur Amazon S3 ou AWS CloudTrail. Si la demande a nécessité une liste ACL pour l’autorisation ou si vous avez des demandes `PUT` qui spécifient une liste ACL, la chaîne est `Yes`. Si aucune valeur ACLs n'est requise, ou si vous définissez une ACL `bucket-owner-full-control` prédéfinie, ou si les demandes sont autorisées par votre politique de compartiment, la chaîne de `aclRequired` valeur est « `-` » dans les journaux d'accès au serveur Amazon S3 et est absente dans CloudTrail. Pour plus d’informations sur les valeurs `aclRequired` attendues, consultez [Valeurs `aclRequired` pour les demandes Amazon S3 courantes](acl-overview.md#aclrequired-s3).

Si vous avez `PutBucketAcl` ou demandez des `PutObjectAcl` en-têtes qui accordent des autorisations basées sur l'ACL, à l'exception de l'ACL `bucket-owner-full-control` prédéfinie, vous devez supprimer ces en-têtes avant de pouvoir les désactiver. ACLs Dans le cas contraire, vos demandes échoueront.

Pour toutes les autres demandes nécessitant une liste ACL pour l’autorisation, migrez ces autorisations de liste ACL vers des stratégies de compartiment. Supprimez ensuite tout compartiment ACLs avant d'activer le paramètre imposé par le propriétaire du compartiment. 

**Note**  
Ne retirez pas l'objet ACLs. Dans le cas contraire, les applications qui dépendent de l'objet ACLs pour obtenir des autorisations perdront leur accès.

Si vous constatez qu'aucune demande ne nécessitait une ACL pour obtenir une autorisation, vous pouvez procéder à la désactivation ACLs. Pour plus d’informations sur l’identification des demandes, consultez [Utilisation des journaux d’accès au serveur Amazon S3 pour identifier des demandes](using-s3-access-logs-to-identify-requests.md) et [Identification des demandes Amazon S3 à l'aide CloudTrail](cloudtrail-request-identification.md).

## Vérifiez et mettez à jour les stratégies de compartiment qui utilisent des clés de condition associées à ACL
<a name="object-ownership-bucket-policies"></a>

Une fois que vous avez appliqué le paramètre de désactivation obligatoire du propriétaire du compartiment ACLs, les nouveaux objets ne peuvent être chargés dans votre compartiment que si la demande utilise le contrôle total du propriétaire du compartiment ACLs ou ne spécifie pas d'ACL. Avant de procéder à la désactivation ACLs, consultez votre politique de compartiment en ce qui concerne les clés de condition liées à l'ACL.

Si votre stratégie de compartiment utilise une clé de condition associée à la liste ACL pour exiger la liste ACL `bucket-owner-full-control` prédéfinie (par exemple, `s3:x-amz-acl`), vous n’avez pas besoin de mettre à jour votre stratégie de compartiment. La stratégie de compartiment suivante utilise la `s3:x-amz-acl` pour exiger la liste ACL `bucket-owner-full-control` prédéfinie pour les demandes `PutObject` S3. Cette politique demande *encore* au rédacteur d’objets qu’il spécifie la liste ACL `bucket-owner-full-control` prédéfinie. Cependant, les buckets ACLs désactivés acceptent toujours cette ACL, de sorte que les demandes continuent de réussir sans qu'aucune modification côté client ne soit requise.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
            "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"
                }
            }
        }
    ]
}
```

------

Cependant, si votre stratégie de compartiment utilise une clé de condition associée à la liste ACL qui nécessite une liste ACL différente, vous devez supprimer cette clé de condition. Cet exemple de politique de compartiment nécessite l'`public-read`ACL pour les `PutObject` requêtes S3 et doit donc être mis à jour avant la désactivation ACLs. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Only allow writes to my bucket with public read access",
            "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": "public-read"
                }
            }
        }
    ]
}
```

------

## Exemples de cas d’utilisation
<a name="object-ownership-migrating-acls"></a>

Les exemples suivants vous montrent comment migrer les autorisations ACL vers des stratégies de compartiment pour des cas d’utilisation spécifiques.

**Topics**
+ [Octroi de l’accès au groupe de livraison des journaux S3 pour la journalisation des accès au serveur](#object-ownership-server-access-logs)
+ [Accordez un accès public en lecture aux objets se trouvant dans un compartiment.](#object-ownership-public-read)
+ [Accordez à Amazon ElastiCache (Redis OSS) l'accès à votre compartiment S3](#object-ownership-elasticache-redis)

### Octroi de l’accès au groupe de livraison des journaux S3 pour la journalisation des accès au serveur
<a name="object-ownership-server-access-logs"></a>

Si vous souhaitez appliquer le paramètre activé 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 autorisations ACL du bucket 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](enable-server-access-logging.md#grant-log-delivery-permissions-general).

Ce compartiment ACL accorde un accès en `WRITE` et en `READ_ACP` au groupe de mise à disposition des journaux S3 :

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "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 les autorisations ACL du compartiment pour le groupe de mise à disposition du journal S3 vers le principal du service de journalisation dans une stratégie de compartiment**

1. Ajoutez la stratégie de compartiment suivante à votre compartiment de destination, 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": "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"
                   }
               }
           }
       ]
   }
   ```

1. Réinitialisez la liste ACL de votre compartiment de destination sur la liste ACL par défaut.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Appliquez le paramètre Propriétaire du compartiment appliqué](object-ownership-existing-bucket.md) pour Propriété d’objets à votre compartiment de destination.

### Accordez un accès public en lecture aux objets se trouvant dans un compartiment.
<a name="object-ownership-public-read"></a>

Si votre objet ACLs accorde un accès public en lecture à tous les objets de votre compartiment, vous pouvez migrer ces autorisations ACL vers une politique de compartiment.

Cette liste ACL d’objet accorde un accès public en lecture à un objet dans un compartiment :

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```

**Pour migrer les autorisations ACL publiques en lecture vers une stratégie de compartiment**

1. 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/*"
   ```

1. [Appliquez le paramètre Propriétaire du compartiment appliqué](object-ownership-existing-bucket.md) pour Propriété d'objets

### Accordez à Amazon ElastiCache (Redis OSS) l'accès à votre compartiment S3
<a name="object-ownership-elasticache-redis"></a>

Vous pouvez [exporter votre sauvegarde ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 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 à une ACL de compartiment, 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 compartiment ACLs. Pour plus d'informations, consultez la section [Accorder l' ElastiCache accès à votre compartiment Amazon S3](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) dans le *guide de ElastiCache l'utilisateur Amazon*.

L'exemple suivant montre les autorisations ACL du bucket qui accordent des autorisations à ElastiCache. 

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "WRITE"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ_ACP"
        }
    ]
}
```

**Pour migrer les autorisations ACL du bucket pour ElastiCache (Redis OSS) vers une politique de bucket**

1. 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/*"
               ]
           }
       ]
   }
   ```

1. Réinitialisez la liste ACL de votre compartiment à la liste ACL par défaut :

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Appliquez le paramètre Propriétaire du compartiment appliqué](object-ownership-existing-bucket.md) pour Propriété d'objets