Configuration d'une clé de compartiment S3 au niveau d'un objet - 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.

Configuration d'une clé de compartiment S3 au niveau d'un objet

Lorsque vous effectuez une opération PUT ou COPY à l'aide de l'API AWS REST, des SDK ou AWS CLI, vous pouvez activer ou désactiver une clé de compartiment S3 au niveau de l'objet en ajoutant l'en-tête de x-amz-server-side-encryption-bucket-key-enabled demande avec une false valeur true ou. Les clés de compartiment S3 réduisent le coût du chiffrement côté serveur à l'aide de AWS Key Management Service (AWS KMS) (SSE-KMS) en diminuant le trafic de requêtes d'Amazon S3 vers. AWS KMS Pour de plus amples informations, veuillez consulter Réduction du coût du SSE-KMS avec les clés de compartiment Amazon S3.

Lorsque vous configurez une clé de compartiment S3 pour un objet à l'aide d'une opération PUT ou COPY, Amazon S3 met à jour uniquement les paramètres de cet objet. Les paramètres de clé de compartiment S3 pour le compartiment de destination ne changent pas. Si vous soumettez une requête PUT ou COPY pour un objet chiffré par KMS dans un compartiment avec l'option « S3 Bucket Keys » (Clés du compartiment S3) activée, votre opération au niveau de l'objet utilisera automatiquement cette option à moins que vous ne désactiviez les clés dans l'en-tête de la requête. Si vous ne spécifiez pas de clé de compartiment S3 pour votre objet, Amazon S3 applique les paramètres de clé de compartiment S3 du compartiment de destination à l'objet.

Prérequis :

Avant de configurer votre objet de sorte qu'il utilise une clé de compartiment S3, consultez Modifications à prendre en compte avant d'activer une clé de compartiment S3.

Opérations par lot Amazon S3

Pour chiffrer vos objets Amazon S3 existants, vous pouvez utiliser des opérations par lot Amazon S3. Vous fournissez à la fonctionnalité d'opérations par lot S3 une liste d'objets sur lesquels agir. La fonctionnalité d'opérations par lot appelle l'API correspondante pour exécuter l'opération spécifiée.

Vous pouvez utiliser l'opération de copie des opérations par lot S3 pour copier des objets non chiffrés existants et les réécrire dans le même compartiment en tant qu'objets chiffrés. Une tâche d'opérations par lot peut effectuer l'opération spécifiée sur des milliards d'objets. Pour plus d’informations, consultez Exécution des opérations par lot à grande échelle sur des objets Amazon S3 et le billet de blog Encrypting objects with Amazon S3 Batch Operations.

Utilisation de l'API REST

Lorsque vous utilisez SSE-KMS, vous pouvez activer une clé de compartiment S3 pour un objet à l'aide des opérations d'API suivantes :

  • PutObject— Lorsque vous chargez un objet, vous pouvez spécifier l'en-tête de x-amz-server-side-encryption-bucket-key-enabled demande pour activer ou désactiver une clé de compartiment S3 au niveau de l'objet.

  • CopyObject— Lorsque vous copiez un objet et configurez SSE-KMS, vous pouvez spécifier l'en-tête de x-amz-server-side-encryption-bucket-key-enabled demande pour activer ou désactiver une clé de compartiment S3 pour votre objet.

  • POST Object : lorsque vous utilisez une opération POST pour charger un objet et configurer SSE-KMS, vous pouvez utiliser le champ de formulaire x-amz-server-side-encryption-bucket-key-enabled pour activer ou désactiver une clé de compartiment S3 pour votre objet.

  • CreateMultipartUpload— Lorsque vous chargez des objets volumineux à l'aide de l'opération CreateMultipartUpload API et que vous configurez SSE-KMS, vous pouvez utiliser l'en-tête de x-amz-server-side-encryption-bucket-key-enabled demande pour activer ou désactiver une clé de compartiment S3 pour votre objet.

Pour activer une clé de compartiment S3 au niveau de l'objet, incluez l'en-tête de demande x-amz-server-side-encryption-bucket-key-enabled. Pour plus d'informations sur SSE-KMS et l'API REST, consultez Utilisation de l'API REST.

Utilisation du AWS SDK pour Java PutObject ()

Vous pouvez utiliser l'exemple suivant pour configurer une clé de compartiment S3 au niveau de l'objet à l'aide du kit AWS SDK for Java.

Java
AmazonS3 s3client = AmazonS3ClientBuilder.standard()     .withRegion(Regions.DEFAULT_REGION)     .build(); String bucketName = "DOC-EXAMPLE-BUCKET1"; String keyName = "key name for object"; String contents = "file contents"; PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, contents)     .withBucketKeyEnabled(true);      s3client.putObject(putObjectRequest);

En utilisant le AWS CLI (PutObject)

Vous pouvez utiliser l' AWS CLI exemple suivant pour configurer une clé de compartiment S3 au niveau de l'objet dans le cadre d'une PutObject demande.

aws s3api put-object --bucket DOC-EXAMPLE-BUCKET --key object key name --server-side-encryption aws:kms --bucket-key-enabled --body filepath