Importar o material de chave no AWS Key Management Service (AWS KMS) - AWS Key Management Service

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á.

Importar o material de chave no AWS Key Management Service (AWS KMS)

É possível criar uma Chave mestra do cliente (CMK) com material de chave fornecido.

CMK é uma representação lógica de uma chave mestra. Ela contém material de chave usado para criptografar e descriptografar dados, além de seus identificadores de chave e outros metadados. Quando você cria uma CMK, por padrão, o AWS KMS gera o material de chaves para essa CMK. No entanto, é possível criar uma CMK sem material de chave e importar o seu próprio material de chaves para essa CMK, um recurso normalmente conhecido como "Traga sua própria chave" (BYOK).

nota

O AWS KMS AWS KMS não oferece suporte à descriptografia de texto cifrado AWS KMS fora do CMK, mesmo que o texto cifrado tenha sido criptografado sob um AWS KMS com material de chaves importadas. O não publica o formato de texto cifrado que esta tarefa exige, e o formato pode mudar sem aviso prévio.

O material de chave importada é compatível somente com CMKs simétricas em armazenamentos de chaves do AWS KMS. Ele não é compatível com CMKs assimétricas ou CMKs em armazenamentos de chaves personalizados.

Ao usar o material de chaves importadas, você continua responsável pelo material de chaves enquanto permite que o AWS KMS use uma cópia dele. Você pode optar por fazer isso por um ou mais dos seguintes motivos:

  • Para comprovar que você gerou o material de chaves usando uma origem de entropia que atende aos seus requisitos.

  • Para usar o material de chaves de sua própria infraestrutura com serviços da AWS, e usar o AWS KMS para gerenciar o ciclo de vida desse material de chaves na AWS.

  • Para definir um horário de expiração do material de chaves na AWS e para excluí-lo manualmente, mas também para disponibilizá-lo novamente no futuro. Por outro lado, programar a exclusão de chaves exige um período de espera de 7 a 30 dias, após o qual você não pode recuperar a CMK excluída.

  • Para possuir a cópia original do material de chave e mantê-lo fora da AWS para durabilidade adicional e recuperação de desastres durante o ciclo de vida completo do material de chave.

Para obter mais informações sobre diferenças importantes entre as CMKs com material de chave importada e aquelas com material de chave gerado pelo AWS KMS, consulte Sobre o material de chave importada.

O material de chaves que você importa deve ser uma chave de criptografia simétrica de 256 bits.

Sobre o material de chave importada

Antes de decidir importar o material de chaves para o AWS KMS, você deve entender as seguintes características do material de chaves importadas.

Você gera o material de chave

Você é responsável por gerar 256 bits de material de chave usando uma origem de aleatoriedade que atende aos seus requisitos de segurança.

Não é possível alterar o material de chave

Quando você importa o material de chave para uma CMK, a CMK é associada permanentemente a esse material de chave. É possível reimportar o mesmo material de chave, mas não importar outro material de chave para essa CMK. Além disso, não é possível habilitar a alternância automática de chaves de uma CMK com material de chave importada. No entanto, é possível alternar manualmente uma CMK com material de chave importada.

Não é possível descriptografar com nenhuma outra CMK

Quando os dados sob uma CMK do KMS são criptografados, o texto cifrado não pode ser descriptografado com nenhuma outra CMK. Esse é o caso mesmo quando você importa o mesmo material de chave para outra CMK.

Sem portabilidade ou recursos de garantia

Os textos cifrados que o AWS KMS produz não são portáteis. O AWS KMS não oferece suporte à descriptografia de texto cifrado do AWS KMS fora do AWS KMS, mesmo que o texto cifrado tenha sido criptografado sob um CMK com material de chave importada. O AWS KMS não publica o formato de texto cifrado que essa tarefa exige, e o formato pode ser alterado sem aviso prévio.

Além disso, não é possível usar ferramentas do AWS, como a SDK de criptografia da AWS ou a criptografia do lado do cliente do Amazon S3 para descriptografar textos cifrados do .AWS KMS

Como resultado, não é possível usar chaves com material de chave importada para oferecer suporte a acordos de garantia de chave em que um terceiro autorizado com acesso condicional ao material de chave possa descriptografar determinados textos cifrados fora do AWS KMS. Para oferecer suporte à garantia de chave, use o SDK de criptografia da AWS para criptografar sua mensagem em uma chave que seja independente do AWS KMS.

Você é responsável pela disponibilidade e durabilidade

Você é responsável pela disponibilidade e durabilidade gerais do material de chaves. AWS KMS é criado para manter o material de chaves importado altamente disponível. No entanto, o serviço não mantém a durabilidade do material de chave importada no mesmo nível que o material de chave gerado em seu nome. Essa diferença é importante nos seguintes casos:

  • Quando você define um tempo de expiração para o seu material de chave importada, o AWS KMS exclui o material de chave depois que ele expira. O AWS KMS não exclui a CMK nem seus metadados. Você não pode definir um tempo de expiração para o material de chaves gerado pelo AWS KMS.

  • Quando você exclui manualmente o material de chave importada, o AWS KMS exclui o material de chave, mas não exclui a CMK nem seus metadados. Por outro lado, programar a exclusão de chaves exige um período de espera de 7 a 30 dias, após o qual o AWS KMS exclui o material de chave e todos os metadados da CMK.

  • No improvável evento de determinadas falhas regionais que afetam o serviço (tais como uma queda de energia), o AWS KMS não pode restaurar automaticamente seu material de chaves importadas. No entanto, o AWS KMS pode restaurar a CMK e seus metadados.

Para restaurar o material de chave depois de eventos como esse, é necessário manter uma cópia dele em um sistema controlado por você. Depois, é possível importá-lo novamente para a CMK.

Permissões para importar material de chave

Para criar e gerenciar o CMKs com material de chaves importadas, o usuário precisa de permissão para as operações neste processo. Você pode fornecer as permissões kms:GetParametersForImport, kms:ImportKeyMaterial e kms:DeleteImportedKeyMaterial na política de chave ao criar a CMK. A permissão kms:ImportKeyMaterial não está incluída nas permissões padrão para administradores de chave, portanto, você precisa adicioná-la manualmente.

Para criar CMKs com material de chave importada, a entidade principal precisa das permissões a seguir.

  • kms:CreateKey (política do IAM)

    • Para limitar essa permissão a CMKs com material de chave importada, use a condição de política kms:KeyOrigin com um valor de EXTERNAL.

      { "Version": "2012-10-17", "Statement": { "Sid": "IAM policy to create CMKs with no key material" "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
  • kms:GetParametersForImport (política de chave ou do IAM)

    • Para limitar essa permissão a solicitações que usem um algoritmo de quebra automática específico e uma especificação de chave de quebra, use as condições de política kms:WrappingAlgorithm e kms:WrappingKeySpec.

  • kms:ImportKeyMaterial (política de chave ou do IAM)

    • Para permitir ou proibir material de chave que expire e controlar a data de expiração, use as condições de política kms:ExpirationModel e kms:ValidTo.

Para reimportar o material de chave importada, a entidade principal precisa das permissões kms:GetParametersForImport e kms:ImportkeyMaterial.

Para excluir o material de chave importada, a entidade principal precisa da permissão kms:DeleteImportedKeyMaterial.

Como importar o material de chave

A visão geral a seguir explica o processo para importar seu material de chaves para o AWS KMS. Para obter mais detalhes sobre cada etapa no processo, consulte o tópico correspondente.

  1. Criar um CMK simétrico sem material de chave – Para começar a usar a importação de material de chave, primeiro crie um CMK simétrico cuja origem seja EXTERNAL. Isso indica que o material de chaves foi gerado fora do AWS KMS e impede que o AWS KMS gere o material de chaves para o CMK. Em uma etapa posterior, você importará seu próprio material de chave para essa CMK.

  2. Fazer download da chave pública e do token de importação – depois de concluir a etapa 1, faça download de uma chave publica e de um token de importação. Esses itens protegem a importação de seu material de chaves para o AWS KMS.

  3. Criptografar o material de chaves – use a chave pública que você obteve por download na etapa 2 para criptografar o material de chaves que você criou em seu próprio sistema.

  4. Importar o material de chaves – faça upload do material de chaves criptografado que você criou na etapa 3 e o token de importação que você obteve por download na etapa 2.

O AWS KMS registra uma entrada no log do AWS CloudTrail quando você cria a CMK, faz download da chave pública e importa o token e importa o material da chave. O AWS KMS também registra uma entrada quando você exclui o material de chave importada ou quando o AWS KMS exclui o material de chave expirado.

Como importar novamente o material de chave

Se você gerenciar uma CMK com material de chave importada, poderá ser necessário importar novamente o material de chave. Isso ocorre porque ele expirou, foi excluído ou perdido acidentalmente.

Você deve importar novamente o mesmo material de chave importada originalmente para a CMK. Não é possível importar outro material de chave para uma CMK. Além disso, o AWS KMS não pode criar o material de chave para uma CMK criada sem esse material.

Para importar novamente um material de chaves, use o mesmo procedimento que você usou para importar o material de chaves na primeira vez, com as seguintes exceções.

  • Use uma CMK existente em vez de criar uma nova CMK. Você pode ignorar a Etapa 1 do procedimento de importação.

  • Se a CMK contiver o material de chave, você deverá excluí-lo antes de importar novamente o material.

Cada vez que você importar o material de chave para uma CMK, é necessário fazer download e usar uma nova chave de empacotamento e o token de importação da CMK. O procedimento de empacotamento não afeta o conteúdo do material de chave, portanto você pode usar diferentes chaves de empacotamento (e diferentes tokens de importação) para importar o mesmo material de chave.

Como visualizar CMKs com material de chave importada

Quando você cria uma CMK sem material de chave, o valor da propriedade Origin da CMK é EXTERNAL, e não pode ser alterado. Não é possível converter uma chave que usa o material de chave importada para uma que usa o material de chave que o AWS KMS fornece.

É possível identificar CMKs que exigem o material de chave importada no console do AWS KMS ou por meio da API do AWS KMS. Você também pode visualizar as propriedades do material de chaves, por exemplo, se e quando ele expira usando o console ou a APIs.

Para identificar o CMKs com material de chaves importadas (console)

  1. Abra o console do AWS KMS em https://console.aws.amazon.com/kms.

  2. Para alterar a região do AWS, use o seletor Region (Região) no canto superior direito da página.

  3. Use uma das técnicas a seguir para visualizar a propriedade Origin de suas CMKs.

    • Para adicionar uma coluna Origem à sua tabela da CMK, no canto superior direito, escolha o ícone Configurações. Selecione Origin (Origem) e clique em Confirm (Confirmar). A coluna Origem facilita a identificação das CMKs com um valor de propriedade de origem EXTERNAL.

    • Para encontrar o valor da propriedade Origin de uma determinada CMK, escolha o alias ou ID de chave da CMK. Em seguida, escolha a guia Cryptographic configuration (Configuração criptográfica). As guias estão abaixo da seção General configuration (Configuração geral)..

  4. Para visualizar informações detalhadas sobre o material de chaves, escolha a guia Key material (Material de chaves). Essa guia aparece na página de detalhes apenas para o CMKs com material de chave importada.

Para identificar o CMKs com material de chaves importadas (AWS KMS API)

Use a operação DescribeKey. A resposta inclui a propriedade Origin do CMK, o modelo de expiração e a data de expiração, conforme mostrado no exemplo a seguir.

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Origin": "EXTERNAL", "ExpirationModel": "KEY_MATERIAL_EXPIRES" "ValidTo": 1568894400.0, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": 1568289600.0, "Enabled": false, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }