

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.

# Modification du propriétaire d’un réplica
<a name="replication-change-owner"></a>

Dans une réplication, par défaut, le réplica appartient également au propriétaire de l’objet source. Toutefois, lorsque les compartiments source et de destination appartiennent à des propriétaires différents Comptes AWS, vous souhaiterez peut-être modifier le propriétaire de la réplique. Par exemple, vous pouvez changer l’appartenance afin de limiter l’accès aux réplicas d’objets. Dans votre configuration de réplication, vous pouvez ajouter des paramètres de configuration facultatifs pour remplacer la propriété des répliques par Compte AWS celle qui détient les compartiments de destination. 

Pour changer le propriétaire des réplicas, procédez comme suit :
+ Ajoutez l’option de *substitution du propriétaire* à la configuration de réplication pour indiquer à Amazon S3 de modifier le propriétaire des réplicas. 
+ Accordez à Amazon S3 l’autorisation `s3:ObjectOwnerOverrideToBucketOwner` de modifier le propriétaire des réplicas. 
+ Ajoutez l’autorisation `s3:ObjectOwnerOverrideToBucketOwner` dans la politique du compartiment de destination pour autoriser la modification du propriétaire des réplicas. L’autorisation `s3:ObjectOwnerOverrideToBucketOwner` permet au propriétaire des compartiments de destination d’accepter la propriété des réplicas d’objet.

Pour plus d’informations, consultez [Considérations relatives à l’option de substitution de propriété](#repl-ownership-considerations) et [Ajout de l’option de substitution du propriétaire à la configuration de réplication](#repl-ownership-owneroverride-option). Pour un exemple pratique avec des step-by-step instructions, voir[Comment modifier le propriétaire du réplica](#replication-walkthrough-3).

**Important**  
Au lieu d’utiliser l’option de substitution du propriétaire, vous pouvez utiliser le paramètre appliqué par le propriétaire du compartiment pour Propriété d’objets. Lorsque vous utilisez la réplication et que les compartiments source et de destination appartiennent à des propriétaires différents Comptes AWS, le propriétaire du compartiment de destination peut utiliser le paramètre imposé par le propriétaire du compartiment pour Object Ownership afin de remplacer la propriété de la réplique par le Compte AWS propriétaire du bucket de destination. Ce paramètre désactive les listes de contrôle d'accès aux objets (ACLs).   
Le paramètre appliqué par le propriétaire du compartiment imite le comportement de substitution de propriétaire existant sans avoir besoin de l’autorisation `s3:ObjectOwnerOverrideToBucketOwner`. Tous les objets répliqués dans le compartiment de destination avec le paramètre Propriétaire du compartiment appliqué appartiennent au propriétaire du compartiment de destination. Pour en savoir plus sur la propriété des objets, consultez [Contrôle de la propriété des objets et désactivation ACLs pour votre compartiment](about-object-ownership.md).

## Considérations relatives à l’option de substitution de propriété
<a name="repl-ownership-considerations"></a>

Lorsque vous configurez l’option de substitution de propriété, les considérations suivantes s’appliquent :
+ Par défaut, le propriétaire de l’objet source possède également le réplica. Amazon S3 réplique la version de l’objet et la liste ACL qui lui est associée.

  Si vous ajoutez l’option de substitution de propriétaire à votre configuration de réplication, Amazon S3 réplique uniquement la version de l’objet, mais pas la liste ACL. En outre, Amazon S3 ne réplique pas les modifications ultérieures de la liste ACL de l’objet source. Amazon S3 définit la liste ACL sur le réplica qui accorde un contrôle total au propriétaire du compartiment de destination. 
+  Lorsque vous mettez à jour une configuration de réplication pour activer ou désactiver la substitution de propriétaire, le comportement suivant intervient :
  + Si vous ajoutez l’option de substitution du propriétaire à la configuration de réplication :

    Quand Amazon S3 réplique une version de l’objet, il supprime la liste ACL associée à l’objet source. Amazon S3 définit à la place la liste ACL sur le réplica et accorde un contrôle total au propriétaire du compartiment de destination. Amazon S3 ne réplique pas les modifications ultérieures de la liste ACL de l’objet source. Toutefois, cette modification de liste de contrôle d’accès (ACL) ne s’applique pas aux versions d’objet répliquées avant la définition de l’option de substitution du propriétaire. Les mises à jour de liste de contrôle d’accès (ACL) pour les objets source répliqués avant la spécification de la substitution du propriétaire continuent donc d’être répliquées (car l’objet et ses réplicas continuent d’avoir le même propriétaire).
  + Si vous supprimez l’option de substitution du propriétaire de la configuration de réplication :

    Amazon S3 réplique les nouveaux objets qui apparaissent dans le compartiment source et dans les compartiments associés ACLs aux compartiments de destination. Pour les objets qui ont été répliqués avant que vous ne supprimiez le remplacement du propriétaire, Amazon S3 ne les réplique pas, ACLs car le changement de propriété de l'objet effectué par Amazon S3 reste en vigueur. En d'autres ACLs termes, la version de l'objet qui a été répliquée lorsque la dérogation par le propriétaire a été définie continue à ne pas être répliquée.

## Ajout de l’option de substitution du propriétaire à la configuration de réplication
<a name="repl-ownership-owneroverride-option"></a>

**Avertissement**  
Ajoutez l'option de remplacement du propriétaire uniquement lorsque les compartiments source et de destination appartiennent à des propriétaires différents. Comptes AWS Amazon S3 ne vérifie pas si les compartiments appartiennent au même compte ou à des comptes différents. Si vous ajoutez le remplacement du propriétaire alors que les deux compartiments appartiennent au même propriétaire Compte AWS, Amazon S3 applique le remplacement du propriétaire. Cette option accorde des autorisations complètes au propriétaire du compartiment de destination et ne reproduit pas les mises à jour ultérieures des listes de contrôle d'accès des objets sources ()ACLs. Le propriétaire du réplica peut procéder directement à des modifications de la liste de contrôle d’accès (ACL) associée à un réplica à l’aide d’une requête `PutObjectAcl`, mais pas par l’intermédiaire de la réplication.

Pour spécifier l’option de substitution du propriétaire, ajoutez les informations suivantes à chaque élément `Destination` : 
+ L’élément `AccessControlTranslation`, qui indique à Amazon S3 de modifier le propriétaire des réplicas
+ L'`Account`élément, qui indique le propriétaire Compte AWS du compartiment de destination 

```
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    ...
    <Destination>
      ...
      <AccessControlTranslation>
           <Owner>Destination</Owner>
       </AccessControlTranslation>
      <Account>{{destination-bucket-owner-account-id}}</Account>
    </Destination>
  </Rule>
</ReplicationConfiguration>
```

L’exemple de configuration de réplication suivant indique à Amazon S3 de répliquer les objets ayant le préfixe de clé {{`Tax`}} dans le compartiment de destination `{{amzn-s3-demo-destination-bucket}}` et de modifier le propriétaire des réplicas. Pour utiliser cet exemple, remplacez les `{{user input placeholders}}` par vos propres informations.

```
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Role>arn:aws:iam::{{account-id}}:role/{{role-name}}</Role>
   <Rule>
      <ID>{{Rule-1}}</ID>
      <Priority>{{1}}</Priority>
      <Status>Enabled</Status>
      <DeleteMarkerReplication>
         <Status>{{Disabled}}</Status>
      </DeleteMarkerReplication>
      <Filter>
         <Prefix>{{Tax}}</Prefix>
      </Filter>
      <Destination>
         <Bucket>arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}</Bucket>
         <Account>{{destination-bucket-owner-account-id}}</Account>
         <AccessControlTranslation>
            <Owner>Destination</Owner>
         </AccessControlTranslation>
      </Destination>
   </Rule>
</ReplicationConfiguration>
```

## Octroi à Amazon S3 de l’autorisation de modifier le propriétaire des réplicas
<a name="repl-ownership-add-role-permission"></a>

Accordez à Amazon S3 l'autorisation de modifier la propriété de la réplique en ajoutant l'autorisation pour l'`s3:ObjectOwnerOverrideToBucketOwner`action dans la politique d'autorisation associée au rôle Gestion des identités et des accès AWS (IAM). Il s’agit du rôle IAM spécifié dans la configuration de réplication qui autorise Amazon S3 à endosser le rôle et à répliquer les objets en votre nom. Pour utiliser l’exemple suivant, remplacez `{{amzn-s3-demo-destination-bucket}}` par le nom du compartiment de destination.

```
...
{
    "Effect":"Allow",
         "Action":[
       "s3:ObjectOwnerOverrideToBucketOwner"
    ],
    "Resource":"arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/*"
}
...
```

## Ajout d’autorisations dans la stratégie du compartiment de destination pour autoriser la modification de propriété du réplica
<a name="repl-ownership-accept-ownership-b-policy"></a>

Le propriétaire du compartiment de destination doit accorder au propriétaire du compartiment source l’autorisation de modifier la propriété du réplica. Le propriétaire du compartiment de destination accorde au propriétaire du compartiment source l’autorisation pour l’action `s3:ObjectOwnerOverrideToBucketOwner`. Cette autorisation permet au propriétaire du compartiment de destination d’accepter la propriété des réplicas d’objet. L’exemple d’instruction de politique de compartiment suivant montre comment procéder. Pour utiliser cet exemple, remplacez les `{{user input placeholders}}` par vos propres informations.

```
...
{
    "Sid":"1",
    "Effect":"Allow",
    "Principal":{"AWS":"{{source-bucket-account-id}}"},
    "Action":["s3:ObjectOwnerOverrideToBucketOwner"],
    "Resource":"arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/*"
}
...
```

## Comment modifier le propriétaire du réplica
<a name="replication-walkthrough-3"></a>

Lorsque les compartiments source et de destination d'une configuration de réplication appartiennent à des propriétaires différents Comptes AWS, vous pouvez demander à Amazon S3 de remplacer le propriétaire de la réplique par Compte AWS celui qui détient le compartiment de destination. Les exemples suivants montrent comment utiliser la console Amazon S3, le AWS Command Line Interface (AWS CLI) et le AWS SDKs pour modifier le propriétaire de la réplique. 

### Utilisation de la console S3
<a name="replication-ex3-console"></a>

Pour step-by-step obtenir des instructions, voir[Configuration d’une réplication pour des compartiments dans le même compte](replication-walkthrough1.md). Cette rubrique fournit des instructions pour configurer une configuration de réplication lorsque les compartiments source et de destination sont détenus de manière identique et différente Comptes AWS.

### À l'aide du AWS CLI
<a name="replication-ex3-cli"></a>

La procédure suivante explique comment changer l’appartenance du réplica à l’aide de l’ AWS CLI. Dans cette procédure, effectuez les opérations suivantes : 
+ Créez les compartiments source et de destination.
+ Activez la gestion des versions sur ces compartiments.
+ Créez un rôle Gestion des identités et des accès AWS (IAM) qui autorise Amazon S3 à répliquer des objets.
+ Ajoutez la configuration de réplication au compartiment source.
+ Dans la configuration de réplication, vous chargez Amazon S3 de changer l’appartenance du réplica.
+ Vous testez votre configuration de réplication.

**Pour modifier la propriété de la réplique lorsque les compartiments source et de destination appartiennent à des entités différentes Comptes AWS ()AWS CLI**

Pour utiliser les exemples de AWS CLI commandes de cette procédure, remplacez-les `{{user input placeholders}}` par vos propres informations. 

1. Dans cet exemple, vous créez les compartiments source et destination dans deux compartiments différents Comptes AWS. Pour utiliser ces deux comptes, configurez l’ AWS CLI avec deux profils nommés. Cet exemple utilise des profils respectivement nommés {{`acctA`}} et {{`acctB`}}. Pour obtenir des informations sur la définition des profils d’informations d’identification et l’utilisation de profils nommés, consultez [Paramètres des fichiers de configuration et d’informations d’identification](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) dans le *Guide de l’utilisateur AWS Command Line Interface *. 
**Important**  
Les profils que vous utilisez pour cette procédure doivent disposer des autorisations nécessaires. Par exemple, dans la configuration de réplication, vous spécifiez le rôle IAM qu’Amazon S3 peut endosser. Vous ne pouvez effectuer cette tâche que si le profil que vous utilisez dispose de l’autorisation `iam:PassRole`. Si vous utilisez des informations d’identification d’administrateur pour créer un profil nommé, vous pouvez effectuer toutes les tâches de cette procédure. Pour plus d’informations, consultez [Octroi d’autorisations à un utilisateur pour transférer un rôle à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dans le *Guide de l’utilisateur IAM*. 

1. Créez le compartiment source et activez la gestion des versions. Cet exemple crée un compartiment source nommé `{{amzn-s3-demo-source-bucket}}` dans la région USA Est (Virginie du Nord) (`us-east-1`). 

   ```
   aws s3api create-bucket \
   --bucket {{amzn-s3-demo-source-bucket}} \
   --region {{us-east-1}} \
   --profile {{acctA}}
   ```

   ```
   aws s3api put-bucket-versioning \
   --bucket {{amzn-s3-demo-source-bucket}} \
   --versioning-configuration Status=Enabled \
   --profile {{acctA}}
   ```

1. Créez un compartiment de destination et activez la gestion des versions. Cet exemple crée un compartiment de destination nommé `{{amzn-s3-demo-destination-bucket}}` dans la région USA Ouest (Oregon) (`us-west-2`). Utilisez un profil de Compte AWS différent de celui utilisé pour le compartiment source.

   ```
   aws s3api create-bucket \
   --bucket {{amzn-s3-demo-destination-bucket}} \
   --region {{us-west-2}} \
   --create-bucket-configuration LocationConstraint={{us-west-2}} \
   --profile {{acctB}}
   ```

   ```
   aws s3api put-bucket-versioning \
   --bucket {{amzn-s3-demo-destination-bucket}} \
   --versioning-configuration Status=Enabled \
   --profile {{acctB}}
   ```

1. Vous devez ajouter des autorisations à la stratégie de votre compartiment de destination pour autoriser la modification de propriété du réplica.

   1.  Enregistrez la politique suivante dans un fichier nommé `{{destination-bucket-policy}}.json`. Veillez à remplacer les {{`user input placeholders`}} par vos propres informations.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "{{destination_bucket_policy_sid}}",
                  "Principal": {
                      "AWS": "{{source-bucket-owner-123456789012}}"
                  },
                  "Action": [
                      "s3:ReplicateObject",
                      "s3:ReplicateDelete",
                      "s3:ObjectOwnerOverrideToBucketOwner",
                      "s3:ReplicateTags",
                      "s3:GetObjectVersionTagging"
                  ],
                  "Effect": "Allow",
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. Ajoutez la politique précédente au compartiment de destination à l’aide de la commande `put-bucket-policy` suivante :

      ```
      aws s3api put-bucket-policy --region $ {{{destination-region}}} --bucket $ {{{amzn-s3-demo-destination-bucket}}} --policy file://{{destination_bucket_policy}}.json
      ```

1. Créez un rôle IAM. Vous précisez ce rôle dans la configuration de réplication que vous ajouterez ultérieurement au compartiment source. Amazon S3 endosse ce rôle pour répliquer des objets en votre nom. Vous créez un rôle IAM en deux étapes.
   + Créez le rôle.
   + Attachez une stratégie d’autorisation au rôle.

   1. Créez le rôle IAM.

      1. Copiez la stratégie d’approbation suivante et enregistrez-la dans un fichier nommé `{{s3-role-trust-policy}}.json` dans le répertoire actif sur votre ordinateur local. Cette stratégie octroie à Amazon S3 les autorisations pour endosser le rôle.

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Principal":{
                     "Service":"s3.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole"
               }
            ]
         }
         ```

------

      1. Exécutez la AWS CLI `create-role` commande suivante pour créer le rôle IAM :

         ```
         $ aws iam create-role \
         --role-name {{replicationRole}} \
         --assume-role-policy-document file://{{s3-role-trust-policy}}.json  \
         --profile {{acctA}}
         ```

         Notez l’Amazon Resource Name (ARN) du rôle IAM que vous avez créé. Vous aurez besoin de cet ARN dans une étape ultérieure.

   1. Attachez une stratégie d'autorisation au rôle.

      1. Copiez la politique d’autorisations suivante et enregistrez-la dans un fichier nommé `{{s3-role-perm-pol-changeowner}}.json` dans le répertoire actuel de votre ordinateur local. Cette stratégie accorde des autorisations pour diverses actions sur les compartiments et les objets Amazon S3. Au cours des étapes suivantes, vous attachez cette politique au rôle IAM que vous avez créé précédemment. 

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:GetObjectVersionForReplication",
                     "s3:GetObjectVersionAcl"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ListBucket",
                     "s3:GetReplicationConfiguration"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ReplicateObject",
                     "s3:ReplicateDelete",
                     "s3:ObjectOwnerOverrideToBucketOwner",
                     "s3:ReplicateTags",
                     "s3:GetObjectVersionTagging"
                  ],
                  "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
               }
            ]
         }
         ```

------

      1. Pour attacher la politique d’autorisations précédente au rôle, exécutez la commande `put-role-policy` suivante :

         ```
         $ aws iam put-role-policy \
         --role-name {{replicationRole}} \
         --policy-document file://{{s3-role-perm-pol-changeowner}}.json \
         --policy-name {{replicationRolechangeownerPolicy}} \
         --profile {{acctA}}
         ```

1. Ajoutez une configuration de réplication à votre compartiment source.

   1.  AWS CLI Nécessite de spécifier la configuration de réplication au format JSON. Enregistrez la configuration JSON suivante dans un fichier nommé `{{replication}}.json` dans le répertoire actif sur votre ordinateur local. Dans cette configuration, `AccessControlTranslation` spécifie le changement d’appartenance du réplica du propriétaire du compartiment source au propriétaire du compartiment de destination. 

      ```
      {
         "Role":"{{IAM-role-ARN}}",
         "Rules":[
            {
               "Status":"Enabled",
               "Priority":1,
               "DeleteMarkerReplication":{
                  "Status":"Disabled"
               },
               "Filter":{
               },
               "Status":"Enabled",
               "Destination":{
                  "Bucket":"arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}",
                  "Account":"{{destination-bucket-owner-account-id}}",
                  "AccessControlTranslation":{
                     "Owner":"Destination"
                  }
               }
            }
         ]
      }
      ```

   1. Modifiez le code JSON en fournissant des valeurs pour le nom du compartiment de destination, l’ID de compte du propriétaire du compartiment de destination et `{{IAM-role-ARN}}`. Remplacez {{`IAM-role-ARN`}} par l’ARN du rôle IAM que vous avez créé auparavant. Enregistrez les Modifications.

   1. Pour ajouter la configuration de réplication au compartiment source, exécutez la commande suivante :

      ```
      $ aws s3api put-bucket-replication \
      --replication-configuration file://{{replication}}.json \
      --bucket {{amzn-s3-demo-source-bucket}} \
      --profile {{acctA}}
      ```

1. Testez votre configuration de réplication en vérifiant l’appartenance du réplica dans la console Amazon S3.

   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. Ajoutez des objets au compartiment source. Vérifiez que le compartiment de destination contient les répliques d'objets et que le propriétaire des répliques a été remplacé par Compte AWS celui qui détient le compartiment de destination.

### À l'aide du AWS SDKs
<a name="replication-ex3-sdk"></a>

 Pour obtenir un exemple de code illustrant l’ajout d’une configuration de réplication, consultez [À l'aide du AWS SDKs](replication-walkthrough1.md#replication-ex1-sdk). Vous devez modifier la configuration de réplication en conséquence. Pour obtenir des informations conceptuelles, consultez [Modification du propriétaire d’un réplica](#replication-change-owner). 