

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

# Alternar chaves manualmente
<a name="rotate-keys-manually"></a>

Talvez você prefira criar e usar uma nova chave do KMS em vez da chave atual do KMS a habilitar o rodízio de chaves automático. Quando a nova chave do KMS tem material criptográfico diferente daquele da chave do KMS atual, usar a nova chave do KMS tem o mesmo efeito de alterar o material de chave em uma chave do KMS existente. O processo de substituir uma chave do KMS por outra é conhecido como *alternância manual de chaves*.

![\[Diagram showing manual key rotation process with application, old key, and new key.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/key-rotation-manual.png)


 [A rotação manual é uma boa opção quando você deseja girar chaves KMS que não estão qualificadas para rotação automática ou sob demanda, como chaves KMS assimétricas, chaves HMAC KMS e chaves KMS em lojas de chaves personalizadas.](key-store-overview.md#custom-key-store-overview)

**nota**  
Ao começar a usar a nova chave KMS, certifique-se de manter a chave KMS original ativada para que ela AWS KMS possa descriptografar os dados criptografados pela chave KMS original.

Ao alternar as chaves do KMS manualmente, você precisa atualizar as referências ao ARN ou ao ID da chave do KMS nas suas aplicações. [Aliases](kms-alias.md), que associam um nome amigável a uma chave do KMS, tornam esse processo mais fácil. Use um alias para fazer referência a uma chave do KMS em suas aplicações. Quando quiser alterar a chave do KMS utilizada pela aplicação, em vez de editar o código da aplicação, altere a chave do KMS de destino do alias. Para obter detalhes, consulte [Saiba como usar aliases em suas aplicações](alias-using.md).

**nota**  
[https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) Aliases não são permitidos em operações que gerenciam chaves KMS, como [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)ou. [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html)  
Ao chamar a operação [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) em chaves KMS de criptografia simétrica giradas manualmente, omita o parâmetro do comando. `KeyId` AWS KMS usa automaticamente a chave KMS que criptografou o texto cifrado.  
O `KeyId` parâmetro é obrigatório ao chamar `Decrypt` ou [verificar](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) com uma chave KMS assimétrica ou ao chamar [VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html)com uma chave HMAC KMS. Essas solicitações falham quando o valor do parâmetro `KeyId` é um alias que não aponta mais para a chave do KMS que executou a operação criptográfica, como quando uma chave é alternada manualmente. Para evitar esse erro, você deve rastrear e especificar a chave KMS correta para cada operação.

Para alterar a chave KMS de destino de um alias, use a [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operação na AWS KMS API. Por exemplo, este comando atualiza o alias `alias/TestKey` para apontar para uma nova chave do KMS. Como a operação não retorna nenhuma saída, o exemplo usa a [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operação para mostrar que o alias agora está associado a uma chave KMS diferente e o `LastUpdatedDate` campo está atualizado. Os ListAliases comandos usam o [`query`parâmetro](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html#cli-usage-filter-client-side-specific-values) no AWS CLI para obter somente o `alias/TestKey` alias.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]'
{
    "Aliases": [
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey",
            "AliasName": "alias/TestKey",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1521097200.123,
            "LastUpdatedDate": 1521097200.123
        },
    ]
}


$ aws kms update-alias --alias-name alias/TestKey --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
            
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]'
{
    "Aliases": [
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey",
            "AliasName": "alias/TestKey",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1521097200.123,
            "LastUpdatedDate": 1604958290.722
        },
    ]
}
```