Réduction du coût du SSE-KMS avec les clés de compartiment Amazon S3
Les clés de compartiment Amazon S3 réduisent le coût du chiffrement côté serveur Amazon S3 à l’aide des clés AWS Key Management Service (AWS KMS) (SSE-KMS). Utiliser une clé au niveau du compartiment pour SSE-KMS peut réduire les coûts de vos demandes AWS KMS jusqu’à 99 % en diminuant le trafic de demandes d’Amazon S3 vers AWS KMS. En quelques clics dans la AWS Management Console et sans modifier vos applications clients, vous pouvez configurer votre compartiment de sorte qu’il utilise une clé de compartiment S3 pour le chiffrement SSE-KMS pour les nouveaux objets.
Note
Les clés de compartiment S3 ne sont pas prises en charge pour le chiffrement double couche côté serveur avec des clés AWS Key Management Service (AWS KMS) (DSSE-KMS).
Clés de compartiment S3 pour SSE-KMS
Les charges de travail qui ont accès à des millions, voire des milliards d’objets chiffrés avec SSE-KMS peuvent générer d’importants volumes de demandes vers AWS KMS. Lorsque vous utilisez SSE-KMS pour protéger vos données sans clé de compartiment S3, Amazon S3 utilise une clé de données AWS KMS individuelle pour chaque objet. Dans ce cas, Amazon S3 appelle AWS KMS chaque fois qu’une demande est faite par rapport à un objet chiffré KMS. Pour plus d’informations sur le fonctionnement de SSE-KMS, consultez Utilisation du chiffrement côté serveur avec des clés AWS KMS (SSE-KMS).
Lorsque vous configurez votre compartiment pour utiliser une clé de compartiment S3 pour SSE-KMS, AWS génère une clé de niveau compartiment à courte durée de vie à partir de AWS KMS, puis la conserve temporairement dans S3. Cette clé de niveau compartiment créera des clés de données pour les nouveaux objets au cours de son cycle de vie. Les clés de compartiment S3 sont utilisées pendant une période limitée au sein d’Amazon S3, ce qui réduit la nécessité pour S3 d’effectuer des requêtes à AWS KMS pour effectuer des opérations de chiffrement. Cela réduit le trafic de S3 vers AWS KMS, ce qui vous permet d’accéder aux objets chiffrés AWS KMS dans Amazon S3 à une fraction du coût précédent.
Les clés uniques au niveau des compartiments sont récupérées au moins une fois par demandeur afin de garantir que l’accès du demandeur à la clé est capturé dans un événement CloudTrail AWS KMS. Amazon S3 traite les appelants comme des demandeurs différents lorsqu’ils utilisent des rôles ou des comptes différents, ou le même rôle avec des politiques de délimitation différentes. Les économies réalisées sur les demandes AWS KMS reflètent le nombre de demandeurs, les modèles de demande et l’âge relatif des objets demandés. Par exemple, un nombre réduit de demandeurs, sollicitant plusieurs objets dans une fenêtre de temps limitée, et chiffrés avec la même clé au niveau des compartiments, permettra de réaliser des économies plus importantes.
Note
L’utilisation d’une clé de compartiment S3 vous permet d’économiser sur les coûts liés aux demandes AWS KMS en réduisant les demandes à AWS KMS pour les opérations Encrypt, GenerateDataKey et Decrypt grâce à l’utilisation d’une clé au niveau des compartiments. De par leur conception, les demandes ultérieures qui tirent parti de cette clé au niveau des compartiments n’entraînent pas de demandes d’API AWS KMS et ne valident pas l’accès par rapport à la stratégie de clé AWS KMS.
Lorsque vous configurez une clé de compartiment S3, les objets qui se trouvent déjà dans le compartiment n’utilisent pas la clé de compartiment S3. Pour configurer une clé de compartiment S3 pour des objets existants, vous pouvez utiliser une opération CopyObject. Pour plus d’informations, consultez Configuration d’une clé de compartiment S3 au niveau d’un objet.
Amazon S3 partage une clé de compartiment S3 uniquement pour les objets chiffrés avec la même AWS KMS key. Les clés de compartiment S3 sont compatibles avec les clés KMS créées par AWS KMS, les éléments de clé importés et les éléments de clé basés sur des magasins de clés personnalisés.
Configuration de clés de compartiment S3
Vous pouvez configurer votre compartiment de sorte qu’il utilise une clé de compartiment S3 pour SSE-KMS sur de nouveaux objets via la console Amazon S3, les kits AWS SDK, AWS CLI ou l’API REST. Lorsque l’option « S3 Bucket Keys » (Clés du compartiment S3) est activée sur votre compartiment, les objets chargés avec une autre clé SSE-KMS spécifiée utiliseront leur propres clés du compartiment S3. Quel que soit votre paramètre de clé de compartiment S3, vous pouvez inclure l’en-tête x-amz-server-side-encryption-bucket-key-enabled avec une valeur true ou false dans votre requête, afin de remplacer le paramètre de compartiment.
Avant de configurer votre compartiment de sorte qu’il utilise une clé de compartiment S3, consultez Modifications à prendre en compte avant d’activer une clé de compartiment S3.
Configuration d’une clé de compartiment S3 à l’aide de la console Amazon S3
Lorsque vous créez un nouveau compartiment, vous pouvez configurer votre compartiment de sorte qu’il utilise une clé de compartiment S3 pour SSE-KMS sur de nouveaux objets. Vous pouvez également configurer un compartiment existant de sorte qu’il utilise une clé de compartiment S3 pour SSE-KMS sur de nouveaux objets en mettant à jour vos propriétés de compartiment.
Pour plus d’informations, consultez Configuration de votre compartiment de sorte qu’il utilise une clé de compartiment S3 avec SSE-KMS pour de nouveaux objets.
Prise en charge de l’API REST, d’AWS CLI et du kit AWS SDK pour les clés de compartiment S3
Vous pouvez utiliser l’API REST, AWS CLI ou le kit AWS SDK pour configurer votre compartiment de sorte qu’il utilise une clé de compartiment S3 pour SSE-KMS sur de nouveaux objets. Vous pouvez également activer une clé de compartiment S3 au niveau de l’objet.
Pour plus d’informations, consultez les ressources suivantes :
Les opérations d’API suivantes prennent en charge les clés de compartiment S3 pour SSE-KMS :
-
-
ServerSideEncryptionRuleaccepte leBucketKeyEnabledparamètre permettant d’activer et de désactiver une clé de compartiment S3.
-
-
-
ServerSideEncryptionRulerenvoie les paramètres deBucketKeyEnabled.
-
-
PutObject, CopyObject, CreateMultipartUpload et POST Object
-
L’en-tête de demande
x-amz-server-side-encryption-bucket-key-enabledactive ou désactive une clé de compartiment S3 au niveau de l’objet.
-
-
HeadObject, GetObject, UploadPartCopy, UploadPart et CompleteMultipartUpload
-
L’en-tête de réponse
x-amz-server-side-encryption-bucket-key-enabledindique si une clé de compartiment S3 est activée ou désactivée pour un objet.
-
Fonctionnement d CloudFormation
Dans CloudFormation, la ressource AWS::S3::Bucket inclut une propriété de chiffrement appelée BucketKeyEnabled que vous pouvez utiliser pour activer ou désactiver une clé de compartiment S3.
Pour plus d’informations, consultez En utilisant CloudFormation.
Modifications à prendre en compte avant d’activer une clé de compartiment S3
Avant d’activer une clé de compartiment S3, notez les modifications suivantes :
Stratégies de clé AWS KMS et IAM
Si vos politiques AWS Identity and Access Management (IAM) ou vos stratégies de clé AWS KMS existantes utilisent l’Amazon Resource Name (ARN) de votre objet comme contexte de chiffrement pour affiner ou limiter l’accès à votre clé KMS, ces politiques ne fonctionneront pas avec une clé de compartiment S3. Les clés de compartiment S3 utilisent l’ARN du compartiment comme contexte de chiffrement. Avant d’activer une clé de compartiment S3, mettez à jour vos politiques IAM ou vos stratégies de clé AWS KMS de sorte à utiliser l’ARN de votre compartiment comme contexte de chiffrement.
Pour plus d’informations sur le contexte de chiffrement et les clés de compartiment S3, consultez Contexte de chiffrement.
Événements CloudTrail pour AWS KMS
Après avoir activé une clé de compartiment S3, vos événements AWS KMS CloudTrail enregistrent l’ARN de votre compartiment au lieu de l’ARN de votre objet. En outre, vos journaux affichent moins d’événements KMS CloudTrail pour les objets SSE-KMS. Étant donné que l’élément de clé est limité dans le temps dans Amazon S3, les demandes adressées à AWS KMS sont moins nombreuses.
Utilisation d’une clé de compartiment S3 avec réplication
Vous pouvez utiliser des clés de compartiment S3 avec la réplication dans la même Région (SRR) et la réplication entre Régions (CRR).
Lorsqu’Amazon S3 réplique un objet chiffré, il conserve généralement les paramètres de chiffrement de l’objet réplica dans le compartiment de destination. Toutefois, si l’objet source n’est pas chiffré et que votre compartiment de destination utilise un chiffrement par défaut ou une clé de compartiment S3, Amazon S3 chiffre l’objet avec la configuration du compartiment de destination.
Les exemples suivants illustrent le fonctionnement d’une clé de compartiment S3 avec la réplication. Pour plus d’informations, consultez Réplication d’objets chiffrés (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).
Exemple 1 : l’objet source utilise des clés de compartiment S3, le compartiment de destination utilise le chiffrement par défaut
Si votre objet source utilise une clé de compartiment S3 mais que votre compartiment de destination utilise le chiffrement par défaut avec SSE-KMS, l’objet réplica conserve ses paramètres de chiffrement de clé de compartiment S3 dans le compartiment de destination. Le compartiment de destination utilise toujours le chiffrement par défaut avec SSE-KMS.
Exemple 2 : l’objet source n’est pas chiffré, le compartiment de destination utilise une clé de compartiment S3 avec SSE-KMS
Si votre objet source n’est pas chiffré et que le compartiment de destination utilise une clé de compartiment S3 avec SSE-KMS, l’objet de réplica est chiffré avec une clé de compartiment S3 utilisant SSE-KMS dans le compartiment de destination. Cela produit un ETag de l’objet source différent de l’ETag de l’objet réplica. Vous devez mettre à jour les applications qui utilisent le ETag pour compenser cette différence.
Utilisation des clés de compartiment S3
Pour plus d’informations sur l’activation et l’utilisation des clés de compartiment S3, consultez les sections suivantes :