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 REST, des kits AWS SDK ou de l’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 requête x-amz-server-side-encryption-bucket-key-enabled avec une valeur true ou false. 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 des demandes d’Amazon S3 vers AWS KMS. Pour plus d’informations, consultez 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.
Rubriques
Amazon S3 Batch Operations
Pour chiffrer vos objets Amazon S3 existants, vous pouvez utiliser Amazon S3 Batch Operations. Vous fournissez à S3 Batch Operations une liste d’objets sur lesquels agir. Batch Operations 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 Batch Operations 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 à l’aide des opérations d’API suivantes :
-
PutObject — Lorsque vous chargez un objet, vous pouvez spécifier l’en-tête de demande
x-amz-server-side-encryption-bucket-key-enabledpour 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 demande
x-amz-server-side-encryption-bucket-key-enabledpour activer ou désactiver une clé de compartiment S3 pour votre objet. -
POST Object : lorsque vous utilisez une opération
POSTpour charger un objet et configurer SSE-KMS, vous pouvez utiliser le champ de formulairex-amz-server-side-encryption-bucket-key-enabledpour 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 d’API
CreateMultipartUploadet que vous configurez SSE-KMS, vous pouvez utiliser l’en-tête de demandex-amz-server-side-encryption-bucket-key-enabledpour 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 kit 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.
Utilisation de l’AWS CLI (PutObject)
Vous pouvez utiliser l’exemple AWS CLI suivant pour configurer une clé de compartiment S3 au niveau de l’objet dans le cadre d’une demande PutObject.
aws s3api put-object --bucketamzn-s3-demo-bucket--keyobject key name--server-side-encryption aws:kms --bucket-key-enabled --bodyfilepath