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écifier le chiffrement côté serveur avec AWS KMS (SSE-KMS) pour le téléchargement de nouveaux objets dans des compartiments de répertoires
Pour les compartiments d'annuaires, afin de chiffrer vos données avec un chiffrement côté serveur, vous pouvez utiliser soit le chiffrement côté serveur avec des clés gérées Amazon S3 () (par défautSSE-S3), soit le cryptage côté serveur avec () keys () (). AWS Key Management Service AWS KMS SSE-KMS Nous recommandons que le chiffrement par défaut du compartiment utilise la configuration de chiffrement souhaitée et que vous ne remplaciez pas le chiffrement par défaut du compartiment dans vos demandes CreateSession ni dans vos demandes d’objets PUT. Les nouveaux objets seront ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. Pour plus d'informations sur les comportements de remplacement du chiffrement dans les compartiments de répertoires, voir Spécifier le chiffrement côté serveur avec AWS KMS pour le chargement de nouveaux objets.
Le chiffrement est configuré par défaut pour tous les compartiments Amazon S3, et tous les nouveaux objets chargés vers un compartiment S3 sont automatiquement chiffrés au repos. Server-side le chiffrement à l'aide de clés gérées par Amazon S3 (SSE-S3) est la configuration de chiffrement par défaut pour chaque compartiment d'Amazon S3. Si vous souhaitez spécifier un type de cryptage différent pour un compartiment de répertoires, vous pouvez utiliser le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) keys (SSE-KMS). Pour chiffrer de nouveaux objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut du compartiment d'annuaire une clé KMS (en particulier, une clé gérée par le client). La Clé gérée par AWS (aws/s3) n’est pas prise en charge. Votre SSE-KMS configuration ne peut prendre en charge qu'une seule clé gérée par le client par compartiment d'annuaire pendant toute la durée de vie du compartiment. Une fois que vous avez spécifié une clé gérée par le client pour SSE-KMS, vous ne pouvez pas remplacer la clé gérée par le client pour la SSE-KMS configuration du bucket. Ensuite, lorsque vous spécifiez des paramètres de chiffrement côté serveur pour de nouveaux objets avec SSE-KMS, vous devez vous assurer que la clé de chiffrement est la même que la clé gérée par le client que vous avez spécifiée pour la configuration de chiffrement par défaut du compartiment de répertoire. Pour utiliser une nouvelle clé gérée par le client pour vos données, nous vous recommandons de copier vos objets existants dans un nouveau compartiment de répertoires avec une nouvelle clé gérée par le client.
Vous pouvez appliquer le chiffrement lorsque vous chargez un nouvel objet ou copiez un objet existant. Si vous modifiez le chiffrement d’un objet, un nouvel objet est créé pour remplacer l’ancien.
Vous pouvez spécifier à SSE-KMS l'aide des opérations de l'API REST, AWS des kits SDK et du AWS Command Line Interface (AWS CLI).
Note
-
Pour les compartiments de répertoires, les comportements de remplacement du chiffrement sont les suivants :
-
Lorsque vous utilisez CreateSession l'API REST pour authentifier et autoriser les requêtes de l'API Zonal Endpoint sauf « CopyObject et » UploadPartCopy, vous ne pouvez modifier les paramètres de chiffrement SSE-KMS que si vous avez spécifié le chiffrement par défaut du bucket avec précédemment. SSE-S3 SSE-KMS
-
Lorsque vous utilisez le AWS CLI ou CreateSession les AWS SDK pour authentifier et autoriser les demandes d'API Zonal Endpoint sauf CopyObject et UploadPartCopy, vous ne pouvez pas du tout modifier les paramètres de cryptage.
-
Lorsque vous faites des CopyObject demandes, vous ne pouvez modifier les paramètres de SSE-S3 chiffrement SSE-KMS que si vous avez indiqué SSE-KMS précédemment le chiffrement par défaut du bucket. Lorsque vous faites des UploadPartCopy demandes, vous ne pouvez pas modifier les paramètres de chiffrement.
-
-
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, consultez Utilisation des clés multi-régions dans le Guide du développeur AWS Key Management Service .
Si vous souhaitez utiliser une clé KMS qui appartient à un autre compte, vous devez avoir l’autorisation d’utiliser cette clé. Pour plus d’informations sur les autorisations intercomptes pour les clés KMS, consultez Création de clés KMS que d’autres comptes peuvent utiliser dans le Guide du développeur AWS Key Management Service .
Note
Une seule clé gérée par le client est prise en charge par compartiment de répertoires pendant toute la durée de vie de ce compartiment. La Clé gérée par AWS (aws/s3) n’est pas prise en charge. Une fois SSE-KMS que vous avez défini la configuration de chiffrement par défaut de votre bucket avec une clé gérée par le client, vous ne pouvez pas modifier la clé gérée par le client pour la SSE-KMS configuration du bucket.
Pour les opérations d'API Zonal Endpoint (au niveau de l'objet), à l'exception de CopyObject et UploadPartCopy, vous authentifiez et autorisez les demandes via CreateSession une faible latence. Nous recommandons que le chiffrement par défaut du compartiment utilise les configurations de chiffrement souhaitées et que vous ne remplaciez pas le chiffrement par défaut du compartiment dans vos demandes CreateSession ni dans vos demandes d’objets PUT. Les nouveaux objets seront ensuite automatiquement chiffrés avec les paramètres de chiffrement souhaités. Pour chiffrer de nouveaux objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut du compartiment d'annuaire une clé KMS (en particulier, une clé gérée par le client). Ensuite, lorsqu'une session est créée pour les opérations de l'API Zonal Endpoint, les nouveaux objets sont automatiquement chiffrés et déchiffrés avec SSE-KMS des clés de compartiment S3 pendant la session. Pour plus d'informations sur les comportements de remplacement du chiffrement dans les compartiments de répertoires, voir Spécifier le chiffrement côté serveur avec AWS KMS pour le chargement de nouveaux objets.
Dans les appels d'API Zonal Endpoint (sauf CopyObject et UploadPartCopy) à l'aide de l'API REST, vous ne pouvez pas modifier les valeurs des paramètres de chiffrement (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-idx-amz-server-side-encryption-context, etx-amz-server-side-encryption-bucket-key-enabled) de la CreateSession demande. Il n’est pas nécessaire de spécifier explicitement les valeurs de ces paramètres de chiffrement dans les appels d’API de point de terminaison zonal. Amazon S3 utilisera les valeurs des paramètres de chiffrement de la demande CreateSession pour protéger les nouveaux objets dans le compartiment de répertoires.
Note
Lorsque vous utilisez le AWS CLI ou les AWS SDK, pourCreateSession, le jeton de session s'actualise automatiquement pour éviter les interruptions de service à l'expiration d'une session. Le AWS CLI ou les AWS SDK utilisent la configuration de chiffrement par défaut du bucket pour la CreateSession demande. Il n’est pas possible de remplacer les valeurs des paramètres de chiffrement dans la demande CreateSession. De plus, dans les appels d'API Zonal Endpoint (sauf CopyObject et UploadPartCopy), il n'est pas possible de modifier les valeurs des paramètres de cryptage de la CreateSession demande.
En effet CopyObject, pour chiffrer de nouvelles copies d'objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut du compartiment d'annuaire une clé KMS (en particulier, une clé gérée par le client). Ensuite, lorsque vous spécifiez les paramètres de chiffrement côté serveur pour les nouvelles copies d'objets avec SSE-KMS, vous devez vous assurer que la clé de chiffrement est la même que la clé gérée par le client que vous avez spécifiée pour la configuration de chiffrement par défaut du compartiment de répertoires. En effet UploadPartCopy, pour chiffrer de nouvelles copies de parties d'objets dans un compartiment de répertoire avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut du compartiment d'annuaire une configuration de chiffrement avec une clé KMS (en particulier, une clé gérée par le client). Vous ne pouvez pas spécifier de paramètres de chiffrement côté serveur pour les nouvelles copies de parties d'objets SSE-KMS dans les en-têtes de UploadPartCopy demande. De plus, les paramètres de chiffrement que vous fournissez dans la CreateMultipartUpload demande doivent correspondre à la configuration de chiffrement par défaut du compartiment de destination.
Rubriques
Opérations de l'API REST Amazon S3 prenant en charge SSE-KMS
Les opérations d’API REST suivantes au niveau de l’objet dans les compartiments de répertoires acceptent les en-têtes de demande x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id et x-amz-server-side-encryption-context.
-
CreateSession— Lorsque vous utilisez les opérations d'API Zonal endpoint (au niveau de l'objet) (sauf CopyObject et UploadPartCopy), vous pouvez spécifier ces en-têtes de demande.
-
PutObject – Lorsque vous chargez des données avec l'opération d'API
PUT, 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 SSE-KMS des en-têtes avec l'
CopyObjectopération, ils sont appliqués uniquement à l'objet cible. -
CreateMultipartUpload : lorsque vous chargez des objets volumineux avec l’opération d’API de chargement partitionné, vous pouvez spécifier ces en-têtes. Vous spécifiez ces en-têtes dans la demande
CreateMultipartUpload.
Les en-têtes de réponse des opérations d’API REST suivantes renvoient l’en-tête x-amz-server-side-encryption lorsqu’un objet est stocké grâce au chiffrement côté serveur.
Important
-
Toutes les demandes
GETetPUTpour un objet protégé par AWS KMS échouent si vous ne les faites pas en utilisant le protocole TLS (Transport Layer Security) ou Signature Version 4. -
Si votre objet utilise SSE-KMS, n'envoyez pas d'en-têtes de requête de chiffrement pour les
GETHEADrequêtes et les requêtes, sinon vous obtiendrez une BadRequesterreurHTTP 400.
Contexte de chiffrement (x-amz-server-side-encryption-context)
Si vous spécifiez x-amz-server-side-encryption:aws:kms, l’API Amazon S3 vous permet de fournir un contexte de chiffrement explicite avec l’en-tête x-amz-server-side-encryption-context. Pour les compartiments de répertoires, un contexte de chiffrement est un ensemble de paires clé-valeur qui contient des informations contextuelles supplémentaires sur les données. La valeur doit correspondre au contexte de chiffrement par défaut, à savoir l’Amazon Resource Name (ARN) du compartiment. Aucune valeur supplémentaire de contexte de chiffrement n’est prise en charge.
Pour plus d’informations sur le contexte de chiffrement dans les compartiments de répertoires, consultez Contexte de chiffrement. Pour des informations générales sur le contexte de chiffrement, consultez Concepts AWS Key Management Service - Contexte de chiffrement dans le Guide du développeur AWS Key Management Service .
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.
Votre SSE-KMS configuration ne peut prendre en charge qu'une seule clé gérée par le client par compartiment d'annuaire pendant toute la durée de vie du compartiment. La Clé gérée par AWS (aws/s3) n’est pas prise en charge. De plus, une fois que vous avez spécifié une clé gérée par le client pour SSE-KMS, vous ne pouvez pas remplacer la clé gérée par le client pour la SSE-KMS configuration du bucket.
Vous pouvez identifier la clé gérée par le client que vous avez spécifiée pour la SSE-KMS configuration du bucket de la manière suivante :
Effectuez une demande d’opération d’API
HeadObjectpour trouver la valeur dex-amz-server-side-encryption-aws-kms-key-iddans la réponse.
Pour utiliser une nouvelle clé gérée par le client pour vos données, nous vous recommandons de copier vos objets existants dans un nouveau compartiment de répertoires avec une nouvelle clé gérée par le client.
Pour plus d’informations sur le contexte de chiffrement dans les compartiments de répertoires, consultez AWS KMS keys.
Clés de compartiment S3 (x-amz-server-side-encryption-aws-bucket-key-enabled)
Les clés de compartiment S3 sont toujours activées pour les opérations GET et PUT dans un compartiment de répertoires et ne peuvent pas être désactivées. Les clés de compartiment S3 ne sont pas prises en charge lorsque vous copiez des objets SSE-KMS chiffrés depuis des compartiments à usage général vers des compartiments de répertoires, des compartiments de répertoires vers des compartiments à usage général, ou entre des compartiments de répertoires CopyObject UploadPartCopy, par le biais de l'Copyopération dans Batch Operations ou des jobs. import Dans ce cas, Amazon S3 lance un appel AWS KMS chaque fois qu'une demande de copie est faite pour un KMS-encrypted objet. Pour plus d’informations sur les clés de compartiment S3 dans les compartiments de répertoires, consultez Contexte de chiffrement.
Note
Lorsque vous utilisez le AWS CLI, pourCreateSession, le jeton de session est automatiquement actualisé pour éviter les interruptions de service à l'expiration d'une session. Il n’est pas possible de remplacer les valeurs des paramètres de chiffrement pour la demande CreateSession. De plus, dans les appels d'API Zonal Endpoint (sauf CopyObject et UploadPartCopy), il n'est pas possible de modifier les valeurs des paramètres de cryptage de la CreateSession demande.
Pour chiffrer de nouveaux objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut du compartiment d'annuaire une clé KMS (en particulier, une clé gérée par le client). Ensuite, lorsqu'une session est créée pour les opérations de l'API Zonal Endpoint, les nouveaux objets sont automatiquement chiffrés et déchiffrés avec SSE-KMS des clés de compartiment S3 pendant la session.
Pour utiliser les exemples de AWS CLI commandes suivants, remplacez-les par vos propres informations.user input
placeholders
Lorsque vous chargez un nouvel objet ou copiez un objet existant, vous pouvez spécifier l'utilisation d'un chiffrement côté serveur avec des AWS KMS clés pour crypter vos données. Pour ce faire, utilisez la put-bucket-encryption commande pour définir la configuration de chiffrement par défaut du compartiment de répertoires comme SSE-KMS (aws:kms). Plus précisément, ajoutez l’en-tête --server-side-encryption aws:kms à la demande. Utilisez le --ssekms-key-id pour ajouter la AWS KMS clé gérée par le client que vous avez créée. Si vous le spécifiezexample-key-id--server-side-encryption
aws:kms, vous devez fournir l'ID de AWS KMS clé de votre clé gérée par le client. Les compartiments de répertoires n'utilisent pas de clé AWS gérée. Pour obtenir un exemple de commande, consultez Utilisation de AWS CLI.
Ensuite, lorsque vous chargez un nouvel objet à l’aide de la commande suivante, Amazon S3 utilise les paramètres du compartiment pour le chiffrement par défaut afin de chiffrer l’objet par défaut.
aws s3api put-object --bucket--keybucket-base-name--zone-id--x-s3example-object-key--bodyfilepath
Vous n’avez pas besoin d’ajouter -\-bucket-key-enabled explicitement dans les commandes d’opérations d’API de point de terminaison zonal. Les clés de compartiment S3 sont toujours activées pour les opérations GET et PUT dans un compartiment de répertoires et ne peuvent pas être désactivées. Les clés de compartiment S3 ne sont pas prises en charge lorsque vous copiez des objets SSE-KMS chiffrés depuis des compartiments à usage général vers des compartiments de répertoires, des compartiments de répertoires vers des compartiments à usage général, ou entre des compartiments de répertoires CopyObject UploadPartCopy, par le biais de l'Copyopération dans Batch Operations ou des jobs. import Dans ce cas, Amazon S3 lance un appel AWS KMS chaque fois qu'une demande de copie est faite pour un KMS-encrypted objet.
Vous pouvez copier un objet d'un compartiment source (par exemple, un compartiment à usage général) vers un nouveau compartiment (par exemple, un compartiment de répertoires) et utiliser le SSE-KMS chiffrement pour les objets de destination. Pour ce faire, utilisez la put-bucket-encryption commande pour définir la configuration de chiffrement par défaut du compartiment de destination (par exemple, un compartiment de répertoires) comme SSE-KMS (aws:kms). Pour obtenir un exemple de commande, consultez Utilisation de AWS CLI. Ensuite, lorsque vous copiez un objet à l’aide de la commande suivante, Amazon S3 utilise les paramètres du compartiment pour le chiffrement par défaut afin de chiffrer l’objet par défaut.
aws s3api copy-object --copy-source/amzn-s3-demo-bucketexample-object-key--bucket--keybucket-base-name--zone-id--x-s3example-object-key
Lorsque vous utilisez AWS des kits SDK, vous pouvez demander à Amazon S3 de les utiliser AWS KMS keys pour le chiffrement côté serveur. Les exemples suivants montrent comment utiliser SSE-KMS les AWS kits SDK pour Java et .NET. Pour plus d'informations sur les autres SDK, consultez la section Exemples de code et de bibliothèques
Note
Lorsque vous utilisez les AWS SDK, pourCreateSession, le jeton de session s'actualise automatiquement pour éviter les interruptions de service à l'expiration d'une session. Il n’est pas possible de remplacer les valeurs des paramètres de chiffrement pour la demande CreateSession. De plus, dans les appels d'API Zonal Endpoint (sauf CopyObject et UploadPartCopy), il n'est pas possible de modifier les valeurs des paramètres de cryptage de la CreateSession demande.
Pour chiffrer de nouveaux objets dans un compartiment de répertoires avec SSE-KMS, vous devez spécifier SSE-KMS comme configuration de chiffrement par défaut du compartiment d'annuaire une clé KMS (en particulier, une clé gérée par le client). Ensuite, lorsqu'une session est créée pour les opérations de l'API Zonal Endpoint, les nouveaux objets sont automatiquement chiffrés et déchiffrés avec SSE-KMS des clés de compartiment S3 pendant la session.
Pour plus d'informations sur l'utilisation AWS des kits SDK pour définir la configuration de chiffrement par défaut d'un compartiment de répertoires comme SSE-KMS, consultezUtilisation de AWS Kits SDK.
Important
Lorsque vous utilisez un AWS KMS key pour le chiffrement côté serveur dans Amazon S3, vous devez choisir une clé KMS de chiffrement symétrique. Amazon S3 ne prend en charge que les clés KMS à chiffrement symétrique. Pour plus d’informations sur ces clés, consultez Clés KMS de chiffrement symétriques dans le Guide du développeur AWS Key Management Service .
Pour plus d'informations sur la création de clés gérées par le client, consultez la section Programmation de l' AWS KMS API dans le Guide du AWS Key Management Service développeur.