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 COPY opération PUT ou à l'aide de REST API AWS SDKs, 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 de 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 COPY opération PUT or, Amazon S3 met uniquement à jour 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 un objet chiffré PUT ou COPY demandez un objet KMS chiffré 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.

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 à S3 Batch Operations une liste d'objets sur lesquels opérer, et Batch Operations appelle le correspondant API pour effectuer 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.

En utilisant le REST API

Lorsque vous utilisez SSE -KMS, vous pouvez activer une clé de compartiment S3 pour un objet en effectuant les API opérations 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 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.

  • POSTObjet : lorsque vous utilisez une POST opération pour télécharger un objet et le configurer SSEKMS, 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'CreateMultipartUploadAPIopération et de la commande configure 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 le RESTAPI, voirEn utilisant le REST API.

Utilisation de AWS SDK for 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 = "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);

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