Spécification du chiffrement double couche côté serveur avec AWS KMS clés (DSSE-KMS) - 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.

Spécification du chiffrement double couche côté serveur avec AWS KMS clés (DSSE-KMS)

Important

Amazon S3 applique désormais le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) comme niveau de chiffrement de base pour chaque compartiment d'Amazon S3. À partir du 5 janvier 2023, tous les nouveaux chargements d'objets sur Amazon S3 sont automatiquement chiffrés, sans coût supplémentaire et sans impact sur les performances. L'état du chiffrement automatique pour la configuration de chiffrement par défaut du compartiment S3 et pour le téléchargement de nouveaux objets est disponible dans AWS CloudTrail logs, S3 Inventory, S3 Storage Lens, console Amazon S3 et en tant qu'en-tête de API réponse Amazon S3 supplémentaire dans le AWS Command Line Interface and AWS SDKs. Pour plus d'informations, consultez la section Chiffrement par défaut FAQ.

Le chiffrement est configuré par défaut pour tous les compartiments Amazon S3, et tous les nouveaux objets qui sont chargés dans un compartiment S3 sont automatiquement chiffrés au repos. Le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) est la configuration de chiffrement par défaut pour chaque compartiment d'Amazon S3. Pour utiliser un autre type de chiffrement, vous pouvez soit spécifier le type de chiffrement côté serveur à utiliser dans vos demandes PUT S3, soit définir la configuration de chiffrement par défaut dans le compartiment de destination.

Si vous souhaitez spécifier un autre type de chiffrement dans vos PUT demandes, vous pouvez utiliser le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) clés (SSE-KMS), chiffrement double couche côté serveur avec AWS KMS clés (DSSE-KMS) ou chiffrement côté serveur avec des clés fournies par le client (-C). SSE Si vous souhaitez définir une autre configuration de chiffrement par défaut dans le compartiment de destination, vous pouvez utiliser SSE - KMS ou DSSE -KMS.

Vous pouvez appliquer le chiffrement lorsque vous chargez un nouvel objet ou copiez un objet existant.

Vous pouvez spécifierDSSE, KMS à l'aide de la console Amazon S3 RESTAPI, Amazon S3 et AWS Command Line Interface (AWS CLI). Pour plus d'informations, consultez les rubriques suivantes.

Note

Vous pouvez utiliser plusieurs régions AWS KMS keys dans Amazon S3. Cependant, Amazon S3 traite actuellement les clés multi-régions comme s'il s'agissait de clés à région unique et n'utilise pas les fonctions multi-régions de la clé. Pour plus d'informations, voir Utilisation de clés multirégionales dans AWS Key Management Service Guide du développeur.

Note

Si vous souhaitez utiliser une KMS clé appartenant à un autre compte, vous devez être autorisé à l'utiliser. Pour plus d'informations sur les autorisations relatives aux KMS clés entre comptes, consultez la section Création de KMS clés utilisables par d'autres comptes dans le AWS Key Management Service Guide du développeur.

Cette section explique comment définir ou modifier le type de chiffrement d'un objet pour utiliser le chiffrement double couche côté serveur avec AWS Key Management Service (AWS KMS) touches (DSSE-KMS) à l'aide de la console Amazon S3.

Note
  • Si vous changez la méthode de chiffrement d'un objet, un objet est créé en remplacement de l'ancien. Si la gestion des versions S3 est activée, une nouvelle version de l'objet est créée et l'objet existant devient une version plus ancienne. Le rôle qui modifie la propriété devient également le propriétaire du nouvel objet ou (version de l'objet).

  • Si vous modifiez le type de chiffrement d'un objet doté de balises définies par l'utilisateur, vous devez disposer de cette s3:GetObjectTagging autorisation. Si vous modifiez le type de chiffrement d'un objet qui ne possède pas de balises définies par l'utilisateur mais dont la taille est supérieure à 16 Mo, vous devez également disposer de l's3:GetObjectTaggingautorisation.

    Si la politique du compartiment de destination refuse l's3:GetObjectTaggingaction, le type de chiffrement de l'objet sera mis à jour, mais les balises définies par l'utilisateur seront supprimées de l'objet et vous recevrez un message d'erreur.

Pour ajouter ou modifier le chiffrement d'un objet
  1. Connectez-vous au AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Dans la liste Compartiments, choisissez le nom du compartiment qui contient l'objet à chiffrer.

  4. Dans la liste Objets, cochez la case correspondant à l'objet pour lequel vous souhaitez ajouter ou modifier le chiffrement.

    La page de détails de l'objet apparaît, avec plusieurs sections qui affichent les propriétés de votre objet.

  5. Choisissez l’onglet Propriétés.

  6. Faites défiler la page vers le bas jusqu'à la section Chiffrement par défaut, puis choisissez Modifier.

    La page Modifier le chiffrement par défaut s'ouvre.

  7. Sous Type de chiffrement, choisissez Chiffrement double couche côté serveur avec AWS Key Management Service clés (DSSE-KMS).

  8. Sous AWS KMS touche, effectuez l'une des opérations suivantes pour choisir votre KMS clé :

    • Pour choisir parmi une liste de KMS touches disponibles, choisissez Choisir parmi votre AWS KMS keys, puis choisissez votre KMSclé dans la liste des clés disponibles.

      Les deux Clé gérée par AWS (aws/s3) et vos clés gérées par le client apparaissent dans cette liste. Pour plus d'informations sur les clés gérées par le client, voir Clés client et AWS clés dans le AWS Key Management Service Guide du développeur.

    • Pour saisir la KMS cléARN, choisissez Enter AWS KMS key ARN, puis entrez votre KMS clé ARN dans le champ qui apparaît.

    • Pour créer une nouvelle clé gérée par le client dans AWS KMS console, choisissez Créer une KMS clé.

      Pour plus d'informations sur la création d'un AWS KMS key, voir Création de clés dans AWS Key Management Service Guide du développeur.

    Important

    Vous ne pouvez utiliser que KMS les touches disponibles dans le même Région AWS comme le seau. La console Amazon S3 répertorie uniquement les 100 premières KMS clés de la même région que le compartiment. Pour utiliser une KMS clé qui n'est pas répertoriée, vous devez saisir votre KMS cléARN. Si vous souhaitez utiliser une KMS clé appartenant à un autre compte, vous devez d'abord être autorisé à utiliser la clé, puis vous devez la KMS saisirARN.

    Amazon S3 ne prend en charge que les KMS clés de chiffrement symétriques, et non les clés asymétriquesKMS. Pour plus d'informations, consultez la section Identification des KMS clés asymétriques dans le AWS Key Management Service Guide du développeur.

  9. Pour Clé de compartiment, choisissez Désactiver. Les clés de compartiment S3 ne sont pas prises en charge pour DSSE -KMS.

  10. Sélectionnez Save Changes (Enregistrer les modifications).

Note

Cette action applique le chiffrement à tous les objets spécifiés. Lorsque vous chiffrez des dossiers, attendez la fin de l'opération d'enregistrement pour ajouter de nouveaux objets au dossier.

Lorsque vous créez un objet, c'est-à-dire lorsque vous téléchargez un nouvel objet ou que vous copiez un objet existant, vous pouvez spécifier l'utilisation du chiffrement double couche côté serveur avec AWS KMS keys (DSSE-KMS) pour chiffrer vos données. Pour ce faire, ajoutez l'en-tête x-amz-server-side-encryption à la demande. Configurez la valeur de l'en-tête sur l'algorithme de chiffrement aws:kms:dsse. Amazon S3 confirme que votre objet est stocké avec le KMS chiffrement DSSE - en renvoyant l'en-tête de réponsex-amz-server-side-encryption.

Si vous spécifiez l'en-tête x-amz-server-side-encryption avec une valeur de aws:kms:dsse, vous pouvez également utiliser les en-têtes de demandes suivants :

  • x-amz-server-side-encryption-aws-kms-key-id: SSEKMSKeyId

  • x-amz-server-side-encryption-context: SSEKMSEncryptionContext

RESTAPIOpérations Amazon S3 qui prennent en charge DSSE : KMS

Les REST API opérations suivantes acceptent les en-têtes de x-amz-server-side-encryption-context demande x-amz-server-side-encryptionx-amz-server-side-encryption-aws-kms-key-id, et.

  • PutObject— Lorsque vous téléchargez des données à l'aide de cette PUT API opération, vous pouvez spécifier ces en-têtes de demande.

  • CopyObject – Lorsque vous copiez un objet, vous disposez d'un objet source et d'un objet cible. Lorsque vous transmettez DSSE KMS des en-têtes avec l'CopyObjectopération, ils ne sont appliqués qu'à l'objet cible. Lorsque vous copiez un objet existant, que l'objet source soit chiffré ou non, l'objet de destination n'est pas chiffré sauf si vous demandez explicitement un chiffrement côté serveur.

  • POST Objet — Lorsque vous utilisez une POST opération pour télécharger un objet, au lieu des en-têtes de demande, vous fournissez les mêmes informations dans les champs du formulaire.

  • CreateMultipartUpload – Lorsque vous chargez des objets volumineux en procédant à un chargement partitionné, vous pouvez spécifier ces en-têtes dans la demande CreateMultipartUpload.

Les en-têtes de réponse des REST API opérations suivantes renvoient l'x-amz-server-side-encryptionen-tête lorsqu'un objet est stocké avec un chiffrement côté serveur.

Important
  • Toutes GET les PUT demandes relatives à un objet protégé par AWS KMS échouent si vous ne les créez pas en utilisant Secure Sockets Layer (SSL), Transport Layer Security (TLS) ou Signature Version 4.

  • Si votre objet utilise DSSE -KMS, n'envoyez pas d'en-têtes de demande de chiffrement pour les GET HEAD requêtes et les requêtes, sinon vous obtiendrez une erreur HTTP400 (mauvaise demande).

Contexte de chiffrement (x-amz-server-side-encryption-context)

Si vous le spécifiezx-amz-server-side-encryption:aws:kms:dsse, Amazon S3 API prend en charge un contexte de chiffrement avec l'x-amz-server-side-encryption-contexten-tête. Un contexte de chiffrement est un ensemble de paires valeur clé qui contient des informations contextuelles supplémentaires sur les données.

Amazon S3 utilise automatiquement le nom de ressource Amazon (ARN) de l'objet comme paire de contextes de chiffrement ; par exemple,arn:aws:s3:::object_ARN.

Vous pouvez éventuellement fournir une paire de contexte de chiffrement supplémentaire à l'aide de l'en-tête x-amz-server-side-encryption-context. Toutefois, étant donné que le contexte de chiffrement n'est pas chiffré, assurez-vous qu'il n'inclut pas d'informations sensibles. Amazon S3 stocke cette paire de clés supplémentaire avec le contexte de chiffrement par défaut.

Pour plus d'informations sur le contexte de chiffrement dans Simple Storage Service (Amazon S3), consultez Contexte de chiffrement. Pour des informations générales sur le contexte de chiffrement, voir AWS Key Management Service Concepts - Contexte du chiffrement dans le AWS Key Management Service Guide du développeur.

AWS KMS ID de clé (x-amz-server-side-encryption-aws-kms-key-id)

Vous pouvez utiliser l'en-tête x-amz-server-side-encryption-aws-kms-key-id pour spécifier l'ID de la clé gérée par le client utilisée pour protéger les données. Si vous spécifiez l'x-amz-server-side-encryption:aws:kms:dsseen-tête mais que vous ne le x-amz-server-side-encryption-aws-kms-key-id fournissez pas, Amazon S3 utilise Clé gérée par AWS (aws/s3) pour protéger les données. Si vous souhaitez utiliser une clé gérée par le client, vous devrez fournir l'en-tête x-amz-server-side-encryption-aws-kms-key-id de la clé gérée par le client.

Important

Lorsque vous utilisez un AWS KMS key pour le chiffrement côté serveur dans Amazon S3, vous devez choisir une clé de chiffrement symétrique. KMS Amazon S3 prend uniquement en charge les KMS clés de chiffrement symétriques. Pour plus d'informations sur ces clés, consultez la section Clés de KMSchiffrement symétriques dans le AWS Key Management Service Guide du développeur.

Lorsque vous chargez un nouvel objet ou que vous copiez un objet existant, vous pouvez spécifier l'utilisation de DSSE - KMS pour chiffrer vos données. Pour ce faire, ajoutez le paramètre --server-side-encryption aws:kms:dsse à l'en-tête. Utilisez le --ssekms-key-id example-key-id paramètre pour ajouter votre compte client géré AWS KMS clé que vous avez créée. Si vous spécifiez--server-side-encryption aws:kms:dsse, mais ne fournissez pas de AWS KMS ID de clé, puis Amazon S3 utilisera le AWS clé gérée (aws/s3).

aws s3api put-object --bucket DOC-EXAMPLE-BUCKET --key example-object-key --server-side-encryption aws:kms:dsse --ssekms-key-id example-key-id --body filepath

Vous pouvez chiffrer un objet non chiffré à utiliser DSSE en le KMS copiant de nouveau sur place.

aws s3api copy-object --bucket DOC-EXAMPLE-BUCKET --key example-object-key --body filepath --bucket DOC-EXAMPLE-BUCKET --key example-object-key --sse aws:kms:dsse --sse-kms-key-id example-key-id --body filepath