Criar uma chave do KMS em um repositório de chaves do AWS CloudHSM - 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 um repositório de chaves do AWS CloudHSM

Depois de criar um armazenamento de chaves do AWS CloudHSM, você pode criar AWS KMS keys nesse armazenamento de chaves. Elas devem ser chaves do KMS de criptografia simétrica com material de chave gerado pelo AWS KMS. 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.

Para criar uma chave do KMS em um armazenamento de chaves do AWS CloudHSM, o armazenamento de chaves do AWS CloudHSM deve estar conectado ao cluster do AWS CloudHSM associado, e esse cluster deve conter pelo menos dois HSMs ativos em diferentes zonas de disponibilidade. Para localizar o estado da conexão e o número de HSMs, visualize a página de armazenamentos de chaves do AWS CloudHSM no AWS Management Console. Ao usar as operações de API, use a operação DescribeCustomKeyStores para verificar se o armazenamento de chaves do AWS CloudHSM está conectado. Para verificar o número de HSMs ativos no cluster e suas zonas de disponibilidade, use a operação do AWS CloudHSM DescribeClusters.

Quando você cria uma chave do KMS no armazenamento de chaves do AWS CloudHSM, o AWS KMS cria essa chave do KMS no AWS KMS. No entanto, ele cria o material de chave para a chave do KMS no cluster do AWS CloudHSM associado. Especificamente, o AWS KMS faz login no cluster como o CU do kmsuser que você criou. Em seguida, ele cria uma chave simétrica persistente e não extraível de AES (Advanced Encryption Standard) de 256 bits no cluster. O AWS KMS define o valor do atributo de rótulo de chave, que é visível apenas no cluster, como o nome do recurso da Amazon (ARN) da chave do KMS.

Quando o comando é bem-sucedido, o estado de chave da nova chave do KMS é Enabled e sua origem é AWS_CLOUDHSM. Não é possível alterar a origem de uma chave do KMS após a sua criação. Ao visualizar uma chave do KMS em um armazenamento de chaves do AWS CloudHSM no console do AWS KMS ou usando a operação DescribeKey, é possível ver propriedades típicas, como o ID da chave, o estado da chave e a data da criação. No entanto, você também pode ver o ID do armazenamento de chaves personalizado e (opcionalmente) o ID do cluster do AWS CloudHSM.

Se ocorrer uma falha na tentativa de criar uma chave do KMS no armazenamento de chaves do AWS CloudHSM, use a mensagem de erro para ajudar a determinar a causa. Ela pode indicar que o armazenamento de chaves do AWS CloudHSM não está conectado (CustomKeyStoreInvalidStateException) ou que o cluster do AWS CloudHSM associado não tem os dois HSMs ativos obrigatórios para essa operação (CloudHsmClusterInvalidConfigurationException). Para obter ajuda, consulte Solucionar problemas de um armazenamento de chaves personalizado.

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

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

Você pode criar uma chave do KMS de criptografia simétrica em seu repositório de chaves do AWS CloudHSM no console do AWS KMS ou usando a operação CreateKey.

Adote o procedimento a seguir para criar uma chave do KMS de criptografia simétrica em um armazenamento de chaves do AWS CloudHSM.

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.

  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. Em Key material origin (Origem do material de chave), escolha AWS CloudHSM key store (Armazenamento de chaves do ).

    Você não pode criar uma chave multirregional em um armazenamento de chaves do AWS CloudHSM.

  9. Escolha Próximo.

  10. Selecione um armazenamento de chaves do AWS CloudHSM para a nova chave do KMS. Para criar um novo armazenamento de chaves do AWS CloudHSM, escolha Create custom key store (Criar armazenamento de chaves personalizado).

    O armazenamento de chaves do AWS CloudHSM que você selecionar deve ter o status Connected (Conectado). Seu cluster do AWS CloudHSM associado deve estar ativo e conter pelo menos dois HSMs ativos em diferentes zonas de disponibilidade.

    Para obter ajuda com a conexão de um armazenamento de chaves do AWS CloudHSM, consulte Desconectar um repositório de chaves do AWS CloudHSM. Para obter ajuda sobre como adicionar HSMs, consulte Adicionar um HSM, no Manual do usuário do AWS CloudHSM.

  11. Escolha Próximo.

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

  13. (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.

  14. Escolha Próximo.

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

  16. (Opcional) Para evitar que esses administradores de chaves excluam essa chave do KMS, desmarque a caixa na parte inferior da página para Permitir que os administradores de chaves excluam essa chave.

  17. Escolha Próximo.

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

  19. (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.

  20. Escolha Próximo.

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

  22. 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 do AWS CloudHSM 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 (AWS CloudHSM), o ID e o tipo de armazenamento de chaves personalizado, e o ID do cluster do AWS CloudHSM. Se houver falha no procedimento, uma mensagem descrevendo a falha será exibida.

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 Custom key store ID (ID de armazenamento de chaves personalizado) à exibição. Clique no ícone de engrenagem no canto superior direito e selecione Custom key store ID (ID de armazenamento de chaves personalizado). Para obter detalhes, consulte Personalizar a exibição do console.

Para criar uma nova AWS KMS key (chave do KMS) no armazenamento de chaves do AWS CloudHSM, use a operação CreateKey. Use o parâmetro CustomKeyStoreId para identificar o armazenamento de chaves personalizado e especificar um valor de Origin da AWS_CLOUDHSM.

Você também pode usar o parâmetro Policy para especificar uma política de chaves. Você pode alterar a política de chaves (PutKeyPolicy) e adicionar elementos opcionais, como uma descrição e tags a qualquer momento.

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

O exemplo a seguir começa com uma chamada para a operação DescribeCustomKeyStores para verificar se o armazenamento de chaves do AWS CloudHSM está conectado ao cluster do AWS CloudHSM associado. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados em sua conta e região. Para descrever apenas determinado armazenamento de chaves do AWS CloudHSM, use o parâmetro CustomKeyStoreId ou CustomKeyStoreName (mas não ambos).

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

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.

$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CustomKeyStoreType": "AWS CloudHSM key store", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }

O exemplo a seguir usa o comando de operação DescribeClusters para verificar se o cluster do AWS CloudHSM associado a ExampleKeyStore (cluster-1a23b4cdefg) contém pelo menos dois HSMs ativos. Se o cluster tiver menos de dois HSMs, ocorrerá falha na operação CreateKey.

$ aws cloudhsmv2 describe-clusters { "Clusters": [ { "SubnetMapping": { ... }, "CreateTimestamp": 1507133412.351, "ClusterId": "cluster-1a23b4cdefg", "SecurityGroup": "sg-865af2fb", "HsmType": "hsm1.medium", "VpcId": "vpc-1a2b3c4d", "BackupPolicy": "DEFAULT", "Certificates": { "ClusterCertificate": "-----BEGIN CERTIFICATE-----\...\n-----END CERTIFICATE-----\n" }, "Hsms": [ { "AvailabilityZone": "us-west-2a", "EniIp": "10.0.1.11", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-a6b10bd1", "HsmId": "hsm-abcdefghijk", "State": "ACTIVE" }, { "AvailabilityZone": "us-west-2b", "EniIp": "10.0.0.2", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-b6b10bd2", "HsmId": "hsm-zyxwvutsrqp", "State": "ACTIVE" }, ], "State": "ACTIVE" } ] }

Esse comando de exemplo usa a operação CreateKey para criar uma chave do KMS em um armazenamento de chaves do AWS CloudHSM. Para criar uma chave do KMS em um armazenamento de chaves do AWS CloudHSM, você deve fornecer o ID do armazenamento de chaves do AWS CloudHSM e especificar um valor de Origin igual a AWS_CLOUDHSM.

A resposta inclui os IDs de armazenamento de chaves personalizado e o cluster do AWS CloudHSM.

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 AWS_CLOUDHSM --custom-key-store-id cks-1234567890abcdef0 { "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1.499288695918E9, "Description": "Example key", "Enabled": true, "MultiRegion": false, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_CLOUDHSM" "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreId": "cks-1234567890abcdef0" "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }