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.
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’autorisations3: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é et Ajout de l’option de substitution du propriétaire à la configuration de réplication. Pour un exemple pratique avec des step-by-step instructions, voirComment modifier le propriétaire du réplica.
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.
Considérations relatives à l’option de substitution de propriété
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
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é
dans le compartiment de destination Tax
et de modifier le propriétaire des réplicas. Pour utiliser cet exemple, remplacez amzn-s3-demo-destination-bucket
par vos propres informations.user input
placeholders
<?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
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 AWS Identity and Access Management (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
par le nom du compartiment de destination.amzn-s3-demo-destination-bucket
... { "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
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
par vos propres informations.user input placeholders
... { "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
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.
Pour step-by-step obtenir des instructions, voirConfiguration d’une réplication pour des compartiments dans le même compte. 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.
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 AWS Identity and Access Management (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
par vos propres informations. user input placeholders
-
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
etacctA
. 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 dans le Guide de l’utilisateur AWS Command Line Interface .acctB
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 dans le Guide de l’utilisateur IAM. -
Créez le compartiment source et activez la gestion des versions. Cet exemple crée un compartiment source nommé
dans la région USA Est (Virginie du Nord) (amzn-s3-demo-source-bucket
us-east-1
).aws s3api create-bucket \ --bucket
amzn-s3-demo-source-bucket
\ --regionus-east-1
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-source-bucket
\ --versioning-configuration Status=Enabled \ --profileacctA
-
Créez un compartiment de destination et activez la gestion des versions. Cet exemple crée un compartiment de destination nommé
dans la région USA Ouest (Oregon) (amzn-s3-demo-destination-bucket
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
\ --regionus-west-2
\ --create-bucket-configuration LocationConstraint=us-west-2
\ --profileacctB
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-destination-bucket
\ --versioning-configuration Status=Enabled \ --profileacctB
-
Vous devez ajouter des autorisations à la stratégie de votre compartiment de destination pour autoriser la modification de propriété du réplica.
-
Enregistrez la politique suivante dans un fichier nommé
. Veillez à remplacer lesdestination-bucket-policy
.json
par vos propres informations.user input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Sid":
"destination_bucket_policy_sid"
, "Principal": { "AWS":"source-bucket-owner-account-id"
}, "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner", "s3:ReplicateTags", "s3:GetObjectVersionTagging" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" ] } ] } -
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
-
-
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.
-
Créez le rôle IAM.
-
Copiez la stratégie d’approbation suivante et enregistrez-la dans un fichier nommé
dans le répertoire actif sur votre ordinateur local. Cette stratégie octroie à Amazon S3 les autorisations pour endosser le rôle.s3-role-trust-policy
.json{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Exécutez la AWS CLI
create-role
commande suivante pour créer le rôle IAM :$
aws iam create-role \ --role-namereplicationRole
\ --assume-role-policy-document file://s3-role-trust-policy
.json \ --profileacctA
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.
-
-
Attachez une stratégie d'autorisation au rôle.
-
Copiez la politique d’autorisations suivante et enregistrez-la dans un fichier nommé
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.s3-role-perm-pol-changeowner
.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
/*" } ] } -
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-namereplicationRole
\ --policy-document file://s3-role-perm-pol-changeowner
.json \ --policy-namereplicationRolechangeownerPolicy
\ --profileacctA
-
-
-
Ajoutez une configuration de réplication à votre compartiment source.
-
AWS CLI Nécessite de spécifier la configuration de réplication au format JSON. Enregistrez la configuration JSON suivante dans un fichier nommé
dans le répertoire actif sur votre ordinateur local. Dans cette configuration,replication
.jsonAccessControlTranslation
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" } } } ] } -
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
. RemplacezIAM-role-ARN
par l’ARN du rôle IAM que vous avez créé auparavant. Enregistrez les Modifications.IAM-role-ARN
-
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 \ --bucketamzn-s3-demo-source-bucket
\ --profileacctA
-
-
Testez votre configuration de réplication en vérifiant l’appartenance du réplica dans la console Amazon S3.
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
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.
Pour obtenir un exemple de code illustrant l’ajout d’une configuration de réplication, consultez À l'aide du AWS SDKs. 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.