Criar chaves do KMS de HMAC - AWS Key Management Service

Criar chaves do KMS de HMAC

Você pode criar chaves do KMS de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash) no console do AWS KMS, usando a API CreateKey ou usando um modelo do AWS CloudFormation.

O AWS KMS é compatível com várias especificações de chave para chaves do KMS de HMAC. A especificação de chave que você escolhe pode ser determinada por requisitos regulatórios, de segurança ou de negócios. Em geral, chaves maiores são mais resistentes a ataques de força bruta.

Se estiver criando uma chave do KMS para criptografar dados em um serviço da AWS, use uma chave do KMS de criptografia simétrica. Os serviços da AWS que têm integração com o AWS KMS não são compatíveis com chaves do KMS assimétricas ou chaves do KMS de HMAC. Para obter ajuda na criação de uma chave do KMS de criptografia simétrica, consulte Criar chaves.

nota

Chaves do KMS de HMAC não são compatíveis com todas as Regiões da AWS. Para acessar uma lista das regiões compatíveis com as chaves do KMS de HMAC, consulte Regiões de HMAC.

Saiba mais

  • Para determinar qual tipo de chave do KMS criar, consulte Escolha de um tipo de chave do KMS.

  • É possível seguir os procedimentos descritos neste tópico para criar uma chave primária do KMS de HMAC de várias regiões. Para replicar uma chave de HMAC de várias regiões, consulte Criar chaves de réplica de várias regiões.

  • Para obter informações sobre as permissões necessárias para criar chaves do KMS, consulte Permissões para criar chaves do KMS.

  • Para obter informações sobre como usar um modelo do AWS CloudFormation a fim de criar uma chave do KMS de HMAC, consulte AWS::KMS::Key no Guia do usuário do AWS CloudFormation.

Criar chaves do KMS de HMAC (console)

Você pode usar o AWS Management Console para criar chaves do KMS de HMAC. As chaves do KMS de HMAC são chaves simétricas com um uso de chave para gerar e verificar Message authentication code (MAC – Código de autenticação de mensagem). Você também pode criar chaves de HMAC de várias regiões.

  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 Region selector (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. Para Key type (Tipo de chave), escolha Symmetric (Simétrica).

    As chaves do KMS de HMAC são simétricas. Você usa a mesma chave para gerar e verificar etiquetas de HMAC.

  6. Em Key usage (Uso de chave), escolha Generate and verify MAC (Gerar e verificar MAC).

    Gerar e verificar MAC é o único uso de chave válido para chaves do KMS de HMAC.

    nota

    Key usage (Uso de chave) é exibido para chaves simétricas somente quando as chaves do KMS de HMAC são compatíveis com a região selecionada. Chaves do KMS de HMAC não são compatíveis com todas as Regiões da AWS. Para acessar uma lista das regiões compatíveis com as chaves do KMS de HMAC, consulte Regiões de HMAC.

  7. Escolha uma especificação (Key spec [Especificação de chave]) para sua chave do KMS de HMAC.

    A especificação de chave que você escolhe pode ser determinada por requisitos regulatórios, de segurança ou de negócios. Em geral, chaves mais longas são mais seguras.

  8. Para criar uma chave de HMAC primária de várias regiões, em Advanced options (Opções avançadas), escolha Multi-Region key (Chave de várias regiões). As propriedades compartilhadas que você define para essa chave do KMS, como o tipo de chave e o uso de chave, serão compartilhados com suas réplicas de chave. Para obter mais detalhes, consulte Criar chaves de várias regiões.

    Não é possível aplicar esse procedimento para criar uma réplica de chave. Para criar uma réplica de chave de HMAC de várias regiões, siga as instruções para criar uma réplica de chave.

  9. Escolha Next (Próximo).

  10. Insira um alias para a chave do KMS. O nome do alias não pode começar com aws/. O prefixo aws/ é reservado pela Amazon Web Services para representar as Chaves gerenciadas pela AWS na sua conta.

    Recomendamos que você use um alias que identifique a chave do KMS como uma chave de HMAC, p. ex., HMAC/test-key. Isso facilitará a identificação de suas chaves de HMAC no console do AWS KMS, onde você pode classificar e filtrar chaves por etiquetas e aliases, mas não por especificação de chave ou uso de chave.

    Aliases são necessários ao criar uma chave do KMS no AWS Management Console. Não é possível especificar um alias ao usar a operação CreateKey, mas você pode usar o console ou a operação CreateAlias para criar um alias para uma chave do KMS existente. Para obter mais detalhes, consulte Usar aliases.

  11. (Opcional) Insira uma descrição para a chave do KMS.

    Insira uma descrição que explique o tipo de dados que você planeja proteger ou a aplicação que planeja usar com a chave do KMS.

    Você pode adicionar uma descrição agora ou atualizá-la a qualquer momento, a não ser que o estado da chave seja Pending Deletion ou Pending Replica Deletion. Para adicionar, alterar ou excluir a descrição de uma chave gerenciada pelo cliente existente, edite a descrição na operação AWS Management Console ou use a operação UpdateKeyDescription.

  12. (Opcional) Insira uma chave de etiqueta e um valor opcional de etiqueta. Para adicionar mais de uma etiqueta à chave do KMS, selecione Add tag (Adicionar etiqueta).

    Considere a possibilidade de adicionar uma etiqueta que identifique a chave como uma chave de HMAC, p. ex., Type=HMAC. Isso facilitará a identificação de suas chaves de HMAC no console do AWS KMS, onde você pode classificar e filtrar chaves por etiquetas e aliases, mas não por especificação de chave ou uso de chave.

    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 Marcar chaves e ABAC para AWS KMS.

  13. Escolha Next (Próximo).

  14. Selecione os usuários e as funções do IAM que podem administrar a chave do KMS.

    nota

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

  15. (Opcional) Para evitar que os usuários e funções do IAM selecionados excluam essa chave do KMS, na seção Key deletion (Exclusão de chaves) na parte inferior da página, desmarque a caixa de seleção Allow key administrators to delete this key (Permitir que os administradores de chaves excluam essa chave).

  16. Escolha Next (Próximo).

  17. Selecione os usuários e as funções do IAM que podem usar a chave do KMS para operações de criptografia.

    nota

    A Conta da AWS (usuário raiz) tem permissões completas por padrão. Como resultado, qualquer política do IAM também pode conceder aos usuários e funções permissão para usar a chave do KMS para operações de criptografia.

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

    nota

    Para permitir que as entidades principais de contas externas usem a chave do KMS, os administradores da conta externa devem criar políticas do IAM que forneçam essas permissões. Para mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.

  19. Escolha Next (Próximo).

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

  21. Escolha Finish (Concluir) para criar a chave do KMS de HMAC.

Criar chaves do KMS de HMAC (API do AWS KMS)

Você pode usar a operação CreateKey para criar uma chave do KMS de HMAC. Estes exemplos usam a AWS Command Line Interface (AWS CLI), mas você pode usar qualquer linguagem de programação compatível.

Ao criar uma chave do KMS de HMAC, você deve especificar o parâmetro KeySpec, que determina o tipo de chave do KMS. Além disso, você deve especificar um valor de GENERATE_VERIFY_MAC para KeyUsage, mesmo que seja o único valor válido de uso de chave para chaves de HMAC. Para criar uma chave do KMS de HMAC de várias regiões, adicione o parâmetro MultiRegion com um valor de true. Não é possível alterar essas propriedades depois que a chave do KMS é criada.

A operação CreateKey não permite que você especifique um alias, mas você pode usar a operação CreateAlias para criar um alias para sua nova chave do KMS. Recomendamos que você use um alias que identifique a chave do KMS como uma chave de HMAC, p. ex., HMAC/test-key. Isso facilitará a identificação de suas chaves de HMAC no console do AWS KMS, onde você pode classificar e filtrar chaves por alias, mas não por especificação de chave ou uso de chave.

Se você tentar criar uma chave do KMS de HMAC em uma Região da AWS incompatível com as chaves de HMAC, a operação CreateKey retorna um UnsupportedOperationException. Chaves do KMS de HMAC não são compatíveis com todas as Regiões da AWS. Para acessar uma lista das regiões compatíveis com as chaves do KMS de HMAC, consulte Regiões de HMAC.

O exemplo a seguir usa a operação CreateKey para criar uma chave do KMS de HMAC de 512 bits.

$ aws kms create-key --key-spec HMAC_512 --key-usage GENERATE_VERIFY_MAC { "KeyMetadata": { "KeyState": "Enabled", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "Description": "", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1669973196.214, "MultiRegion": false, "KeySpec": "HMAC_512", "CustomerMasterKeySpec": "HMAC_512", "KeyUsage": "GENERATE_VERIFY_MAC", "MacAlgorithms": [ "HMAC_SHA_512" ], "AWSAccountId": "111122223333", "Origin": "AWS_KMS", "Enabled": true } }