Esta guía documenta la nueva consola de administración de AWS Wickr, lanzada el 13 de marzo de 2025. Para obtener documentación sobre la versión clásica de la consola de administración de AWS Wickr, consulte la Guía de administración clásica.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de clave KMS personalizada para el servicio de retención de datos
Para usar sus propias claves de KMS con el servicio de retención de datos, cree claves con las siguientes configuraciones antes de lanzar el producto:
- Clave de retención
-
-
Tipo de clave: Symmetric ()
SYMMETRIC_DEFAULT -
Uso de la clave: cifrar y descifrar
-
Rotación de claves: se recomienda habilitarla
-
- Clave de recuperación de contraseña
-
-
Tipo de clave: asimétrica ()
ECC_NIST_P384 -
Uso de la clave: acuerdo clave
-
Rotación de claves: no es compatible con claves asimétricas
-
Configuración de políticas de claves KMS personalizadas
-
Cree sus claves KMS con las configuraciones requeridas anteriormente.
-
Copie el ID de clave de cada clave de la consola KMS.
-
Inicie el producto de retención de datos en Service Catalog e introduzca los ID de clave en los
PasswordRecoveryKeyIdcamposKmsKeyIdy. -
Cuando se complete la pila, vaya a la pestaña Salidas.
-
Copia los valores de
DRSCustomerCrossAccountRoleArnyDecryptionLambdaRoleArn. -
Abra la consola KMS y seleccione su clave de retención personalizada.
-
En la sección Key policy (Política de claves), elija Switch to policy view (Cambiar a la vista de política).
-
Elija Edit (Edición de).
-
Añada las siguientes declaraciones a la
"Statement"matriz de su política de claves y sustituya los ARN marcadores de posición por los valores del paso 5. -
Seleccione Save changes (Guardar cambios).
-
Repita los pasos 6 a 10 para la clave de recuperación de la contraseña siguiendo las instrucciones de recuperación de la contraseña que aparecen a continuación.
Clave de retención: declaraciones para agregar
{ "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" } } }
El propósito de cada declaración se encuentra en la Cifrado en reposo sección Configuración de permisos para usar una clave KMS administrada por el cliente.
Clave de recuperación de contraseña: instrucciones para agregar
{ "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": "*" }
Propósito de cada declaración:
EnclaveDeriveSharedSecret
-
kms: DeriveSharedSecret — Lo invoca Nitro Enclave para acordar la clave ECDH utilizando la clave privada de la clave de recuperación de la contraseña. Esto deriva de un secreto compartido que se utiliza para descifrar la contraseña durante el flujo de trabajo de migración. Solo se permite cuando el enclave proporciona un documento de certificación de Nitro Enclave válido (PCR0/1/2 condiciones), lo que garantiza que el acuerdo clave no pueda celebrarse fuera del enclave.
CustomerGetPublicKey
-
kms: GetPublicKey — Permite recuperar la clave pública ECC de la clave de recuperación de la contraseña. P-384 El script de recopilación de contraseñas que se ejecuta en el equipo del cliente lo utiliza para cifrar la contraseña mediante ECDH local.
-
kms: DescribeKey — Permite recuperar los metadatos clave (especificaciones clave, uso, estado) para su validación.
Ejemplo: clave de retención
Antes:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "YourExistingStatements", "Effect": "...", "...": "..." } ] }
Despué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" } } } ] }