View a markdown version of this page

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 des coûts liés SSE-KMS aux 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 demande PUT ou COPY pour un KMS-encrypted objet dans un compartiment avec les clés de compartiment S3 activées, votre opération au niveau de l'objet utilisera automatiquement les clés de compartiment S3, sauf si vous désactivez les clés dans l'en-tête de la demande. 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.

Amazon S3 Batch Operations

Pour chiffrer vos objets Amazon S3 existants, vous pouvez utiliser Amazon S3 Batch Operations. 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 de S3 Batch Operations 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 d’opérations groupées sur des objets avec Batch Operations 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 en utilisant les 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 que vous le 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.

  • Objet POST — Lorsque vous utilisez une POST opération pour télécharger un objet et le configurer SSE-KMS, vous pouvez utiliser le champ du x-amz-server-side-encryption-bucket-key-enabled formulaire 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 et de la configuration de l'CreateMultipartUploadAPI 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 l'API REST, consultezUtilisation de l'API REST.

Utilisation de 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 pour Java.

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

Utilisation de 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 amzn-s3-demo-bucket --key object key name --server-side-encryption aws:kms --bucket-key-enabled --body filepath