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.
Mettre à jour votre modèle de données
Notre bibliothèque de chiffrement côté client a été renommée AWS Database Encryption SDK. Ce guide du développeur fournit toujours des informations sur le client de chiffrement DynamoDB. |
Lorsque vous configurez la bibliothèque de chiffrement côté client Java pour DynamoDB, vous fournissez des actions attributaires. Lors du chiffrement, le SDK AWS Database Encryption utilise les actions attributaires pour identifier les attributs à chiffrer et à signer, ceux à signer (mais pas à chiffrer) et ceux à ignorer. Vous définissez également les attributs non signés autorisés pour indiquer explicitement au client quels attributs sont exclus des signatures. Lors du déchiffrement, le SDK AWS de chiffrement de base de données utilise les attributs non signés autorisés que vous avez définis pour identifier les attributs qui ne sont pas inclus dans les signatures. Les actions attributaires ne sont pas enregistrées dans l'élément chiffré et le SDK AWS de chiffrement de base de données ne met pas automatiquement à jour vos actions attributaires.
Choisissez soigneusement vos actions d'attribut. En cas de doute, utilisez Chiffrer et signer. Après avoir utilisé le SDK AWS de chiffrement de base de données pour protéger vos éléments, vous ne pouvez pas remplacer un SIGN_ONLY
attribut ENCRYPT_AND_SIGN
ou existant par. DO_NOTHING
Toutefois, vous pouvez effectuer les modifications suivantes en toute sécurité.
Considérations relatives au chiffrement interrogeable
Avant de mettre à jour votre modèle de données, examinez attentivement l'impact que vos mises à jour peuvent avoir sur les balises que vous avez créées à partir des attributs. Une fois que vous avez écrit de nouveaux enregistrements avec une balise, vous ne pouvez pas mettre à jour la configuration de la balise. Vous ne pouvez pas mettre à jour les actions attributaires associées aux attributs que vous avez utilisés pour créer des balises. Si vous supprimez un attribut existant et sa balise associée, vous ne pourrez pas interroger les enregistrements existants à l'aide de cette balise. Vous pouvez créer de nouvelles balises pour les nouveaux champs que vous ajoutez à votre enregistrement, mais vous ne pouvez pas mettre à jour les balises existantes pour inclure le nouveau champ.
Ajouter de ENCRYPT_AND_SIGN
nouveaux SIGN_ONLY
attributs
Pour ajouter un nouvel SIGN_ONLY
attribut ENCRYPT_AND_SIGN
ou, définissez le nouvel attribut dans vos actions attributaires.
Vous ne pouvez pas supprimer un DO_NOTHING
attribut existant et le réintégrer en tant qu'SIGN_ONLY
attribut ENCRYPT_AND_SIGN
or.
Utilisation d'une classe de données annotée
Si vous avez défini vos actions attributaires avec unTableSchema
, ajoutez le nouvel attribut à votre classe de données annotée. Si vous ne spécifiez pas d'annotation d'action d'attribut pour le nouvel attribut, le client cryptera et signera le nouvel attribut par défaut (sauf si l'attribut fait partie de la clé primaire). Si vous souhaitez uniquement signer le nouvel attribut, vous devez ajouter le nouvel attribut avec l'@DynamoDBEncryptionSignOnly
annotation.
Utilisation d'un modèle d'objet
Si vous avez défini manuellement vos actions attributaires, ajoutez le nouvel attribut aux actions attributaires de votre modèle d'objet et spécifiez ENCRYPT_AND_SIGN
ou en SIGN_ONLY
tant qu'action attributaire.
Supprimer ENCRYPT_AND_SIGN
les SIGN_ONLY
DO_NOTHING
attributs existants
Si vous décidez que vous n'avez plus besoin d'un attribut, vous pouvez arrêter d'écrire des données dans cet attribut ou le supprimer officiellement des actions de vos attributs. Lorsque vous arrêtez d'écrire de nouvelles données dans un attribut, l'attribut apparaît toujours dans les actions de votre attribut. Cela peut s'avérer utile si vous devez recommencer à utiliser l'attribut ultérieurement. La suppression officielle de l'attribut de vos actions attributaires ne le supprime pas de votre jeu de données. Votre jeu de données contiendra toujours des éléments qui incluent cet attribut.
Pour supprimer officiellement un DO_NOTHING
attribut ou un attribut existant ENCRYPT_AND_SIGN
SIGN_ONLY
, mettez à jour vos actions attributaires.
Si vous supprimez un DO_NOTHING
attribut, vous ne devez pas le supprimer de vos attributs non signés autorisés. Même si vous n'écrivez plus de nouvelles valeurs pour cet attribut, le client doit toujours savoir que l'attribut n'est pas signé pour lire les éléments existants qui contiennent cet attribut.
Utilisation d'une classe de données annotée
Si vous avez défini les actions de vos attributs avec unTableSchema
, supprimez l'attribut de votre classe de données annotée.
Utilisation d'un modèle d'objet
Si vous avez défini manuellement vos actions attributaires, supprimez l'attribut des actions attributaires de votre modèle d'objet.
Remplacer un ENCRYPT_AND_SIGN
attribut existant par SIGN_ONLY
Pour remplacer un ENCRYPT_AND_SIGN
attribut existant parSIGN_ONLY
, vous devez mettre à jour vos actions attributaires. Une fois la mise à jour déployée, le client sera en mesure de vérifier et de déchiffrer les valeurs existantes écrites dans l'attribut, mais il signera uniquement les nouvelles valeurs écrites dans l'attribut.
Utilisation d'une classe de données annotée
Si vous avez défini vos actions attributaires avec unTableSchema
, mettez à jour l'attribut existant pour inclure l'@DynamoDBEncryptionSignOnly
annotation dans votre classe de données annotée.
Utilisation d'un modèle d'objet
Si vous avez défini manuellement vos actions attributaires, mettez à jour l'action attributaire associée à l'attribut existant de ENCRYPT_AND_SIGN
à SIGN_ONLY
dans votre modèle d'objet.
Remplacer un SIGN_ONLY
attribut existant par ENCRYPT_AND_SIGN
Pour remplacer un SIGN_ONLY
attribut existant parENCRYPT_AND_SIGN
, vous devez mettre à jour vos actions attributaires. Après avoir déployé la mise à jour, le client sera en mesure de vérifier les valeurs existantes écrites dans l'attribut, puis chiffrera et signera les nouvelles valeurs écrites dans l'attribut.
Utilisation d'une classe de données annotée
Si vous avez défini les actions de votre attribut avec unTableSchema
, supprimez l'@DynamoDBEncryptionSignOnly
annotation de l'SIGN_ONLY
attribut existant.
Utilisation d'un modèle d'objet
Si vous avez défini manuellement vos actions attributaires, mettez à jour l'action attributaire associée à l'attribut de SIGN_ONLY
à ENCRYPT_AND_SIGN
dans votre modèle d'objet.
Ajouter un nouvel DO_NOTHING
attribut
Pour réduire le risque d'erreur lors de l'ajout d'un nouvel DO_NOTHING
attribut, nous vous recommandons de spécifier un préfixe distinct lorsque vous nommez vos DO_NOTHING
attributs, puis d'utiliser ce préfixe pour définir les attributs non signés autorisés.
Vous ne pouvez pas supprimer un SIGN_ONLY
attribut ENCRYPT_AND_SIGN
ou existant de votre classe de données annotée, puis le réintégrer en tant qu'DO_NOTHING
attribut. Vous ne pouvez ajouter que des DO_NOTHING
attributs entièrement nouveaux.
Les étapes à suivre pour ajouter un nouvel DO_NOTHING
attribut varient selon que vous avez défini les attributs non signés autorisés de manière explicite dans une liste ou avec un préfixe.
Utilisation d'un préfixe d'attributs non signés autorisé
Si vous avez défini les actions de vos attributs avec unTableSchema
, ajoutez le nouvel DO_NOTHING
attribut à votre classe de données annotée avec l'@DynamoDBEncryptionDoNothing
annotation. Si vous avez défini manuellement vos actions d'attribut, mettez à jour vos actions d'attribut pour inclure le nouvel attribut. Assurez-vous de configurer explicitement le nouvel attribut avec l'action d'DO_NOTHING
attribut. Vous devez inclure le même préfixe distinct dans le nom du nouvel attribut.
Utilisation d'une liste d'attributs non signés autorisés
-
Ajoutez le nouvel
DO_NOTHING
attribut à votre liste d'attributs non signés autorisés et déployez la liste mise à jour. -
Déployez la modification à partir de l'étape 1.
Vous ne pouvez pas passer à l'étape 3 tant que la modification n'est pas répercutée sur tous les hôtes qui ont besoin de lire ces données.
-
Ajoutez le nouvel
DO_NOTHING
attribut à vos actions attributaires.-
Si vous avez défini les actions de vos attributs avec un
TableSchema
, ajoutez le nouvelDO_NOTHING
attribut à votre classe de données annotée avec l'@DynamoDBEncryptionDoNothing
annotation. -
Si vous avez défini manuellement vos actions d'attribut, mettez à jour vos actions d'attribut pour inclure le nouvel attribut. Assurez-vous de configurer explicitement le nouvel attribut avec l'action d'
DO_NOTHING
attribut.
-
-
Déployez la modification à partir de l'étape 3.