

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.

# Mettre à jour le chiffrement des objets
<a name="batch-ops-update-encryption"></a>

Vous pouvez utiliser les opérations par lot Amazon S3 pour effectuer des opérations par lot à grande échelle au niveau d’objets Amazon S3. L'[https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html)opération Batch Operations met à jour le type de chiffrement côté serveur de plusieurs objets Amazon S3 avec une seule demande. Une seule `UpdateObjectEncryption` opération peut prendre en charge un manifeste contenant jusqu'à 20 milliards d'objets.

L'`UpdateObjectEncryption`opération est prise en charge pour toutes les classes de stockage Amazon S3 prises en charge par des buckets à usage général. Vous pouvez utiliser cette `UpdateObjectEncryption` opération pour remplacer le [chiffrement côté serveur par des clés gérées par Amazon S3 (SSE-S3) par des clés du [service de gestion des AWS clés (AWS KMS) (SSE-KMS), ou pour appliquer des clés](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingKMSEncryption.html) de compartiment](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingServerSideEncryption.html) S3. Vous pouvez également utiliser cette `UpdateObjectEncryption` opération pour modifier la clé KMS gérée par le client utilisée pour chiffrer vos données afin de vous conformer aux normes personnalisées de rotation des clés.

 Lorsque vous créez une tâche Batch Operations, vous pouvez générer une liste d'objets en fonction de l'emplacement de la source et des critères de filtre que vous spécifiez. Vous pouvez utiliser le `MatchAnyObjectEncryption` filtre pour générer une liste d'objets à partir de votre bucket que vous souhaitez mettre à jour et inclure dans votre manifeste. La liste d'objets générée inclut uniquement les objets du compartiment source avec le type de chiffrement côté serveur indiqué. Si vous sélectionnez SSE-KMS, vous pouvez éventuellement filtrer davantage vos résultats en spécifiant un ARN de clé KMS spécifique et un statut d'activation de la clé de compartiment. Pour plus d'informations, consultez [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html)et consultez [le `SSEKMSFilter` manuel *Amazon S3API Reference*](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SSEKMSFilter.html).

## Restrictions et considérations
<a name="batch-ops-encrypt-object-restrictions"></a>

Lorsque vous utilisez l'opération Batch `UpdateObjectEncryption` Operations, les restrictions et considérations suivantes s'appliquent :
+ L'`UpdateObjectEncryption`opération ne prend pas en charge les objets non chiffrés ni les objets chiffrés à l'aide d'un chiffrement double couche côté serveur (DSSE-KMS) ou de clés de chiffrement fournies par le client AWS KMS keys (SSE-C). En outre, vous ne pouvez pas spécifier le type `UpdateObjectEncryption` de demande de chiffrement SSE-S3.
+ Vous pouvez utiliser cette `UpdateObjectEncryption` opération pour mettre à jour des objets dans des compartiments sur lesquels le contrôle de version S3 est activé. Pour mettre à jour le type de chiffrement d'une version donnée, vous devez spécifier un ID de version dans votre `UpdateObjectEncryption` demande. Si vous ne spécifiez pas d'ID de version, la `UpdateObjectEncryption` demande agit sur la version actuelle de l'objet. Pour plus d’informations sur la gestion des versions S3, consultez [Conservation de plusieurs versions d’objets grâce à la gestion des versions S3](Versioning.md).
+ L'`UpdateObjectEncryption`opération échoue sur tout objet auquel un mode de rétention S3 Object Lock ou un blocage légal est appliqué. Si un objet est soumis à une période de conservation en mode gouvernance ou à une suspension légale, vous devez d'abord supprimer le statut Object Lock de l'objet avant d'émettre votre `UpdateObjectEncryption` demande. Vous ne pouvez pas utiliser cette `UpdateObjectEncryption` opération avec des objets auxquels une période de conservation du mode de conformité Object Lock est appliquée. Pour plus d'informations sur la fonctionnalité de verrouillage des objets S3, veuillez consulter [Verrouillage d’objets avec la fonctionnalité de verrouillage d’objet](object-lock.md).
+ `UpdateObjectEncryption`les requêtes sur les compartiments source pour lesquels la réplication en direct est activée ne déclencheront pas d'événements de réplication dans le compartiment de destination. Si vous souhaitez modifier le type de chiffrement des objets dans vos compartiments source et de destination, vous devez lancer des `UpdateObjectEncryption` demandes distinctes sur les objets des compartiments source et de destination.
+ Par défaut, toutes les `UpdateObjectEncryption` demandes qui spécifient une clé KMS gérée par le client sont limitées aux clés KMS détenues par le propriétaire du bucket. Compte AWS Si vous utilisez AWS Organizations, vous pouvez demander la possibilité d'utiliser des comptes AWS KMS keys appartenant à d'autres membres au sein de votre organisation en contactant AWS Support.
+ Si vous utilisez S3 Batch Replication pour répliquer des ensembles de données entre régions et que le type de chiffrement côté serveur de vos objets a déjà été mis à jour de SSE-S3 à SSE-KMS, vous aurez peut-être besoin d'autorisations supplémentaires. Dans le compartiment de la région source, vous devez disposer `kms:decrypt` d'autorisations. Ensuite, vous aurez besoin des `kms:encrypt` autorisations `kms:decrypt` et pour le compartiment dans la région de destination.
+ Fournissez un ARN de clé KMS complet dans votre `UpdateObjectEncryption` demande. Vous ne pouvez pas utiliser de nom d'alias ou d'ARN d'alias. Vous pouvez déterminer l'ARN complet de la clé KMS dans la console AWS KMS ou à l'aide de l'`DescribeKey`API AWS KMS.
+ Pour améliorer les performances de génération de manifestes lors de l'utilisation du `KmsKeyArn` filtre, utilisez-le conjointement avec d'autres filtres de métadonnées d'objets. Par exemple, vous pouvez combiner `KmsKeyArn` avec `MatchAnyPrefix``CreatedAfter`, ou `MatchAnyStorageClass` lorsque vous générez automatiquement un manifeste dans S3 Batch Operations.

Pour plus d’informations sur `UpdateObjectEncryption`, consultez [Mise à jour du chiffrement côté serveur pour les données existantes](update-sse-encryption.md).

## Autorisations requises
<a name="batch-ops-required-permissions"></a>

Pour effectuer l'`UpdateObjectEncryption`opération, ajoutez la politique Gestion des identités et des accès AWS (IAM) suivante à votre principal IAM (utilisateur, rôle ou groupe). Pour utiliser cette politique, *`amzn-s3-demo-bucket`* remplacez-la par le nom du compartiment contenant les objets pour lesquels vous souhaitez mettre à jour le chiffrement. Remplacez-le `amzn-s3-demo-manifest-bucket` par le nom du compartiment qui contient votre manifeste et remplacez-le `amzn-s3-demo-completion-report-bucket` par le nom du compartiment dans lequel vous souhaitez stocker votre rapport d'achèvement.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3BatchOperationsUpdateEncryption",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "s3:UpdateObjectEncryption"
            ],
            "Resource": [
                 "arn:aws:s3:::amzn-s3-demo-bucket-target"
                "arn:aws:s3:::amzn-s3-demo-bucket-target-target/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForManifestFile",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForCompletionReport",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyManifestGeneration",
            "Effect": "Allow",
            "Action": [
                "s3:PutInventoryConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-target"
            ]
        },
        {
            "Sid": "AllowKMSOperationsForS3BatchOperations",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:Encrypt",
                "kms:ReEncrypt*"
            ],
            "Resource": [                "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
            ]
        }
    ]
}
```

Pour connaître la politique de confiance et la politique d'autorisations que vous devez associer au rôle IAM que le directeur du service S3 Batch Operations suppose d'exécuter les tâches Batch Operations en votre nom, consultez [Octroi d’autorisations pour Batch Operations](batch-ops-iam-role-policies.md) et[Mettre à jour le chiffrement des objets](batch-ops-iam-role-policies.md#batch-ops-update-encryption-policies).

# Création d'une tâche Batch Operations pour mettre à jour le chiffrement des objets
<a name="batch-ops-update"></a>

Pour mettre à jour le type de chiffrement côté serveur de plusieurs objets Amazon S3 avec une seule demande, vous pouvez utiliser S3 Batch Operations. Vous pouvez utiliser S3 Batch Operations via la console Amazon S3 AWS Command Line Interface (AWS CLI) AWS SDKs ou l'API REST Amazon S3.

## À l'aide du AWS CLI
<a name="batch-ops-example-cli-update-job"></a>

Pour exécuter les commandes suivantes, vous devez les avoir AWS CLI installées et configurées. Si ce n'est pas le cas AWS CLI , consultez la section [Installer ou mettre à jour vers la dernière version du AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) *Guide de l'AWS Command Line Interface utilisateur*.

Vous pouvez également exécuter des AWS CLI commandes depuis la console en utilisant AWS CloudShell. AWS CloudShell est un shell pré-authentifié basé sur un navigateur que vous pouvez lancer directement depuis le. AWS Management Console Pour plus d'informations, voir [Qu'est-ce que c'est CloudShell ?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) et [Mise en route AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) dans le *guide de AWS CloudShell l'utilisateur*.

**Example 1 — Créez une tâche Batch Operations qui met à jour les objets chiffrés d'une clé KMS AWS KMS key à l'autre**  
L'exemple suivant montre comment créer une tâche S3 Batch Operations qui met à jour les paramètres de chiffrement pour plusieurs objets de votre bucket à usage général. Cette commande crée une tâche qui modifie les objets chiffrés avec une clé AWS Key Management Service (AWS KMS) pour utiliser une autre clé KMS. Cette tâche génère et enregistre également un manifeste des objets concernés et crée un rapport des résultats. Pour utiliser cette commande, remplacez les `user input placeholders` par vos propres informations.  

```
aws s3control create-job --account-id account-id \
--no-confirmation-required \
--operation '{"S3UpdateObjectEncryption": {  "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false  }  }  } }' \
--report '{ "Enabled": true, "Bucket": "report-bucket-ARN",  "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \
--manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": {   "MatchAnyObjectEncryption": [{ "SSEKMS": { "KmsKeyArn": "kms-key-ARN-to-match" } }] } } }' \
--priority 1 \
--role-arn batch-operations-role-ARN
```
Pour de meilleures performances, nous vous recommandons d'utiliser le `KmsKeyArn` filtre conjointement avec d'autres filtres de métadonnées d'objets`MatchAnyPrefix`, tels que`CreatedAfter`, ou`MatchAnyStorageClass`.

**Example 2 — Créez une tâche Batch Operations qui met à jour les objets chiffrés SSE-S3 en SSE-KMS**  
L'exemple suivant montre comment créer une tâche S3 Batch Operations qui met à jour les paramètres de chiffrement pour plusieurs objets de votre bucket à usage général. Cette commande crée une tâche qui modifie les objets chiffrés en utilisant le chiffrement côté serveur avec les clés gérées Amazon S3 (SSE-S3) pour utiliser le chiffrement côté serveur avec les clés () AWS Key Management Service (SSE-KMS AWS KMS) à la place. Cette tâche génère et enregistre également un manifeste des objets concernés et crée un rapport des résultats. Pour utiliser cette commande, remplacez les `user input placeholders` par vos propres informations.  

```
aws s3control create-job --account-id account-id \
--no-confirmation-required \
--operation '{"S3UpdateObjectEncryption": {  "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false  }  }  } }' \
--report '{ "Enabled": true, "Bucket": "report-bucket-ARN",  "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \
--manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": {   "MatchAnyObjectEncryption": [{ "SSES3": {} }] } } }' \
--priority 1 \
--role-arn batch-operations-role-ARN
```
Pour de meilleures performances, nous vous recommandons d'utiliser le `KmsKeyArn` filtre conjointement avec d'autres filtres de métadonnées d'objets`MatchAnyPrefix`, tels que`CreatedAfter`, ou`MatchAnyStorageClass`.