

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

# Trabalhando com AWS KMS keys
<a name="kms-keys"></a>

An AWS KMS key se refere a uma chave lógica que pode se referir a uma ou mais chaves de apoio do módulo de segurança de hardware (HSM) (HBKs). Este tópico explica como criar uma chave do KMS, importar materiais de chave, bem como habilitar, desabilitar, alternar e excluir chaves do KMS.

**nota**  
AWS KMS está substituindo o termo *chave mestra do cliente (CMK)* por uma *AWS KMS key*chave *KMS.* O conceito não mudou. Para evitar alterações significativas, AWS KMS está mantendo algumas variações desse termo.

Este capítulo discute o ciclo de vida de uma chave do KMS, desde a criação até exclusão, como mostra a imagem a seguir.

![\[Ciclo de vida da chave KMS.\]](http://docs.aws.amazon.com/pt_br/kms/latest/cryptographic-details/images/keystate.png)


**Topics**
+ [Chamando CreateKey](create-key.md)
+ [Importar o material de chave](importing-key-material.md)
+ [Enabling and disabling keys](enable-and-disable-key.md)
+ [Delete an key](key-deletion.md)
+ [Alternar material de chave](rotate-customer-master-key.md)

# Chamando CreateKey
<a name="create-key"></a>

Um AWS KMS key é gerado como resultado de uma chamada para a chamada [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)da API.

Veja a seguir um subconjunto da [sintaxe da solicitação `CreateKey`](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#API_CreateKey_RequestSyntax).

```
{
  "Description": "string",
  "KeySpec": "string",
  "KeyUsage": "string",
  "Origin": "string";
  "Policy": "string"
}
```

A solicitação aceita os dados a seguir no formato JSON.

**Description**  
(Opcional) Descrição da chave. Recomendamos que você escolha uma descrição que ajude a decidir se a chave é apropriada para uma tarefa.

**KeySpec**  
Especifica o tipo de chave do KMS a ser criado. O valor padrão, SYMMETRIC\$1DEFAULT, cria uma chave do KMS com criptografia simétrica. Esse parâmetro é opcional para chaves de criptografia simétrica e é obrigatório para todas as outras especificações de chaves.

**KeyUsage**  
Especifica o uso da chave. Os valores válidos são `ENCRYPT_DECRYPT`, `SIGN_VERIFY` ou `GENERATE_VERIFY_MAC`. O valor padrão é `ENCRYPT_DECRYPT`. Esse parâmetro é opcional para chaves de criptografia simétrica e é obrigatório para todas as outras especificações de chaves.

** Origem**  
(Opcional) Especifica a origem do material de chave da chave do KMS. O valor padrão é`AWS_KMS`, que indica que AWS KMS gera e gerencia o material chave para a chave KMS. Outros valores válidos incluem`EXTERNAL`, que representa uma chave KMS criada sem material de chave para material de [chave importado](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) e `AWS_CLOUDHSM` que cria uma chave KMS em um [armazenamento de chaves personalizado](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) apoiado por um AWS CloudHSM cluster que você controla.

**Política**  
(Opcional) Política a anexar à chave. Se a política for omitida, a chave será criada com a política padrão (a seguir) que permite que a conta raiz e as entidades principais do IAM com permissões do AWS KMS a gerenciem.

Para obter mais detalhes sobre a política, consulte [Políticas de chaves no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) e [Política de chave padrão](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html), no *Guia do desenvolvedor do AWS Key Management Service *.

A solicitação `CreateKey` retorna uma [resposta](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#API_CreateKey_ResponseSyntax) que inclui um ARN de chave.

```
arn:<partition>:kms:<region>:<account-id>:key/<key-id>
```

Se `Origin` for `AWS_KMS`, depois que o ARN for criado, será feita uma solicitação para um HSM do AWS KMS em uma sessão autenticada para provisionar uma chave de reserva (HBK) do módulo de segurança de hardware (HSM). O HBK é uma chave de 256 bits que está associada a essa ID de chave da chave do KMS. Ele pode ser gerado apenas em um HSM e foi projetado para nunca ser exportado fora do limite do HSM em texto simples. O HBK é criptografado com a chave de domínio atual, DK0. Esses tokens criptografados HBKs são chamados de tokens de chave criptografados (EKTs). Embora o HSMs possa ser configurado para usar uma variedade de métodos de agrupamento de chaves, a implementação atual usa o AES-256 no Galois Counter Mode (GCM), um esquema de criptografia autenticado. O modo de criptografia autenticada permite proteger alguns metadados de tokens de chaves exportados em texto simples.

Isso é representado estilisticamente como:

```
EKT = Encrypt(DK0, HBK)
```

Duas formas fundamentais de proteção são fornecidas para suas chaves KMS e as subsequentes HBKs: políticas de autorização definidas em suas chaves KMS e as proteções criptográficas em suas chaves associadas. HBKs As seções restantes descrevem as proteções criptográficas e a segurança das funções de gerenciamento em. AWS KMS

Além do ARN, você pode criar um nome fácil de usar e associá-lo à chave do KMS criando um *alias* para a chave. Depois que um alias tiver sido associado a uma chave do KMS, ele poderá ser usado para identificar essa chave em operações criptográficas. Para obter informações detalhadas, consulte [Usar aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html), no *Guia do desenvolvedor do AWS Key Management Service *.

Vários níveis de autorizações envolvem o uso de chaves KMS. AWS KMS permite políticas de autorização separadas entre o conteúdo criptografado e a chave KMS. Por exemplo, um objeto criptografado em envelope AWS KMS do Amazon Simple Storage Service (Amazon S3) herda a política no bucket do Amazon S3. No entanto, o acesso à chave de criptografia necessária é determinado pela política de acesso na chave KMS. Para obter mais informações sobre como autorizar chaves do KMS, consulte [Autenticação e controle de acesso para o AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html), no *Guia do desenvolvedor do AWS Key Management Service *.

# Importar o material de chave
<a name="importing-key-material"></a>

AWS KMS fornece um mecanismo para importar o material criptográfico usado para um HBK. Conforme descrito em[Chamando CreateKey](create-key.md), quando o CreateKey comando é usado com `Origin` set to`EXTERNAL`, é criada uma chave KMS lógica que não contém nenhum HBK subjacente. O material criptográfico deve ser importado usando a chamada de API do [https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html). Você pode usar esse recurso para controlar a criação de chaves e a durabilidade do material criptográfico. Se você usar esse recurso, recomendamos que tome bastante cuidado no manuseio e durabilidade dessas chaves em seu ambiente. Para obter detalhes completos e recomendações sobre a importação de material chave, consulte [Importar o material de chave](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) no *Guia do desenvolvedor AWS Key Management Service *.

## Chamando ImportKeyMaterial
<a name="importkeymaterial"></a>

A solicitação do `ImportKeyMaterial` importa o material criptográfico necessário para o HBK. O material criptográfico deve ser uma chave simétrica de 256 bits. Ela deve ser criptografada usando o algoritmo especificado em `WrappingAlgorithm` sob a chave pública retornada de uma solicitação recente do [https://docs.aws.amazon.com/kms/latest/APIReference/API_GetParametersForImport.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetParametersForImport.html).

[Uma solicitação `ImportKeyMaterial`](https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html#API_ImportKeyMaterial_RequestSyntax) usa os seguintes argumentos:

```
{
  "EncryptedKeyMaterial": blob,
  "ExpirationModel": "string",
  "ImportToken": blob,
  "KeyId": "string",
  "ValidTo": number
}
```

**EncryptedKeyMaterial**  
O material de chave importada, criptografado com a chave pública retornada em uma solicitação `GetParametersForImport` usando o algoritmo de encapsulamento especificado nessa solicitação. 

**ExpirationModel**  
Especifica se o material de chave expira. Quando este valor é `KEY_MATERIAL_EXPIRES`, o parâmetro `ValidTo` deve conter uma data de validade. Quando este valor é `KEY_MATERIAL_DOES_NOT_EXPIRE`, não inclua o parâmetro `ValidTo`. Os valores válidos são `"KEY_MATERIAL_EXPIRES"` e `"KEY_MATERIAL_DOES_NOT_EXPIRE"`.

**ImportToken**  
O token de importação retornado pela mesma solicitação `GetParametersForImport` que forneceu a chave pública.

**KeyId**  
A chave do KMS que será associada ao material de chave importado. O `Origin` da chave KMS deve ser `EXTERNAL`.  
É possível excluir e reimportar o *mesmo* material de chave importado para a chave do KMS especificada, mas não é possível importar ou associar a chave do KMS a nenhum outro material de chave.

**ValidTo**  
(Opcional) O horário em que o material de chave importada perde a validade. Quando o material de chave perde a validade, o AWS KMS exclui o material de chave e a chave KMS se torna inutilizável. Esse parâmetro é necessário quando o valor de `ExpirationModel` é `KEY_MATERIAL_EXPIRES`. Caso contrário, ele será inválido.

Quando a solicitação for bem-sucedida, a chave KMS estará disponível para uso AWS KMS até a data de expiração especificada, se for fornecida. Depois que o material da chave importada expirar, o EKT será excluído da camada de AWS KMS armazenamento. 

# Enabling and disabling keys
<a name="enable-and-disable-key"></a>

O ato de desabilitar uma chave do KMS impede que ela seja usada em operações de criptografia. Ele suspende a capacidade de usar tudo o HBKs que está associado à chave KMS. A ativação restaura o uso da HBKs e da chave KMS. [Enable](https://docs.aws.amazon.com/kms/latest/APIReference/API_Enable.html) e [Disable](https://docs.aws.amazon.com/kms/latest/APIReference/API_Disable.html) são solicitações simples que usam apenas o ID de chave ou o ARN de chave da chave do KMS.

# Delete an key
<a name="key-deletion"></a>

Usuários autorizados podem usar a [https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html)API para agendar a exclusão de uma chave KMS e de todas as chaves associadas. HBKs Essa é uma operação inerentemente destrutiva, e você deve ter cuidado ao excluir chaves de. AWS KMS AWS KMS impõe um tempo mínimo de espera de sete dias ao excluir as chaves KMS. Durante o período de espera, a chave é colocada em um estado desativado com um estado de chave **Exclusão pendente**. Todas as chamadas para usar a chave para operações criptográficas falharão. ScheduleKeyDeletion usa os seguintes argumentos.

```
{
  "KeyId": "string",
  "PendingWindowInDays": number
}
```

**KeyId**  
O identificador exclusivo da chave KMS que será excluída. Para especificar esse valor, use o ID de chave exclusivo ou o ARN de chave da chave KMS. 

** PendingWindowInDays**  
(Opcional) O período de espera, em número de dias. Este valor é opcional. O intervalo é de 7 a 30 dias, e o valor padrão é de 30 dias. Após o término do período de espera, AWS KMS exclui a chave KMS e todas as associadas. HBKs

# Alternar material de chave
<a name="rotate-customer-master-key"></a>

Os usuários autorizados podem ativar a rotação anual automática de suas chaves do KMS gerenciadas pelo cliente. Chaves gerenciadas pela AWS sempre são alternadas todos os anos. 

Quando uma chave do KMS é alternada, uma nova HBK é criada e marcada como a versão atual do material de chave para todas as novas solicitações de criptografia. Todas as versões anteriores da HBK permanecem disponíveis para uso permanente com o objetivo de descriptografar qualquer texto cifrado que tenha sido criptografado usando uma versão da HBK. Como AWS KMS não armazena nenhum texto cifrado criptografado em uma chave KMS, os textos cifrados criptografados em um HBK antigo e rotacionado exigem que o HBK seja descriptografado. Você pode usar a API [https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html) para criptografar novamente qualquer texto cifrado com a nova HBK para a chave do KMS ou com uma chave do KMS diferente sem expor o texto simples.

Para obter mais informações sobre como habilitar e desabilitar a alternância de chaves, consulte [Alternar chaves do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html), no *Guia do desenvolvedor do AWS Key Management Service *.