Ce guide décrit la nouvelle console d'administration AWS Wickr, publiée le 13 mars 2025. Pour obtenir de la documentation sur la version classique de la console d'administration AWS Wickr, consultez le Guide d'administration classique.
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.
Configuration personnalisée de la clé KMS pour le service de conservation des données
Pour utiliser vos propres clés KMS avec le service de conservation des données, créez des clés avec les configurations suivantes avant de lancer le produit :
- Clé de rétention
-
-
Type de clé : Symétrique ()
SYMMETRIC_DEFAULT -
Utilisation de la clé : crypter et déchiffrer
-
Rotation des touches : il est recommandé d'activer
-
- clé de récupération du mot de passe
-
-
Type de clé : asymétrique ()
ECC_NIST_P384 -
Utilisation clé : accord clé
-
Rotation des touches : non prise en charge pour les touches asymétriques
-
Configuration d'une politique de clé KMS personnalisée
-
Créez vos clés KMS avec les configurations requises ci-dessus.
-
Copiez l'ID de clé de chaque clé depuis la console KMS.
-
Lancez le produit de conservation des données dans Service Catalog, en saisissant les identifiants clés dans les
PasswordRecoveryKeyIdchampsKmsKeyIdet. -
Une fois la pile terminée, accédez à l'onglet Sorties.
-
Copiez les valeurs pour
DRSCustomerCrossAccountRoleArnetDecryptionLambdaRoleArn. -
Ouvrez la console KMS et sélectionnez votre clé de rétention personnalisée.
-
Dans la section Key policy (Politique de clé), sélectionnez Switch to policy view (Passer à la vue de politique).
-
Sélectionnez Edit (Modifier).
-
Ajoutez les instructions suivantes dans le
"Statement"tableau de votre politique clé, en remplaçant les ARN réservés par les valeurs de l'étape 5. -
Sélectionnez Enregistrer les modifications.
-
Répétez les étapes 6 à 10 pour la clé de récupération du mot de passe à l'aide des instructions de récupération de mot de passe ci-dessous.
Clé de rétention — Déclarations à ajouter
{ "Sid": "EnclaveGenerateDataKey", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:wickr:network:id", "aws:wickr:app:id" ] } } }, { "Sid": "EnclaveDescribeKey", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "EnclaveDecryptWithAttestation", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:app:id" } } }, { "Sid": "DecryptLambdaDecrypt", "Effect": "Allow", "Principal": { "AWS": "{DecryptionLambdaRoleArn}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:network:id" } } }
L'objectif de chaque déclaration se trouve dans la Chiffrement au repos section Configuration des autorisations pour utiliser une clé KMS gérée par le client.
Clé de récupération du mot de passe — Instructions à ajouter
{ "Sid": "EnclaveDeriveSharedSecret", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:DeriveSharedSecret", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" } } }, { "Sid": "CustomerGetPublicKey", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": [ "kms:DescribeKey", "kms:GetPublicKey" ], "Resource": "*" }
Objectif de chaque déclaration :
EnclaveDeriveSharedSecret
-
kms : DeriveSharedSecret — Invoqué par la Nitro Enclave pour effectuer l'accord de clé ECDH à l'aide de la clé privée de la clé de récupération du mot de passe. Cela permet d'obtenir un secret partagé qui est utilisé pour déchiffrer votre mot de passe pendant le flux de travail de migration. Autorisé uniquement lorsque l'enclave fournit un document d'attestation Nitro Enclave valide (PCR0/1/2 conditions), garantissant que l'accord clé ne peut pas être conclu en dehors de l'enclave.
CustomerGetPublicKey
-
kms : GetPublicKey — Permet de récupérer la clé P-384 publique ECC de la clé de récupération du mot de passe. Ceci est utilisé par le script de collecte du mot de passe exécuté sur la machine du client pour effectuer le chiffrement ECDH local du mot de passe.
-
kms : DescribeKey — Permet de récupérer les métadonnées clés (spécification des clés, utilisation, état) pour validation.
Exemple — Clé de rétention
Avant :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "YourExistingStatements", "Effect": "...", "...": "..." } ] }
Après :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "YourExistingStatements", "Effect": "...", "...": "..." }, { "Sid": "EnclaveGenerateDataKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/DRSCustomerCrossAccountRole-{network-id}-{region}" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:wickr:network:id", "aws:wickr:app:id" ] } } }, { "Sid": "EnclaveDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/DRSCustomerCrossAccountRole-{network-id}-{region}" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "EnclaveDecryptWithAttestation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/DRSCustomerCrossAccountRole-{network-id}-{region}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:app:id" } } }, { "Sid": "DecryptLambdaDecrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/{DecryptionLambdaRoleName}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:network:id" } } } ] }