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.
Chiffrement consultable pour les bases de données mutualisées
| Notre bibliothèque de chiffrement côté client a été renommée SDK de chiffrement de AWS base de données. Ce guide du développeur fournit toujours des informations sur le client de chiffrement DynamoDB. |
Pour implémenter le chiffrement consultable dans votre base de données, vous devez utiliser un trousseau de clés AWS KMS hiérarchique. Le trousseau de clés AWS KMS hiérarchique génère, chiffre et déchiffre les clés de données utilisées pour protéger vos dossiers. Il crée également la clé de balise utilisée pour générer des balises. Lorsque vous utilisez le trousseau de clés AWS KMS hiérarchique avec des bases de données à locataires multiples, il existe une clé de branche et une clé de balise distinctes pour chaque locataire. Pour interroger des données chiffrées dans une base de données mutualisée, vous devez identifier les éléments clés de balise utilisés pour générer la balise que vous interrogez. Pour de plus amples informations, veuillez consulter Utilisation du trousseau de clés hiérarchique pour un chiffrement consultable.
Lorsque vous définissez la version de balise pour une base de données mutualisée, spécifiez une liste de toutes les balises standard que vous avez configurées, une liste de toutes les balises composées que vous avez configurées, une version de balise et un. keySource Vous devez définir votre source de clé de balise comme une MultiKeyStore durée de vie du cache de clé de balise local et inclure une taille de cache maximale pour le cache de clé de balise local. keyFieldName
Si vous avez configuré des balises signées, elles doivent être incluses dans votrecompoundBeaconList. Les balises signées sont un type de balise composée qui indexe et exécute des requêtes complexes sur des SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT champs SIGN_ONLY et des champs.
- keyFieldName
-
keyFieldNameDéfinit le nom du champ qui stocke la clé
branch-key-idassociée à la balise utilisée pour générer des balises pour un locataire donné.Lorsque vous écrivez de nouveaux enregistrements dans votre base de données, la clé
branch-key-ididentifiant la clé de balise utilisée pour générer des balises pour cet enregistrement est stockée dans ce champ.Par défaut, il
keyFields'agit d'un champ conceptuel qui n'est pas explicitement stocké dans votre base de données. Le SDK AWS de chiffrement de base de données identifie la clé branch-key-id de données chiffrée contenue dans la description du matériel et stocke la valeur dans le concept afin que vouskeyFieldpuissiez la référencer dans vos balises composées et vos balises signées. Puisque la description du matériau est signée, le conceptkeyFieldest considéré comme une partie signée.Vous pouvez également inclure le
keyFielddans vos actions cryptographiques sous forme deSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXTchampSIGN_ONLYou pour le stocker explicitement dans votre base de données. Dans ce cas, vous devez l'inclure manuellementkeyFieldchaque fois que vous écrivez un enregistrementbranch-key-iddans votre base de données.
Interrogation de balises dans une base de données mutualisée
Pour interroger une balise, vous devez l'inclure keyField dans votre requête afin d'identifier les éléments clés de balise appropriés nécessaires pour recalculer la balise. Vous devez spécifier le code branch-key-id associé à la clé de balise utilisée pour générer les balises d'un enregistrement. Vous ne pouvez pas spécifier le nom convivial qui identifie un locataire branch-key-id dans le fournisseur d'ID de clé de succursale. Vous pouvez les inclure keyField dans vos requêtes de différentes manières.
- Balises composées
-
Que vous les stockiez explicitement ou non
keyFielddans vos dossiers, vous pouvez les inclurekeyFielddirectement dans vos balises composées sous forme de pièce signée. La piècekeyFieldsignée doit être requise.Par exemple, si vous souhaitez créer une balise composée
compoundBeacon, à partir de deux champssignedField,encryptedFieldvous devez également l'inclurekeyFieldsous forme de pièce signée. Cela vous permet d'effectuer la requête suivante surcompoundBeacon.compoundBeacon = E_encryptedFieldValue.S_signedFieldValue.K_branch-key-id - Balises signées
-
Le SDK AWS Database Encryption utilise des balises standard et composées pour fournir des solutions de chiffrement consultables. Ces balises doivent inclure au moins un champ crypté. Cependant, le SDK AWS Database Encryption prend également en charge les balises signées qui peuvent être entièrement configurées à partir de texte brut
SIGN_ONLYet de champs.SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXTLes balises signées peuvent être construites à partir d'une seule pièce. Que vous le stockiez explicitement
keyFielddans vos dossiers ou non, vous pouvez créer une balise signée à partir de celle-cikeyFieldet l'utiliser pour créer des requêtes composées combinant une requête sur la balisekeyFieldsignée avec une requête sur l'une de vos autres balises. Par exemple, vous pouvez exécuter la requête suivante.keyField = K_branch-key-idAND compoundBeacon = E_encryptedFieldValue.S_signedFieldValuePour obtenir de l'aide sur la configuration des balises signées, voir Création de balises signées
- Interrogez directement sur le
keyField -
Si vous l'avez spécifié
keyFielddans vos actions cryptographiques et que vous stockez explicitement le champ dans votre enregistrement, vous pouvez créer une requête composée qui combine une requête sur votre balise avec une requête sur lekeyField. Vous pouvez choisir d'effectuer une requête directement sur lekeyFieldsi vous souhaitez interroger une balise standard. Par exemple, vous pouvez exécuter la requête suivante.keyField =branch-key-idAND standardBeacon = S_standardBeaconValue