Criar uma chave do KMS em repositórios de chaves externos - 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á.

Criar uma chave do KMS em repositórios de chaves externos

Depois de criar e conectar o armazenamento de chaves, você poderá criar AWS KMS keys nesse armazenamento de chaves. Devem ser chaves do KMS de criptografia simétrica com um valor de origem de armazenamento de chaves externas (EXTERNAL_KEY_STORE). Não é possível criar chaves do KMS assimétricas, chaves do KMS de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash) ou chaves do KMS com material de chave importado em um armazenamento personalizado de chave. Além disso, não é possível usar chaves do KMS de criptografia simétrica em um armazenamento personalizado de chaves para gerar pares de chaves assimétricos de dados.

Uma chave do KMS em um armazenamento de chaves externas pode ter menor latência, durabilidade e disponibilidade do que uma chave do KMS padrão, pois depende de componentes localizados fora da AWS. Antes de criar ou usar uma chave do KMS em um armazenamento de chaves externas, verifique se você precisa de uma chave com propriedades de armazenamento de chaves externas.

nota

Alguns gerenciadores de chaves externas fornecem um método mais simples de criar chaves do KMS em um armazenamento de chaves externas. Para obter detalhes, consulte a documentação do gerenciador de chaves externas.

Para criar uma chave do KMS no armazenamento de chaves externas, especifique:

  • O ID do armazenamento de chaves externas.

  • A origem do material de chave do armazenamento de chaves externas (EXTERNAL_KEY_STORE).

  • O ID de uma chave externa existente no gerenciador de chaves externas associado a seu armazenamento de chaves externas. Essa chave externa serve como material de chave para a chave do KMS. Você pode alterar o ID da chave externa após criar a chave do KMS.

    O AWS KMS fornece o ID da chave externa para seu proxy de armazenamento de chaves externas em solicitações de operações de criptografia e descriptografia. O AWS KMS não consegue acessar diretamente seu gerenciador de chaves externas ou qualquer uma de suas chaves de criptografia.

Além da chave externa, uma chave do KMS em um armazenamento de chaves externas também tem material de chave do AWS KMS. Todos os dados criptografados na chave do KMS são criptografados primeiro no AWS KMS usando o material de chave do AWS KMS e depois no gerenciador de chaves externas usando a chave externa. Esse processo de criptografia dupla garante que o texto cifrado protegido pela chave do KMS em um armazenamento de chaves externas seja pelo menos tão forte quanto o texto cifrado protegido somente pelo AWS KMS. Para obter detalhes, consulte Como funcionam os armazenamentos de chaves externas.

Quando a operação CreateKey é bem-sucedida, o estado da chave da nova chave do KMS é Enabled. Ao visualizar uma chave do KMS em um armazenamento de chaves externas, é possível ver as propriedades comuns, como ID da chave, especificação da chave, uso da chave, estado da chave e a data da criação. Mas você também pode ver o ID e o estado da conexão do armazenamento de chaves externas e o ID da chave externa.

Se ocorrer uma falha na tentativa de criar uma chave do KMS no seu armazenamento de chaves externas, use a mensagem de erro para identificar a causa. Isso pode indicar que o armazenamento de chaves externas não está conectado (CustomKeyStoreInvalidStateException), que o proxy de armazenamento de chaves externas não consegue encontrar uma chave externa com o ID da chave externa especificada (XksKeyNotFoundException) ou que a chave externa já está associada a uma chave do KMS no mesmo armazenamento de chaves externas XksKeyAlreadyInUseException.

Para obter um exemplo do log do AWS CloudTrail da operação que cria uma chave do KMS em um armazenamento de chaves externas, consulte CreateKey.

Requisitos para uma chave do KMS em um armazenamento de chaves externas

Para criar uma chave do KMS em um armazenamento de chaves externas, as seguintes propriedades são obrigatórias no armazenamento de chaves externas, na chave do KMS e na chave externa que serve como material de chave de criptografia externa para a chave do KMS.

Requisitos de armazenamento de chaves externas

Requisitos de chaves do KMS

Você não pode alterar essas propriedades após criar a chave do KMS.

  • Especificação da chave: SYMMETRIC_DEFAULT

  • Uso da chave: ENCRYPT_DECRYPT

  • Origem do material de chave: EXTERNAL_KEY_STORE

  • Várias regiões: FALSE

Requisitos de chaves externas

  • Chave de criptografia AES de 256 bits (256 bits aleatórios). O KeySpec da chave externa deve ser AES_256.

  • Habilitadas e disponíveis para uso. O Status da chave externa deve ser ENABLED.

  • Configurada para criptografia e descriptografia. O KeyUsage da chave externa deve incluir ENCRYPT e DECRYPT.

  • Usado somente com essa chave do KMS. Cada KMS key em um armazenamento de chaves externas deve estar associada a uma chave externa diferente.

    O AWS KMS também recomenda que a chave externa seja usada exclusivamente para o armazenamento de chaves externas. Essa restrição facilita identificar e resolver problemas da chave.

  • Acessível pelo proxy de armazenamento de chaves externas para o armazenamento de chaves externas.

    Se o proxy de armazenamento de chaves externas não conseguir encontrar a chave usando o ID de chave externa especificado, a operação CreateKey falhará.

  • Pode lidar com o tráfego previsto que seu uso dos Serviços da AWS gera. O AWS KMS recomenda que as chaves externas estejam preparadas para lidar com até 1800 solicitações por segundo.

Criar uma nova chave do KMS em seu repositório de chaves externo

Você pode criar uma nova chave do KMS em seu repositório de chaves externo no console do AWS KMS ou usando a operação CreateKey.

Há duas maneiras de criar uma chave do KMS em um armazenamento de chaves externas.

  • Método 1 (recomendado): escolha um armazenamento de chaves externas e crie uma chave do KMS nesse armazenamento de chaves externo.

  • Método 2: crie uma chave do KMS e indique que ela está em um armazenamento de chaves externo.

Se você usar o Método 1, em que você escolhe o armazenamento de chaves externo antes de criar a chave, o AWS KMS escolherá todas as propriedades de chave do KMS obrigatórias para você e preencherá o ID do armazenamento de chaves externo. Esse método evita erros que você possa cometer ao criar sua chave do KMS.

nota

Não inclua informações confidenciais ou sigilosas no alias, na descrição ou nas tags. Esses campos podem aparecer em texto simples nos logs do CloudTrail e em outras saídas.

Método 1 (recomendado): comece com o armazenamento de chaves externo

Para usar esse método, escolha seu armazenamento de chaves externas e crie uma chave do KMS. O console do AWS KMS escolhe todas as propriedades obrigatórias para você e preenche o ID do armazenamento de chaves externas. Esse método evita muitos erros que você possa cometer ao criar sua chave do KMS.

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.

  3. No painel de navegação, selecione Custom key stores (Armazenamentos de chaves personalizados), External key stores (Armazenamentos de chaves externas).

  4. Escolha o nome do armazenamento de chaves externas.

  5. No canto superior direito, escolha Create a KMS key in this key store (Criar uma chave do KMS neste armazenamento de chaves).

    Se o armazenamento de chaves externas não estiver conectado, você verá um aviso para conectá-lo. Se a tentativa de conexão falhar, será necessário resolver o problema e conectar o armazenamento de chaves externas antes de criar uma nova chave do KMS nele.

    Se o armazenamento de chaves externas estiver conectado, você será redirecionado para a página Customer managed keys (Chaves gerenciadas pelo cliente) para criar uma chave. Os valores de Key configuration (Configuração de chave) obrigatórios já foram escolhidos para você. Além disso, o ID de armazenamento de chaves personalizado do armazenamento de chaves externas está preenchido, mas é possível alterá-lo.

  6. Insira o ID da chave externa no gerenciador de chaves externas. Essa chave externa deve atender aos requisitos para uso com uma chave do KMS. Você não pode alterar o valor depois que a chave é criada.

    Se a chave externa tiver mais de um ID, insira o ID da chave que o proxy de armazenamento de chaves externas usa para identificar a chave externa.

  7. Confirme que você pretende criar uma chave do KMS no armazenamento de chaves externas especificado.

  8. Escolha Próximo.

    O restante desse procedimento é o mesmo que a criação de uma chave do KMS padrão.

  9. Digite um alias (obrigatório) e uma descrição (opcional) para a chave do KMS.

  10. (Opcional). Na página Add Tags (Adicionar etiquetas), adicione etiquetas que identificam ou categorizam a chave do KMS.

    Ao adicionar tags aos recursos da AWS, a AWS gera um relatório de alocação de custos com utilização e custos agrupados por tags. Etiquetas também podem ser utilizadas para controlar o acesso a uma chave do KMS. Para informações sobre marcação de chaves do KMS, consulte Etiquetas no AWS KMS e ABAC para AWS KMS.

  11. Escolha Próximo.

  12. Na seção Key Administrators (Administradores de chaves), selecione os usuários e as funções do IAM que podem gerenciar a chave do KMS. Para obter mais informações, consulte Permite que administradores de chaves administrem a chave do KMS.

    nota

    As políticas do IAM podem conceder permissão para usar a chave do KMS a outros usuários e funções do IAM.

    As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

  13. (Opcional) Para evitar que esses administradores de chaves excluam essa chave do KMS, desmarque a caixa de seleção Allow key administrators to delete this key (Permitir que os administradores de chaves excluam essa chave).

    Excluir uma chave do KMS é uma operação destrutiva e irreversível que pode tornar o texto cifrado irrecuperável. Você não pode recriar uma chave do KMS simétrica em um armazenamento de chaves externas, mesmo que você tenha o material de chave externa. No entanto, a exclusão de uma chave do KMS não afeta a chave externa associada. Para obter informações sobre como excluir uma chave do KMS de um repositório de chaves externo, consulte Considerações especiais para a exclusão de chaves.

  14. Escolha Próximo.

  15. Na seção This account (Esta conta), selecione os usuários e as funções do IAM nessa Conta da AWS que podem usar a chave do KMS em operações de criptografia. Para obter mais informações, consulte Permite que os usuários de chaves usem a chave do KMS.

    nota

    As políticas do IAM podem conceder permissão para usar a chave do KMS a outros usuários e funções do IAM.

    As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

  16. (Opcional) Você pode permitir que outras Contas da AWS usem essa chave do KMS para operações de criptografia. Para fazer isso, na seção Other Contas da AWS (Outras Conta da AWS) na parte inferior da página, escolha Add another Conta da AWS (Adicionar outra ) e insira o ID da de uma conta externa. Para adicionar várias contas externas, repita essa etapa.

    nota

    Os administradores das outras Contas da AWS também devem permitir o acesso à chave do KMS criando políticas do IAM para seus usuários. Para ter mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.

  17. Escolha Próximo.

  18. Revise as configurações que você escolheu. Ainda é possível voltar e alterar todas as configurações.

  19. Quando terminar, escolha Finish (Terminar) para criar a chave.

Método 2: comece com chaves gerenciadas pelo cliente

Esse procedimento é igual ao procedimento para criar uma chave de criptografia simétrica com material de chave do AWS KMS. Mas, nesse procedimento, você especificará o ID de armazenamento de chaves personalizado do armazenamento de chaves externas e o ID da chave externa. Também é necessário especificar os valores de propriedade obrigatórios para uma chave do KMS em um armazenamento de chaves externas, como a especificação da chave e o uso da chave.

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

  4. Escolha Create key (Criar chave).

  5. Selecione Symmetric (Simétrica).

  6. Em Key usage (Uso da chave), a opção Encrypt and decrypt (Criptografar e descriptografar) é selecionada para você. Não altere essa opção.

  7. Escolha Advanced options (Opções avançadas).

  8. Para Key material origin (Origem do material de chave), escolha External key store (Armazenamento de chaves externas).

  9. Confirme que você pretende criar uma chave do KMS no armazenamento de chaves externas especificado.

  10. Escolha Próximo.

  11. Escolha a linha que representa o armazenamento de chaves externas para a nova chave do KMS.

    Você pode escolher um armazenamento de chaves externas desconectado. Para conectar um armazenamento de chaves que esteja desconectado, escolha o nome do armazenamento de chaves e, em Key store actions (Ações do armazenamento de chaves), escolha Connect (Conectar). Para obter detalhes, consulte Usar o console de AWS KMS.

  12. Insira o ID da chave externa no gerenciador de chaves externas. Essa chave externa deve atender aos requisitos para uso com uma chave do KMS. Você não pode alterar o valor depois que a chave é criada.

    Se a chave externa tiver mais de um ID, insira o ID da chave que o proxy de armazenamento de chaves externas usa para identificar a chave externa.

  13. Escolha Próximo.

    O restante desse procedimento é o mesmo que a criação de uma chave do KMS padrão.

  14. Digite um alias e uma descrição opcional para a chave do KMS.

  15. (Opcional). Na página Add Tags (Adicionar etiquetas), adicione etiquetas que identificam ou categorizam a chave do KMS.

    Ao adicionar tags aos recursos da AWS, a AWS gera um relatório de alocação de custos com utilização e custos agrupados por tags. Etiquetas também podem ser utilizadas para controlar o acesso a uma chave do KMS. Para informações sobre marcação de chaves do KMS, consulte Etiquetas no AWS KMS e ABAC para AWS KMS.

  16. Escolha Próximo.

  17. Na seção Key Administrators (Administradores de chaves), selecione os usuários e as funções do IAM que podem gerenciar a chave do KMS. Para obter mais informações, consulte Permite que administradores de chaves administrem a chave do KMS.

    nota

    As políticas do IAM podem conceder permissão para usar a chave do KMS a outros usuários e funções do IAM.

  18. (Opcional) Para evitar que esses administradores de chaves excluam essa chave do KMS, desmarque a caixa de seleção Allow key administrators to delete this key (Permitir que os administradores de chaves excluam essa chave).

    Excluir uma chave do KMS é uma operação destrutiva e irreversível que pode tornar o texto cifrado irrecuperável. Você não pode recriar uma chave do KMS simétrica em um armazenamento de chaves externas, mesmo que você tenha o material de chave externa. No entanto, a exclusão de uma chave do KMS não afeta a chave externa associada. Para obter informações sobre como excluir uma chave do KMS de um armazenamento de chaves externas, consulte Excluir um AWS KMS keys.

  19. Escolha Próximo.

  20. Na seção This account (Esta conta), selecione os usuários e as funções do IAM nessa Conta da AWS que podem usar a chave do KMS em operações de criptografia. Para obter mais informações, consulte Permite que os usuários de chaves usem a chave do KMS.

    nota

    As políticas do IAM podem conceder permissão para usar a chave do KMS a outros usuários e funções do IAM.

  21. (Opcional) Você pode permitir que outras Contas da AWS usem essa chave do KMS para operações de criptografia. Para fazer isso, na seção Other Contas da AWS (Outras Conta da AWS) na parte inferior da página, escolha Add another Conta da AWS (Adicionar outra ) e insira o ID da de uma conta externa. Para adicionar várias contas externas, repita essa etapa.

    nota

    Os administradores das outras Contas da AWS também devem permitir o acesso à chave do KMS criando políticas do IAM para seus usuários. Para ter mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.

  22. Escolha Próximo.

  23. Revise as configurações que você escolheu. Ainda é possível voltar e alterar todas as configurações.

  24. Quando terminar, escolha Finish (Terminar) para criar a chave.

Se o procedimento for bem-sucedido, a tela exibirá a nova chave do KMS no armazenamento de chaves externas que você escolheu. Ao escolher o nome ou alias para a nova chave do KMS, a guia Cryptographic configuration (Configuração criptográfica) da página de detalhes exibe a origem da chave do KMS (External key store [Armazenamento de chaves externas]), o nome, o ID e o tipo de armazenamento de chaves personalizado, o uso da chave e o status da chave externa. Se houver falha no procedimento, uma mensagem descrevendo a falha será exibida. Em , consulte Solução de problemas de armazenamentos de chaves externas.

dica

Para facilitar a identificação de chaves do KMS em um armazenamento de chaves personalizado, na página Customer managed keys (Chaves gerenciadas pelo cliente), adicione a coluna Origin (Origem) e Custom key store ID (ID de armazenamento de chaves personalizado) à exibição. Para alterar os campos da tabela, escolha o ícone de engrenagem no canto superior direito da página. Para obter detalhes, consulte Personalizar a exibição do console.

Para criar uma nova chave do KMS no armazenamento de chaves externas, use a operação CreateKey. Os seguintes parâmetros são obrigatórios:

  • O valor de Origin deve ser EXTERNAL_KEY_STORE.

  • O parâmetro CustomKeyStoreId identifica o armazenamento de chaves externas. O ConnectionState do armazenamento de chaves externas especificado deve ser CONNECTED. Para encontrar CustomKeyStoreId e ConnectionState, use a operação DescribeCustomKeyStores.

  • O parâmetro XksKeyId identifica a chave externa. Essa chave externa deve atender aos requisitos para associação com uma chave do KMS.

Você também pode usar qualquer um dos parâmetros opcionais da operação CreateKey, como usar os parâmetros de Policy ou de Tags (Etiquetas).

nota

Não inclua informações confidenciais ou sigilosas nos campos Description ou Tags. Esses campos podem aparecer em texto simples nos logs do CloudTrail e em outras saídas.

Os exemplos nesta seção usam a AWS Command Line Interface (AWS CLI), mas você pode usar qualquer linguagem de programação compatível.

Esse comando de exemplo usa a operação CreateKey para criar uma chave do KMS no armazenamento de chaves externas. A resposta inclui as propriedades das chaves do KMS, o ID do armazenamento de chaves externas e o ID, uso e status da chave externa.

Antes de executar um comando como esse, substitua o ID de exemplo do armazenamento de chaves personalizado por um ID válido.

$ aws kms create-key --origin EXTERNAL_KEY_STORE --custom-key-store-id cks-1234567890abcdef0 --xks-key-id bb8562717f809024 { "KeyMetadata": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-1234567890abcdef0", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL_KEY_STORE", "XksKeyConfiguration": { "Id": "bb8562717f809024" } } }