

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 HMAC
<a name="hmac-create-key"></a>

[Você pode criar chaves HMAC KMS no AWS KMS console, usando a [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)API ou usando o AWS::KMS::Key CloudFormation modelo.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)

Ao criar uma chave HMAC KMS, você deve selecionar uma especificação de chave. AWS KMS suporta várias [especificações-chave para chaves HMAC KMS](symm-asymm-choose-key-spec.md#hmac-key-specs). 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.

Para obter informações sobre as permissões necessárias para criar chaves do KMS, consulte [Permissões para criar chaves do KMS](create-keys.md#create-key-permissions).

## Usando o AWS KMS console
<a name="create-hmac-key-console"></a>

Você pode usar o Console de gerenciamento da AWS para criar chaves HMAC KMS. 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 console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

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

1. No painel de navegação, escolha **Chaves gerenciadas pelo cliente**.

1. Escolha **Criar chave**.

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

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

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

1. Para criar uma chave de HMAC *primária* de [várias regiões](multi-region-keys-overview.md), em **Advanced options** (Opções avançadas), escolha **Multi-Region key** (Chave de várias regiões). As [propriedades compartilhadas](multi-region-keys-overview.md#mrk-sync-properties) 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.

   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](multi-region-keys-replicate.md).

1. Escolha **Próximo**.

1. Insira um [alias](kms-alias.md) 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 das chaves HMAC no AWS KMS console, onde você pode classificar e filtrar as chaves por tags e aliases, mas não por especificação ou uso da chave.

   Aliases são necessários ao criar uma chave do KMS no Console de gerenciamento da AWS. Você não pode especificar um alias ao usar a [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação, mas pode usar o console ou a [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)operação para criar um alias para uma chave KMS existente. Para obter detalhes, consulte [Aliases em AWS KMS](kms-alias.md).

1. (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](key-state.md) 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 página de detalhes da chave KMS Console de gerenciamento da AWS em Console de gerenciamento da AWS ou use a [UpdateKeyDescription](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateKeyDescription.html)operação.

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

   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 das chaves HMAC no AWS KMS console, onde você pode classificar e filtrar as chaves por tags e aliases, mas não por especificação ou uso da chave.

   Quando você adiciona tags aos seus AWS recursos, AWS gera um relatório de alocação de custos com uso e custos agregados 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 em AWS KMS](tagging-keys.md) e [ABAC para AWS KMS](abac.md). 

1. Escolha **Próximo**.

1. Selecione os usuários e as funções do IAM que podem administrar a chave do KMS.
**Observações**  
Essa política de chaves dá o controle Conta da AWS total dessa chave KMS. Ela permite que os administradores de conta usem políticas do IAM para conceder a outras entidades principais a permissão para gerenciar a chave do KMS. Para obter detalhes, consulte [Política de chaves padrão](key-policy-default.md).  
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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.  
O AWS KMS console adiciona administradores de chaves à política de chaves sob o identificador `"Allow access for Key Administrators"` de instrução. A modificação desse identificador de instrução pode afetar a forma como o console exibe as atualizações feitas na instrução.

1. (Opcional) Para evitar que os usuários e funções do IAM selecionados excluam essa chave do KMS, na seção **Exclusão de chaves** na parte inferior da página, desmarque a caixa de seleção **Permitir que os administradores de chaves excluam essa chave**.

1. Escolha **Próximo**.

1. Selecione os usuários e as funções do IAM que podem usar a chave do KMS para [operações de criptografia](kms-cryptography.md#cryptographic-operations).
**Observações**  
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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.  
O AWS KMS console adiciona os principais usuários à política de chaves sob os identificadores de declaração `"Allow use of the key"` e. `"Allow attachment of persistent resources"` A modificação desses identificadores de instrução pode afetar a forma como o console exibe as atualizações feitas na instrução.

1. (Opcional) Você pode permitir que outras Contas da AWS pessoas usem essa chave KMS para operações criptográficas. Para fazer isso, na seção **Outras Contas da AWS**, no fim da página, escolha **Adicionar outra Conta da AWS** e insira o número de identificação de 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 obter mais informações, consulte [Permitir que usuários de outras contas usem uma chave do KMS](key-policy-modifying-external-accounts.md).

1. Escolha **Próximo**.

1. Consulte as instruções da política de chave para a chave. Para fazer alterações na política de chave, selecione **Editar**.

1. Escolha **Próximo**.

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

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

## Usando a AWS KMS API
<a name="create-keys-api"></a>

Você pode usar a [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação para criar uma chave HMAC KMS. Estes exemplos usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/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\$1VERIFY\$1MAC 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](multi-region-keys-overview.md), 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 `CreateKey` operação não permite que você especifique um alias, mas você pode usar a [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)operação para criar um alias para sua nova chave 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 das chaves HMAC no AWS KMS console, onde você pode classificar e filtrar as chaves por alias, mas não por especificação ou uso da chave.

Se você tentar criar uma chave HMAC KMS em uma Região da AWS na qual as chaves HMAC não sejam suportadas, a `CreateKey` operação retornará um `UnsupportedOperationException`

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
    }
}
```