Este guia documenta o novo console de administração do AWS Wickr, lançado em 13 de março de 2025. Para obter a documentação sobre a versão clássica do console de administração do AWS Wickr, consulte o Classic Administration Guide.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configuração de chave KMS personalizada para serviço de retenção de dados
Para usar suas próprias chaves KMS com o serviço de retenção de dados, crie chaves com as seguintes configurações antes de lançar o produto:
- Chave de retenção
-
-
Tipo de chave: Simétrico ()
SYMMETRIC_DEFAULT -
Uso da chave: criptografar e descriptografar
-
Rotação de chaves: recomendado para ativar
-
- Chave de recuperação de senha
-
-
Tipo de chave: Assimétrico ()
ECC_NIST_P384 -
Uso da chave: acordo chave
-
Rotação de chaves: não suportada para teclas assimétricas
-
Configuração personalizada da política de chaves KMS
-
Crie suas chaves KMS com as configurações necessárias acima.
-
Copie o ID da chave de cada chave do console KMS.
-
Inicie o produto de retenção de dados no Service Catalog, inserindo as IDs de chave
PasswordRecoveryKeyIdnos camposKmsKeyIde. -
Depois que a pilha for concluída, navegue até a guia Saídas.
-
Copie os valores de
DRSCustomerCrossAccountRoleArnDecryptionLambdaRoleArne. -
Abra o console KMS e selecione sua chave de retenção personalizada.
-
Na seção Key Policy (Política de chaves), selecione Switch to policy view (Alternar para a visualização da política).
-
Escolha Editar.
-
Adicione as seguintes declarações à
"Statement"matriz da sua política de chaves, substituindo os ARNs do espaço reservado pelos valores da etapa 5. -
Escolha Salvar alterações.
-
Repita as etapas 6 a 10 para a chave de recuperação de senha usando as instruções de recuperação de senha abaixo.
Chave de retenção — declarações a serem adicionadas
{ "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" } } }
A finalidade de cada declaração pode ser encontrada na Criptografia inativa seção Configurando permissões para usar uma chave KMS gerenciada pelo cliente.
Chave de recuperação de senha — Declarações a serem adicionadas
{ "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": "*" }
Objetivo de cada declaração:
EnclaveDeriveSharedSecret
-
kms: DeriveSharedSecret — Invocado pelo Nitro Enclave para realizar o acordo de chave ECDH usando a chave privada da chave de recuperação de senha. Isso deriva de um segredo compartilhado que é usado para descriptografar sua senha durante o fluxo de trabalho de migração. Só é permitido quando o enclave fornece um documento de atestado válido do Nitro Enclave (PCR0/1/2 condições), garantindo que o acordo chave não ocorra fora do enclave.
CustomerGetPublicKey
-
kms: GetPublicKey — Permite a recuperação da chave pública ECC P-384 da chave de recuperação de senha. Isso é usado pelo script de coleta de senhas executado na máquina do cliente para realizar a criptografia ECDH local da senha.
-
kms: DescribeKey — Permite a recuperação dos metadados principais (especificação da chave, uso, status) para validação.
Exemplo — Chave de retenção
Antes:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "YourExistingStatements", "Effect": "...", "...": "..." } ] }
Depois:
{ "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" } } } ] }