Réplication d'objets chiffrés (SSE-C, SSE -S3, -, SSE -KMS) DSSE KMS - Amazon Simple Storage Service

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.

Réplication d'objets chiffrés (SSE-C, SSE -S3, -, SSE -KMS) DSSE KMS

Important

Amazon S3 applique désormais le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) comme niveau de chiffrement de base pour chaque compartiment d'Amazon S3. À partir du 5 janvier 2023, tous les nouveaux chargements d'objets sur Amazon S3 sont automatiquement chiffrés, sans coût supplémentaire et sans impact sur les performances. L'état du chiffrement automatique pour la configuration de chiffrement par défaut du compartiment S3 et pour le téléchargement de nouveaux objets est disponible dans AWS CloudTrail logs, S3 Inventory, S3 Storage Lens, console Amazon S3 et en tant qu'en-tête de API réponse Amazon S3 supplémentaire dans le AWS Command Line Interface and AWS SDKs. Pour plus d'informations, consultez la section Chiffrement par défaut FAQ.

Certaines considérations particulières doivent être prises en compte lorsque vous répliquez des objets qui ont été chiffrés à l'aide du chiffrement côté serveur. Amazon S3 prend en charge les types suivants de chiffrement côté serveur :

  • Chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3)

  • Chiffrement côté serveur avec AWS Key Management Service (AWS KMS) clés (SSE-KMS)

  • Chiffrement double couche côté serveur avec AWS KMS clés (DSSE-KMS)

  • Chiffrement côté serveur avec des clés fournies par le client (-C) SSE

Pour plus d’informations sur le chiffrement côté serveur, consultez Protection des données avec le chiffrement côté serveur.

Cette rubrique explique les autorisations dont vous avez besoin pour demander à Amazon S3 de répliquer des objets qui ont été chiffrés à l'aide du chiffrement côté serveur. Cette rubrique fournit également des éléments de configuration supplémentaires que vous pouvez ajouter, ainsi qu'un exemple AWS Identity and Access Management (IAM) politiques qui accordent les autorisations nécessaires pour répliquer des objets chiffrés.

Pour un exemple avec des step-by-step instructions, voirActivation de la réplication pour les objets chiffrés. Pour obtenir des informations sur la création d'une configuration de réplication, veuillez consulter Vue d'ensemble de la réplication d'objets.

Note

Vous pouvez utiliser plusieurs régions AWS KMS keys dans Amazon S3. Cependant, Amazon S3 traite actuellement les clés multi-régions comme s'il s'agissait de clés à région unique et n'utilise pas les fonctions multi-régions de la clé. Pour plus d'informations, consultez la section Utilisation de clés multirégionales dans AWS Key Management Service Guide du développeur.

Comment le chiffrement par défaut du compartiment a un impact sur la réplication

Après avoir activé le chiffrement par défaut pour un compartiment de destination de réplication, le comportement de chiffrement suivant s'applique :

  • Si des objets du compartiment source ne sont pas chiffrés, les objets réplica du compartiment de destination sont chiffrés à l'aide des paramètres de chiffrement par défaut du compartiment de destination. Par conséquent, les étiquettes d'entité (ETags) des objets sources sont différentes de celles ETags des objets répliqués. Si certaines applications l'utilisentETags, vous devez les mettre à jour pour tenir compte de cette différence.

  • Si les objets du compartiment source sont chiffrés à l'aide du chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3), le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) clés (SSE-KMS), ou chiffrement double couche côté serveur avec AWS KMS keys (DSSE-KMS), les objets répliques du compartiment de destination utilisent le même type de chiffrement que les objets source. Les paramètres de chiffrement par défaut du compartiment de destination ne sont pas utilisés.

Réplication d'objets chiffrés avec -C SSE

En utilisant le chiffrement côté serveur avec des clés fournies par le client (SSE-C), vous pouvez gérer vos propres clés de chiffrement propriétaires. Avec SSE -C, vous gérez les clés tandis qu'Amazon S3 gère le processus de chiffrement et de déchiffrement. Vous devez fournir une clé de chiffrement dans le cadre de votre demande, mais vous n'avez pas besoin d'écrire de code pour effectuer le chiffrement ou le déchiffrement d'objets. Lorsque vous chargez un objet, Amazon S3 chiffre l'objet au moyen de la clé que vous avez fournie. Amazon S3 élimine ensuite cette clé de la mémoire. Lorsque vous récupérez un objet, vous devez fournir la même clé de chiffrement dans la demande. Pour de plus amples informations, veuillez consulter Utilisation du chiffrement côté serveur avec des clés fournies par le client (-C) SSE.

S3 Replication prend en charge les objets chiffrés avec SSE -C. Vous pouvez configurer la réplication d'objets SSE -C dans la console Amazon S3 ou avec le AWS SDKs, de la même manière que vous configurez la réplication pour les objets non chiffrés. Il n'existe pas d'autorisations SSE -C supplémentaires au-delà de celles actuellement requises pour la réplication.

S3 Replication réplique automatiquement les objets chiffrés SSE -C récemment téléchargés s'ils sont éligibles, comme indiqué dans votre configuration de réplication S3. Pour répliquer des objets existants dans vos compartiments, utilisez la réplication par lot S3. Pour plus d'informations sur la réplication d'objets existants, consultez Configuration de la réplication en direct et Réplication d'objets existants via la réplication par lot S3.

La réplication d'objets SSE -C est gratuite. Pour en savoir plus sur la tarification de la réplication, consultez la page de tarification d'Amazon S3.

Réplication d'objets chiffrés avec SSE -S3KMS, SSE - ou - DSSE KMS

Par défaut, Amazon S3 ne réplique pas les objets chiffrés avec SSE - KMS ou DSSE -KMS. Cette section explique les éléments de configuration supplémentaire que vous pouvez ajouter de manière à indiquer à Amazon S3 de répliquer ces objets.

Pour un exemple avec des step-by-step instructions, voirActivation de la réplication pour les objets chiffrés. Pour obtenir des informations sur la création d'une configuration de réplication, veuillez consulter Vue d'ensemble de la réplication d'objets.

Spécification d'informations supplémentaires dans la configuration de la réplication

Dans la configuration de réplication, procédez comme suit :

  • Dans l'Destinationélément de votre configuration de réplication, ajoutez l'ID du symétrique AWS KMS clé gérée par le client que vous souhaitez qu'Amazon S3 utilise pour chiffrer les répliques d'objets, comme illustré dans l'exemple de configuration de réplication suivant.

  • Inscrivez-vous explicitement en activant la réplication d'objets chiffrés à l'aide de KMS clés (SSE- KMS ou DSSE -KMS). Pour valider, ajoutez l'élément SourceSelectionCriteria, comme illustré dans l'exemple de configuration de réplication suivant.

<ReplicationConfiguration> <Rule> ... <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> ... <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same Région AWS as the destination bucket.</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> ... </Rule> </ReplicationConfiguration>
Important

La KMS clé doit avoir été créée dans le même Région AWS comme compartiments de destination.

La KMS clé doit être valide. L'PutBucketReplicationAPIopération ne vérifie pas la validité des KMS clés. Si vous utilisez une KMS clé non valide, vous recevrez le code d'HTTP200 OKétat en réponse, mais la réplication échoue.

L'exemple suivant montre une configuration de réplication qui inclut des éléments de configuration facultatifs. Cette configuration de réplication a une règle. Cette règle s'applique aux objets dotés du préfixe de clé Tax. Amazon S3 utilise le paramètre spécifié AWS KMS key ID permettant de chiffrer ces répliques d'objets.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <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> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same Région AWS as the destination bucket. (S3 uses this key to encrypt object replicas.)</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> </Rule> </ReplicationConfiguration>

Octroi d'autorisations supplémentaires pour le IAM rôle

Pour répliquer des objets chiffrés au repos à l'aide de SSE -S3KMS, SSE - ou DSSE -KMS, accordez les autorisations supplémentaires suivantes au AWS Identity and Access Management (IAM) rôle que vous spécifiez dans la configuration de réplication. Vous accordez ces autorisations en mettant à jour la politique d'autorisation associée au IAM rôle.

  • s3:GetObjectVersionForReplicationaction pour les objets source — Cette action permet à Amazon S3 de répliquer à la fois des objets non chiffrés et des objets créés avec le chiffrement côté serveur en utilisant SSE -S3, SSE - ou -. KMS DSSE KMS

    Note

    Nous vous recommandons d'utiliser l'action s3:GetObjectVersionForReplication à la place de l'action s3:GetObjectVersion, car s3:GetObjectVersionForReplication fournit uniquement à Amazon S3 le minimum d'autorisations nécessaires pour la réplication. En outre, l's3:GetObjectVersionaction permet la réplication d'objets non chiffrés et SSE chiffrés en -S3, mais pas d'objets chiffrés à l'aide de KMS clés (SSE- ou -KMS). DSSE KMS

  • kms:Decrypt et kms:Encrypt AWS KMS actions pour les KMS clés

    • Vous devez accorder kms:Decrypt des autorisations pour AWS KMS key qui est utilisé pour déchiffrer l'objet source.

    • Vous devez accorder kms:Encrypt des autorisations pour AWS KMS key qui est utilisé pour chiffrer la réplique de l'objet.

  • kms:GenerateDataKeyaction pour la réplication d'objets en texte brut — Si vous répliquez des objets en texte brut vers un compartiment avec KMS ou SSE DSSE - le KMS chiffrement activé par défaut, vous devez inclure l'kms:GenerateDataKeyautorisation pour le contexte de chiffrement de destination et la KMS clé dans la politique. IAM

Nous vous recommandons de limiter ces autorisations uniquement aux compartiments et objets de destination en utilisant AWS KMS clés de condition. Le Compte AWS le propriétaire du IAM rôle doit disposer d'autorisations kms:Encrypt et d'kms:Decryptactions pour les KMS clés répertoriées dans la politique. Si les KMS clés appartiennent à un autre Compte AWS, le propriétaire des KMS clés doit accorder ces autorisations au Compte AWS à qui appartient le IAM rôle. Pour plus d'informations sur la gestion de l'accès à ces KMS clés, voir Utilisation de IAM politiques avec AWS KMSdans le AWS Key Management Service Guide du développeur.

Clés de compartiment S3 et réplication

Pour utiliser la réplication avec une clé de compartiment S3, AWS KMS key la politique de la KMS clé utilisée pour chiffrer la réplique de l'objet doit inclure l'kms:Decryptautorisation du principal appelant. L'appel à kms:Decrypt vérifie l'intégrité de la clé de compartiment S3 avant de l'utiliser. Pour de plus amples informations, veuillez consulter Utilisation d'une clé de compartiment S3 avec réplication.

Lorsqu'une clé de compartiment S3 est activée pour le compartiment source ou de destination, le contexte de chiffrement sera le nom de ressource Amazon du compartiment (ARN), et non celui de l'objet ARN (par exemple,arn:aws:s3:::bucket_ARN). Vous devez mettre à jour vos IAM politiques pour utiliser le bucket ARN dans le contexte de chiffrement :

"kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::bucket_ARN" ]

Pour plus d'informations, voir Contexte de chiffrement (x-amz-server-side-encryption-context) (dans la section « Utilisation du REST API ») etModifications à prendre en compte avant d'activer une clé de compartiment S3.

Exemples de politiques — Utilisation de SSE -S3 et de SSE - KMS avec réplication

Les exemples de IAM politiques suivants montrent des instructions relatives à l'utilisation de SSE -S3 et de SSE - KMS avec la réplication.

Exemple — Utilisation de SSE - KMS avec des compartiments de destination distincts

L'exemple de politique suivant montre des instructions relatives à l'utilisation de SSE - KMS avec des compartiments de destination distincts.

{ "Version":"2012-10-17", "Statement":[ { "Action": ["kms:Decrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*" ] } }, "Resource": [ "List of AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-1-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket1/key-prefix1*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same Région AWS as destination bucket 1). Used to encrypt object replicas created in destination bucket 1." ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-2-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket2/key-prefix1*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same Région AWS as destination bucket 2). Used to encrypt object replicas created in destination bucket 2." ] } ] }
Exemple — Réplication d'objets créés avec SSE -S3 et - SSE KMS

Voici une IAM politique complète qui accorde les autorisations nécessaires pour répliquer des objets non chiffrés, des objets créés avec SSE -S3 et des objets créés avec -. SSE KMS

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/key-prefix1*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-destination-bucket/prefix1*" ] } }, "Resource":[ "AWS KMS key ARNs (in the same Région AWS as the destination bucket) to use for encrypting object replicas" ] } ] }
Exemple : réplication d'objets avec des clés de compartiment S3

Voici une IAM politique complète qui accorde les autorisations nécessaires pour répliquer des objets avec des clés de compartiment S3.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/key-prefix1*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] } }, "Resource":[ "AWS KMS key ARNs (in the same Région AWS as the destination bucket) to use for encrypting object replicas" ] } ] }

Octroi d'autorisations supplémentaires pour les scénarios à plusieurs comptes

Dans un scénario entre comptes, où les compartiments source et destination sont détenus par différents Comptes AWS, vous pouvez utiliser une KMS clé pour chiffrer les répliques d'objets. Toutefois, le propriétaire de la KMS clé doit autoriser le propriétaire du compartiment source à utiliser la KMS clé.

Note

Si vous devez effectuer une réplication SSE (KMSdonnées entre comptes), votre règle de réplication doit spécifier une clé gérée par le client à partir de AWS KMS pour le compte de destination. Clés gérées par AWSn'autorisent pas l'utilisation entre comptes et ne peuvent donc pas être utilisés pour effectuer une réplication entre comptes.

Pour autoriser le propriétaire du compartiment source à utiliser la KMS clé (AWS KMS console)
  1. Connectez-vous au AWS Management Console et ouvrez le AWS KMS console à https://console.aws.amazon.com/km.

  2. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

  3. Pour afficher les clés de votre compte que vous créez et gérez vous-même, dans le volet de navigation, choisissez Clés gérées par le client.

  4. Choisissez la clé KMS.

  5. Sous la section Configuration générale, choisissez l'onglet Stratégie de clé.

  6. Faites défiler la page jusqu'à Autre Comptes AWS.

  7. Choisissez Ajouter un autre Comptes AWS.

    L'autre Comptes AWS une boîte de dialogue apparaît.

  8. Dans la boîte de dialogue, choisissez Ajouter un autre Compte AWS. Pour arn:aws:iam::, saisissez l'ID de compte du compartiment source.

  9. Sélectionnez Enregistrer les modifications.

Pour autoriser le propriétaire du compartiment source à utiliser la KMS clé (AWS CLI)

AWS KMS considérations relatives aux quotas de transactions

Lorsque vous ajoutez de nombreux nouveaux objets avec AWS KMS chiffrement après avoir activé la réplication entre régions (CRR), vous risquez de rencontrer un ralentissement (HTTP503 Service Unavailableerreurs). L'étranglement se produit lorsque le nombre de AWS KMS les transactions par seconde dépassent le quota actuel. Pour plus d'informations, consultez la section Quotas dans le AWS Key Management Service Guide du développeur.

Pour demander l'augmentation d'un quota, utilisez Service Quotas. Pour plus d'informations, consultez Demande d'augmentation de quota. Si le Service Quotas n'est pas pris en charge dans votre région, ouvrez un AWS Support cas.

Activation de la réplication pour les objets chiffrés

Par défaut, Amazon S3 ne réplique pas les objets chiffrés à l'aide du chiffrement côté serveur avec AWS Key Management Service (AWS KMS) clés (SSE-KMS) ou chiffrement double couche côté serveur avec AWS KMS clés (DSSE-KMS). Pour répliquer des objets chiffrés avec SSE - KMS ou DSS -KMS, vous devez modifier la configuration de réplication du compartiment pour indiquer à Amazon S3 de répliquer ces objets. Cet exemple explique comment utiliser la console Amazon S3 et le AWS Command Line Interface (AWS CLI) pour modifier la configuration de réplication du compartiment afin de permettre la réplication d'objets chiffrés.

Pour de plus amples informations, veuillez consulter Réplication d'objets chiffrés (SSE-C, SSE -S3, -, SSE -KMS) DSSE KMS.

Note

Lorsqu'une clé de compartiment S3 est activée pour le compartiment source ou de destination, le contexte de chiffrement sera le nom de ressource Amazon du compartiment (ARN), et non celui de l'objetARN. Vous devez mettre à jour vos IAM politiques pour utiliser le bucket ARN dans le contexte de chiffrement. Pour de plus amples informations, veuillez consulter Clés de compartiment S3 et réplication.

Note

Vous pouvez utiliser plusieurs régions AWS KMS keys dans Amazon S3. Cependant, Amazon S3 traite actuellement les clés multi-régions comme s'il s'agissait de clés à région unique et n'utilise pas les fonctions multi-régions de la clé. Pour plus d'informations, consultez la section Utilisation de clés multirégionales dans AWS Key Management Service Guide du développeur.

Pour step-by-step obtenir des instructions, voirConfiguration d'une réplication pour des compartiments source et destination appartenant au même compte. Cette rubrique fournit des instructions pour définir une configuration de réplication lorsque les buckets appartiennent à des entités identiques ou différentes. Comptes AWS.

Pour répliquer des objets chiffrés à l'aide du AWS CLI, vous devez effectuer les opérations suivantes :

  • Créez les compartiments source et de destination et activez la gestion des versions pour ces mêmes compartiments.

  • Créez un AWS Identity and Access Management (IAM) rôle de service qui autorise Amazon S3 à répliquer des objets. Les autorisations du IAM rôle incluent les autorisations nécessaires pour répliquer les objets chiffrés.

  • Ajoutez une configuration de réplication au compartiment source. La configuration de réplication fournit des informations relatives à la réplication d'objets chiffrés à l'aide de KMS clés.

  • Ajoutez des objets chiffrés au compartiment source.

  • Testez la configuration pour vérifier que vos objets chiffrés sont répliqués dans le compartiment de destination.

Les procédures suivantes vous guident tout au long de ce processus.

Pour répliquer des objets chiffrés côté serveur (AWS CLI)
  1. Dans cet exemple, vous créez à la fois le amzn-s3-demo-source-bucket and amzn-s3-demo-destination-bucket seaux dans le même sac Compte AWS Vous allez également définir un profil d'informations d'identification pour l'. AWS CLI. Cet exemple utilise le nom du profilacctA.

    Pour plus d'informations sur la définition des profils d'identification, consultez la section Profils nommés dans le AWS Command Line Interface Guide de l'utilisateur Pour utiliser les commandes de cet exemple, remplacez user input placeholders par vos propres informations.

  2. Utilisez les commandes suivantes pour créer DOC-EXAMPLE-SOURCE-BUCKET bucket et activez le versionnement sur celui-ci. Les exemples de commandes suivants créent le DOC-EXAMPLE-SOURCE-BUCKET seau dans la région USA Est (Virginie du Nordus-east-1) ().

    aws s3api create-bucket \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --region us-east-1 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --versioning-configuration Status=Enabled \ --profile acctA
  3. Utilisez les commandes suivantes pour créer DOC-EXAMPLE-DESTINATION-BUCKET bucket et activez le versionnement sur celui-ci. Les exemples de commandes suivants créent le DOC-EXAMPLE-DESTINATION-BUCKET seau dans la région ouest des États-Unis (Oregonus-west-2) ().

    Note

    Pour configurer une configuration de réplication lorsque les deux DOC-EXAMPLE-SOURCE-BUCKET and DOC-EXAMPLE-DESTINATION-BUCKET les seaux sont dans les mêmes Compte AWS, vous utilisez le même profil. Dans cet exemple, nous utilisons acctA. Pour configurer la réplication lorsque les buckets appartiennent à différents Comptes AWS, vous spécifiez des profils différents pour chacun d'entre eux.

    aws s3api create-bucket \ --bucket DOC-EXAMPLE-DESTINATION-BUCKET \ --region us-west-2 \ --create-bucket-configuration LocationConstraint=us-west-2 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket DOC-EXAMPLE-DESTINATION-BUCKET \ --versioning-configuration Status=Enabled \ --profile acctA
  4. Ensuite, vous créez un rôle IAM de service. Vous allez spécifier ce rôle dans la configuration de réplication que vous ajouterez au DOC-EXAMPLE-SOURCE-BUCKET seau plus tard. Amazon S3 endosse ce rôle pour répliquer des objets en votre nom. Vous créez un IAM rôle en deux étapes :

    • Créez un rôle de service.

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

    1. Pour créer un rôle IAM de service, procédez comme suit :

      1. Copiez la stratégie d'approbation suivante et enregistrez-la dans un fichier nommé s3-role-trust-policy-kmsobj.json dans le répertoire actif sur votre ordinateur local. Cette stratégie accorde au principal de service Amazon S3 les autorisations nécessaires pour endosser le rôle et permettre ainsi à Amazon S3 d'effectuer des tâches en votre nom.

        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
      2. Utilisez la commande suivante pour créer le rôle :

        $ aws iam create-role \ --role-name replicationRolekmsobj \ --assume-role-policy-document file://s3-role-trust-policy-kmsobj.json \ --profile acctA
    2. Ensuite, attachez une stratégie d'autorisation au rôle. Cette stratégie accorde des autorisations pour diverses actions sur les compartiments et les objets Amazon S3.

      1. Copiez la politique d'autorisations suivante et enregistrez-la dans un fichier nommé s3-role-permissions-policykmsobj.json dans le répertoire actuel de votre ordinateur local. Vous allez créer un IAM rôle et y associer la politique ultérieurement.

        Important

        Dans la politique d'autorisation, vous spécifiez AWS KMS clé IDs qui sera utilisée pour le chiffrement des amzn-s3-demo-destination-bucket compartiments amzn-s3-demo-source-bucket et. Vous devez créer deux KMS clés distinctes pour le amzn-s3-demo-source-bucket et amzn-s3-demo-destination-bucket seaux. AWS KMS keys ne sont pas partagés en dehors du Région AWS dans lequel ils ont été créés.

        { "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket", "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Effect":"Allow", "Condition":{ "StringLikeIfExists":{ "s3:x-amz-server-side-encryption":[ "aws:kms", "AES256", "aws:kms:dsse" ], "s3:x-amz-server-side-encryption-aws-kms-key-id":[ "AWS KMS key IDs(in ARN format) to use for encrypting object replicas" ] } }, "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] } }, "Resource":[ "AWS KMS key IDs(in ARN format) used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-west-2.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } }, "Resource":[ "AWS KMS key IDs(in ARN format) to use for encrypting object replicas" ] } ] }
      2. Créez une politique et attachez-la au rôle.

        $ aws iam put-role-policy \ --role-name replicationRolekmsobj \ --policy-document file://s3-role-permissions-policykmsobj.json \ --policy-name replicationRolechangeownerPolicy \ --profile acctA
  5. Ensuite, ajoutez la configuration de réplication suivante au compartiment amzn-s3-demo-source-bucket. Elle demande à Amazon S3 de répliquer les objets dotés du préfixe Tax/ dans le compartiment amzn-s3-demo-destination-bucket.

    Important

    Dans la configuration de réplication, vous spécifiez le IAM rôle qu'Amazon S3 peut assumer. Vous ne pouvez effectuer cette tâche que si vous disposez de l'autorisation iam:PassRole. Le profil que vous spécifiez dans la CLI commande doit disposer de cette autorisation. Pour plus d'informations, voir Accorder à un utilisateur l'autorisation de transmettre un rôle à un Service AWS dans le guide de l'utilisateur IAM.

    <ReplicationConfiguration> <Role>IAM-Role-ARN</Role> <Rule> <Priority>1</Priority> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Status>Enabled</Status> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key IDs to use for encrypting object replicas</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> </Rule> </ReplicationConfiguration>

    Pour ajouter une configuration de réplication au compartiment amzn-s3-demo-source-bucket, procédez comme suit :

    1. Le AWS CLI vous oblige à spécifier la configuration de réplication sous la formeJSON. Enregistrez ce qui suit JSON dans un fichier (replication.json) du répertoire actuel de votre ordinateur local.

      { "Role":"IAM-Role-ARN", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ "Prefix":"Tax" }, "Destination":{ "Bucket":"arn:aws:s3:::amzn-s3-demo-destination-bucket", "EncryptionConfiguration":{ "ReplicaKmsKeyID":"AWS KMS key IDs (in ARN format) to use for encrypting object replicas" } }, "SourceSelectionCriteria":{ "SseKmsEncryptedObjects":{ "Status":"Enabled" } } } ] }
    2. Modifiez le JSON pour fournir des valeurs pour le amzn-s3-demo-destination-bucket compartimentAWS KMS key IDs (in ARN format), etIAM-role-ARN. Enregistrez les Modifications.

    3. Utilisez la commande suivante pour ajouter la configuration de réplication à votre compartiment amzn-s3-demo-source-bucket. Veillez à saisir le nom du compartiment amzn-s3-demo-source-bucket.

      $ aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucket amzn-s3-demo-source-bucket \ --profile acctA
  6. Testez la configuration pour vérifier que les objets chiffrés ont été répliqués. Dans la console Amazon S3, procédez comme suit :

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

    2. Dans le compartiment amzn-s3-demo-source-bucket, créez un dossier nommé Tax.

    3. Ajoutez des exemples d'objet au dossier. Assurez-vous de choisir l'option de chiffrement et de spécifier votre KMS clé pour chiffrer les objets.

    4. Vérifiez que le amzn-s3-demo-destination-bucket compartiment contient les répliques d'objets et qu'elles sont chiffrées à l'aide de la KMS clé que vous avez spécifiée dans la configuration. Pour de plus amples informations, veuillez consulter Obtention d'informations sur le statut de la réplication.

Pour obtenir un exemple de code montrant comment ajouter une configuration de réplication, consultez Utilisation de AWS SDKs. Vous devez modifier la configuration de réplication en conséquence.

Pour obtenir des informations conceptuelles,veuillez consulter Réplication d'objets chiffrés (SSE-C, SSE -S3, -, SSE -KMS) DSSE KMS.