

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

# Aliases em AWS KMS
<a name="kms-alias"></a>

Um *alias* é um nome amigável para uma AWS KMS key. Por exemplo, um alias permite fazer referência a uma chave do KMS como `test-key` em vez de `1234abcd-12ab-34cd-56ef-1234567890ab`. 

[Você pode usar um alias para identificar uma chave KMS no AWS KMS console, na [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operação e em [operações criptográficas](kms-cryptography.md#cryptographic-operations), como Criptografar e. [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) Aliases também facilitam o reconhecimento de uma [Chave gerenciada pela AWS](concepts.md#aws-managed-key). Aliases para estas chaves do KMS sempre têm o formato: `aws/<service-name>`. Por exemplo, o alias Chave gerenciada pela AWS para o Amazon DynamoDB é. `aws/dynamodb` É possível estabelecer padrões de alias semelhantes para seus projetos, como introduzir o nome de um projeto ou categoria em seus aliases.

Também é possível pode permitir e negar acesso a chaves do KMS com base em aliases sem precisar editar políticas ou gerenciar concessões. Esse recurso faz parte do AWS KMS suporte ao [controle de acesso baseado em atributos](abac.md) (ABAC). Para obter detalhes, consulte [Usar aliases para controlar o acesso a chaves do KMS](alias-authorization.md).

Grande parte do poder dos aliases vem da sua capacidade de alterar a chave do KMS associada a um alias a qualquer momento. Aliases podem tornar seu código mais fácil de escrever e manter. Por exemplo, suponha que você use um alias para fazer referência a uma determinada chave do KMS e queira alterar essa chave do KMS. Nesse caso, basta associar o alias a outra chave do KMS. Você não precisa mudar o código. 

Aliases também facilitam a reutilização do mesmo código em Regiões da AWS diferentes. Crie aliases com o mesmo nome em várias regiões e associe cada alias a uma chave do KMS em sua respectiva região. Quando o código é executado em cada região, o alias faz referência à chave do KMS associada nessa região. Para ver um exemplo, consulte [Saiba como usar aliases em suas aplicações](alias-using.md).

[Você pode criar um alias para uma chave KMS no AWS KMS console, usando a [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)API ou usando o AWS::KMS::Alias CloudFormation modelo.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)

A AWS KMS API fornece controle total dos aliases em cada conta e região. A API inclui operações para criar um alias ([CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)), visualizar nomes de alias e alias ARNs ([ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)), alterar a chave KMS associada a um alias () e excluir um alias ([UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)). [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)

## Funcionamento dos aliases
<a name="alias-about"></a>

Saiba como os aliases funcionam no AWS KMS.

**Um alias é um recurso independente AWS **  
Um alias não é uma propriedade de uma chave do KMS. As ações executadas no alias não afetam a chave do KMS associada. É possível criar um alias para uma chave do KMS e depois atualizá-lo para associá-lo a outra chave do KMS. Você pode até mesmo excluir o alias sem nenhum efeito sobre a chave do KMS associada. No entanto, se você excluir uma chave do KMS, todos os aliases associados a ela serão excluídos.  
Se você especificar um alias como o recurso em uma política do IAM, esta fará referência ao alias, e não à chave do KMS associada.

**Cada alias tem dois formatos**  
Ao criar um alias, você especifica o nome do alias. AWS KMS cria o alias ARN para você.  
+ Um [ARN de alias](concepts.md#key-id-alias-ARN) é um Amazon Resource Name (ARN) que identifica exclusivamente o alias. 

  ```
  # Alias ARN
  arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  ```
+ Um [nome de alias](concepts.md#key-id-alias-name) que é único na conta e na região. Na AWS KMS API, o nome do alias é sempre prefixado por. `alias/` Esse prefixo é omitido no console. AWS KMS 

  ```
  # Alias name
  alias/<alias-name>
  ```

**Os aliases não são secretos**  
Os aliases podem ser exibidos em texto simples em CloudTrail registros e outras saídas. Não inclua informações confidenciais ou sigilosas nos nomes dos alias.

**Cada alias é associado a uma chave do KMS por vez**  
O alias e sua chave do KMS devem estar na mesma conta e região.   
Você pode associar um alias a qualquer [chave gerenciada pelo cliente](concepts.md#customer-mgn-key) na mesma Conta da AWS região. No entanto, você não tem permissão para associar um alias a uma [Chave gerenciada pela AWS](concepts.md#aws-managed-key).  
Por exemplo, essa [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)saída mostra que o `test-key` alias está associado a exatamente uma chave KMS de destino, que é representada pela `TargetKeyId` propriedade.  

```
{
     "AliasName": "alias/test-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1593622000.191,
     "LastUpdatedDate": 1593622000.191
}
```

**Vários aliases podem ser associados à mesma chave do KMS**  
Por exemplo, você pode associar os aliases `test-key` e `project-key` à mesma chave do KMS.  

```
{
     "AliasName": "alias/test-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1593622000.191,
     "LastUpdatedDate": 1593622000.191
},
{
     "AliasName": "alias/project-key",
     "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project-key",
     "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
     "CreationDate": 1516435200.399,
     "LastUpdatedDate": 1516435200.399
}
```

**O alias deve ser exclusivo em uma conta e região.**  
Por exemplo, é possível ter apenas um alias `test-key` em cada conta e região. Os aliases diferenciam maiúsculas de minúsculas, mas os aliases que diferem apenas no tamanho das letras são muito propensos a erros. Não é possível alterar um nome de alias. No entanto, você pode excluir o alias e criar um novo com o nome desejado.

**É possível criar um alias com o mesmo nome em regiões diferentes**  
Por exemplo, é possível ter um alias `finance-key` na região Leste dos EUA (Norte da Virgínia) e um alias `finance-key` na região Europa (Frankfurt). Cada alias seria associado a uma chave do KMS em sua região. Se o seu código se referir a um nome de alias como `alias/finance-key`, você poderá executá-lo em várias regiões. Em cada região, ele usa uma chave do KMS diferente. Para obter detalhes, consulte [Saiba como usar aliases em suas aplicações](alias-using.md).

**É possível alterar a chave do KMS associada a um alias**  
Você pode usar a [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operação para associar um alias a uma chave KMS diferente. Por exemplo, se o alias `finance-key` estiver associado à chave do KMS `1234abcd-12ab-34cd-56ef-1234567890ab`, você poderá atualizá-lo para associá-lo à chave do KMS `0987dcba-09fe-87dc-65ba-ab0987654321`.  
No entanto, a chave do KMS atual e nova devem ser do mesmo tipo (ambas devem ser simétricas, assimétricas ou HMAC) e devem ter o mesmo [uso de chave](create-keys.md#key-usage) (ENCRYPT\$1DECRYPT ou SIGN\$1VERIFY or GENERATE\$1VERIFY\$1MAC). Essa restrição impede erros no código que usa aliases. Se for necessário associar um alias a um tipo diferente de chave e você tiver atenuado os riscos, poderá excluir e recriar o alias.

**Algumas chaves do KMS não têm aliases**  
Ao criar uma chave KMS no AWS KMS console, você deve dar a ela um novo alias. Mas um alias não é necessário quando você usa a [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação para criar uma chave KMS. Além disso, você pode usar a [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operação para alterar a chave KMS associada a um alias e a [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operação para excluir um alias. Como resultado, algumas chaves do KMS podem ter vários aliases, e outras podem não ter nenhum.

**AWS cria aliases em sua conta**  
AWS cria aliases em sua conta para [Chaves gerenciadas pela AWS](concepts.md#aws-managed-key). Esses aliases têm nomes no formato `alias/aws/<service-name>`, como `alias/aws/s3`.   
Alguns AWS aliases não têm chave KMS. Esses aliases predefinidos geralmente são associados a um Chave gerenciada pela AWS quando você começa a usar o serviço.

**Usar aliases para identificar chaves do KMS**  
Você pode usar um [nome de alias](concepts.md#key-id-alias-name) ou [ARN de alias](concepts.md#key-id-alias-ARN) para identificar uma chave KMS em operações [criptográficas](kms-cryptography.md#cryptographic-operations), e. [DescribeKey[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) (Se a [chave do KMS estiver em uma Conta da AWS diferente](key-policy-modifying-external-accounts.md), você deverá usar seu [ARN de chave](concepts.md#key-id-key-ARN) ou ARN de alias.) Aliases não são identificadores válidos para chaves do KMS em outras operações do AWS KMS . Para obter informações sobre os [identificadores de chave](concepts.md#key-id) válidos para cada operação de AWS KMS API, consulte as descrições dos `KeyId` parâmetros na *Referência da AWS Key Management Service API*.  
Não é possível usar um nome ou um ARN de alias para [identificar uma chave do KMS em uma política do IAM](cmks-in-iam-policies.md). Para controlar o acesso a uma chave KMS com base em seus aliases, use as chaves de condição [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) ou [kms](conditions-kms.md#conditions-kms-resource-aliases):. ResourceAliases Para obter detalhes, consulte [ABAC para AWS KMS](abac.md).

# Controlar o acesso a aliases
<a name="alias-access"></a>

Ao criar ou alterar um alias, você afeta o alias e sua chave do KMS associada. Portanto, as entidades principais que gerenciam aliases devem ter permissão para chamar a operação no alias e em todas as chaves do KMS afetadas. É possível fornecer essas permissões usando [políticas de chave](key-policies.md), [políticas do IAM](iam-policies.md) e [concessões](grants.md). 

**nota**  
Tenha cuidado ao conceder permissão a entidades principais para gerenciar etiquetas e aliases. Alterar uma etiqueta ou um alias pode conceder ou negar uma permissão à chave gerenciada pelo cliente. Para obter mais detalhes, consulte [ABAC para AWS KMS](abac.md) e [Usar aliases para controlar o acesso a chaves do KMS](alias-authorization.md).

Para obter informações sobre como controlar o acesso a todas AWS KMS as operações, consulte[Referência de permissões](kms-api-permissions-reference.md).

As permissões para criar e gerenciar aliases funcionam da forma a seguir.

## kms:CreateAlias
<a name="alias-access-create"></a>

Para criar um alias, a entidade principal precisa das seguintes permissões para o alias e a chave do KMS associada. 
+ `kms:CreateAlias` para o alias. Forneça essa permissão em uma política do IAM associada à entidade principal que tem permissão para criar o alias.

  A instrução de política de exemplo a seguir especifica o alias em um elemento `Resource`. Mas você pode listar vários alias ARNs ou especificar um padrão de alias, como “teste\$1”. Porém, é possível especificar um valor de `Resource` de `"*"` para permitir que a entidade principal crie um alias na conta e na região. A permissão para criar um alias também pode ser incluída em uma permissão `kms:Create*` para todos os recursos em uma conta e região.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:CreateAlias` para a chave do KMS. Essa permissão deve ser fornecida em uma política de chave ou em uma política do IAM delegada a partir da política de chaves. 

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:CreateAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

Você pode usar chaves de condição para limitar as chaves do KMS que podem ser associadas a um alias. Por exemplo, você pode usar a chave de KeySpec condição [kms:](conditions-kms.md#conditions-kms-key-spec) para permitir que o principal crie aliases somente em chaves KMS assimétricas. Para obter uma lista completa de chaves de condições que podem ser usadas para limitar a permissão `kms:CreateAlias` em recursos de chaves do KMS, consulte [AWS KMS permissões](kms-api-permissions-reference.md).

## kms:ListAliases
<a name="alias-access-view"></a>

Para listar aliases na conta e na região, a entidade principal deve ter a permissão `kms:ListAliases` em uma política do IAM. Como essa política não está relacionada a uma chave do KMS ou recurso de alias específico, o valor do elemento de recurso na política [deve ser `"*"`](iam-policies-best-practices.md#require-resource-star). 

Por exemplo, a instrução de política do IAM a seguir dá à entidade principal permissão para listar todas as chaves do KMS e aliases na conta e na região.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:ListKeys",
      "kms:ListAliases"
    ],
    "Resource": "*"
  }
}
```

------

## kms:UpdateAlias
<a name="alias-access-update"></a>

Para alterar a chave do KMS associada a um alias, a entidade principal precisa de três elementos de permissão: um para o alias, um para a chave do KMS atual e outro para a nova chave do KMS.

Por exemplo, suponha que você queira alterar o alias `test-key` da chave do KMS com ID de chave 1234abcd-12ab-34cd-56ef-1234567890ab para a chave do KMS com ID de chave 0987dcba-09fe-87dc-65ba-ab0987654321. Nesse caso, inclua declarações de política semelhantes aos exemplos desta seção.
+ `kms:UpdateAlias` para o alias. Forneça essa permissão em uma política do IAM associada à entidade principal. A política do IAM a seguir define um alias específico. Mas você pode listar vários alias ARNs ou especificar um padrão de alias, como. `"test*"` Porém, é possível especificar um valor de `Resource` de `"*"` para permitir que a entidade principal atualize um alias na conta e na região.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:UpdateAlias",
      "kms:ListAliases",
      "kms:ListKeys"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:UpdateAlias` para a chave do KMS que está atualmente associada ao alias. Essa permissão deve ser fornecida em uma política de chave ou em uma política do IAM delegada a partir da política de chaves.

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:UpdateAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```
+ `kms:UpdateAlias` para a chave do KMS que a operação associa ao alias. Essa permissão deve ser fornecida em uma política de chave ou em uma política do IAM delegada a partir da política de chaves.

  ```
  {
    "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321",
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"},
    "Action": [
      "kms:UpdateAlias", 
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

Você pode usar chaves de condição para limitar uma ou ambas as chaves do KMS em uma operação `UpdateAlias`. Por exemplo, você pode usar uma chave de ResourceAliases condição [kms:](conditions-kms.md#conditions-kms-resource-aliases) para permitir que o principal atualize os aliases somente quando a chave KMS de destino já tiver um alias específico. Para obter uma lista completa de chaves de condições que podem ser usadas para limitar a permissão `kms:UpdateAlias` em um recurso de chave do KMS, consulte [AWS KMS permissões](kms-api-permissions-reference.md).

## kms:DeleteAlias
<a name="alias-access-delete"></a>

Para excluir um alias, a entidade principal precisa de permissão para o alias e a chave do KMS associada. 

Como sempre, tenha cuidado ao conceder permissão às entidades principais para excluir um recurso. No entanto, a exclusão de um alias não afeta a chave do KMS associada. Embora isso possa causar uma falha em uma aplicação dependente do alias, se você excluir um alias por engano, poderá recriá-lo.
+ `kms:DeleteAlias` para o alias. Forneça essa permissão em uma política do IAM associada à entidade principal que tem permissão para excluir o alias.

  A declaração de política demonstrativa a seguir especifica o alias em um elemento `Resource`. Mas você pode listar vários alias ARNs ou especificar um padrão de alias, como`"test*"`, Você também pode especificar um `Resource` valor de `"*"` para permitir que o principal exclua qualquer alias na conta e na região.

  ```
  {
    "Sid": "IAMPolicyForAnAlias",
    "Effect": "Allow",
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias"
    ],
    "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key"
  }
  ```
+ `kms:DeleteAlias` para a chave do KMS associada. Essa permissão deve ser fornecida em uma política de chave ou em uma política do IAM delegada a partir da política de chaves.

  ```
  {
    "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"
    },
    "Action": [
      "kms:CreateAlias",
      "kms:UpdateAlias",
      "kms:DeleteAlias",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

## Limitar permissões de alias
<a name="alias-access-limiting"></a>

É possível usar chaves de condição para limitar permissões de alias quando o recurso é uma chave do KMS. Por exemplo, a política do IAM a seguir permite as operações de alias em chaves do KMS em uma determinada conta e região. No entanto, ele usa a chave de KeyOrigin condição [kms:](conditions-kms.md#conditions-kms-key-origin) para limitar ainda mais as permissões às chaves KMS com material de chave de. AWS KMS

Para obter uma lista completa de chaves de condições que podem ser usadas para limitar a permissão de alias em um recurso de chave do KMS, consulte [AWS KMS permissões](kms-api-permissions-reference.md).

```
{
  "Sid": "IAMPolicyKeyPermissions",
  "Effect": "Allow",
  "Resource": "arn:aws:kms:us-west-2:111122223333:key/*",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Condition": {
    "StringEquals": {
      "kms:KeyOrigin": "AWS_KMS"
    }
  }  
}
```

Você não pode usar chaves de condição em uma instrução de política na qual o recurso é um alias. Para limitar os aliases que uma entidade principal pode gerenciar, use o valor da propriedade `Resource` da instrução de política do IAM que controla o acesso ao alias. Por exemplo, as declarações de política a seguir permitem que o diretor crie, atualize ou exclua qualquer alias na região Conta da AWS e, a menos que o alias comece com. `Restricted`

```
{
  "Sid": "IAMPolicyForAnAliasAllow",
  "Effect": "Allow",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*"
},
{
  "Sid": "IAMPolicyForAnAliasDeny",
  "Effect": "Deny",
  "Action": [
    "kms:CreateAlias",
    "kms:UpdateAlias",
    "kms:DeleteAlias"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*"
}
```

# Criar alias
<a name="alias-create"></a>

Você pode criar aliases no AWS KMS console ou usando operações de AWS KMS API. 

O alias deve ser uma string contendo de 1 até 256 caracteres. Só pode conter caracteres alfanuméricos, barras (/), sublinhados (\$1) e traços (-). O nome do alias de uma [chave gerenciada pelo cliente](concepts.md#customer-mgn-key) não pode começar com `alias/aws/`. O prefixo `alias/aws/` está reservado para a [Chave gerenciada pela AWS](concepts.md#aws-managed-key).

É possível criar um alias para uma nova chave do KMS ou para uma chave do KMS existente. Você pode adicionar um alias para que uma determinada chave do KMS seja usada em um projeto ou uma aplicação. 

Você também pode usar um AWS CloudFormation modelo para criar um alias para uma chave KMS. Consulte mais informações em [AWS::KMS::Alias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html) no *Guia de Usuário AWS CloudFormation *.

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

Ao [criar uma chave KMS](create-keys.md) no AWS KMS console, você deve criar um alias para a nova chave KMS. Para criar um alias para uma chave do KMS existente, use a guia **Aliases** na página de detalhes da chave do KMS.

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**. Você não pode gerenciar aliases para Chaves gerenciadas pela AWS ou Chaves pertencentes à AWS.

1. Na tabela, escolha o ID de chave ou alias da chave do KMS. Em seguida, na página de detalhes da chave do KMS, escolha a guia **Aliases**.

   Se uma chave do KMS tiver vários aliases, a coluna **Aliases** na tabela exibe um alias e um resumo de alias, como **(Mais *n*)**. Escolher o resumo de aliases leva diretamente à guia **Aliases** na página de detalhes da chave do KMS.

1. Na guia **Aliases**, escolha **Create alias** (Criar alias). Insira um nome de alias e escolha **Create alias** (Criar alias).
**Importante**  
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.
**nota**  
Não adicione o prefixo `alias/`. O console adiciona isso para você automaticamente. Se você inserir `alias/ExampleAlias`, o nome do alias real será `alias/alias/ExampleAlias`.

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

Para criar um alias, use a [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)operação. Diferentemente do processo de criação de chaves KMS no console, a [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação não cria um alias para uma nova chave KMS.

**Importante**  
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.

Você pode usar a operação `CreateAlias` para criar um alias para uma nova chave do KMS sem alias. Você também pode usar a operação `CreateAlias` para adicionar um alias a qualquer chave do KMS existente ou para recriar um alias excluído acidentalmente. 

Nas operações da AWS KMS API, o nome do alias deve começar com `alias/` seguido por um nome, como`alias/ExampleAlias`. O alias deve ser exclusivo na conta e na região da . Para encontrar os nomes de alias que já estão em uso, use a [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operação. O nome do alias diferencia maiúsculas de minúsculas.

O `TargetKeyId` pode ser qualquer [chave gerenciada pelo cliente](concepts.md#customer-mgn-key) na mesma Região da AWS. Para identificar a chave do KMS, use seu [ID de chave](concepts.md#key-id-key-id) ou [ARN de chave](concepts.md#key-id-key-ARN). Não é possível usar outro alias.

O exemplo a seguir cria o alias `example-key` e o associa à chave do KMS especificada. Esses exemplos usam o AWS Command Line Interface (AWS CLI). Para obter exemplos em várias linguagens de programação, consulte [Use `CreateAlias` com um AWS SDK ou CLI](example_kms_CreateAlias_section.md).

```
$ aws kms create-alias \
    --alias-name alias/example-key \
    --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
```

`CreateAlias` não retorna nenhuma saída. Para ver o novo alias, use a operação `ListAliases`. Para obter detalhes, consulte [Usando a AWS KMS API](alias-view.md#alias-view-api).

# Encontrar o nome e o ARN do alias para uma chave do KMS
<a name="alias-view"></a>

Os aliases facilitam o reconhecimento das chaves KMS no AWS KMS console. Você pode visualizar os aliases de uma chave KMS no AWS KMS console ou usando a [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operação. A [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operação, que retorna as propriedades de uma chave KMS, não inclui aliases.

Os procedimentos a seguir demonstram como visualizar e identificar os aliases associados a uma chave KMS usando o AWS KMS console e AWS KMS a API. Os exemplos de AWS KMS API usam o [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível.

## Usando o AWS KMS console
<a name="alias-view-console"></a>

O AWS KMS console exibe os aliases associados à chave KMS. 

1. Abra o AWS KMS console 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. Para exibir as chaves em sua conta que você cria e gerencia, no painel de navegação, escolha **Customer managed keys (Chaves gerenciadas de cliente)**. Para ver as chaves em sua conta que AWS cria e gerencia para você, no painel de navegação, escolha **chaves AWS gerenciadas**.

1. A coluna **Aliases** exibe o alias de cada chave do KMS. Se uma chave do KMS não tiver um alias, um traço (**-**) será exibido na coluna **Aliases**.

   Se uma chave do KMS tiver vários aliases, a coluna **Aliases** também terá um resumo dos aliases, como **(mais *n*)**. Por exemplo, a seguinte chave do KMS tem dois aliases, um dos quais é `key-test`. 

   Para encontrar o nome e o ARN de todos os aliases para a chave do KMS, use a guia **Aliases**. 
   + Para acessar diretamente a guia **Aliases**, na coluna **Aliases**, escolha o resumo do alias (**Mais *n***). Um resumo de aliases será exibido somente se a chave do KMS tiver mais de um alias.
   + Outra opção é escolher o alias ou o ID da chave do KMS (que abre a página de detalhes da chave do KMS) e escolher a guia **Aliases**. As guias estão na seção **General configuration** (Configuração geral).   
![\[Chaves gerenciadas pelo cliente interface showing a list with one key and options to create or filter keys.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/find-alias-name-1-sm.png)

1. A guia **Aliases** exibe o nome do alias e o ARN do alias de todos os aliases de uma chave do KMS. Também é possível criar e excluir aliases para a chave do KMS nessa guia.  
![\[Aliases tab showing two key aliases with their names and ARNs listed in a table format.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/alias-tab-1.png)

**Chaves gerenciadas pela AWS**  
Você pode usar o alias para reconhecer um Chave gerenciada pela AWS, conforme mostrado nesta **Chaves gerenciadas pela AWS**página de exemplo. Os aliases de Chaves gerenciadas pela AWS sempre têm o formato: `aws/<service-name>`. Por exemplo, o alias Chave gerenciada pela AWS para o Amazon DynamoDB é. `aws/dynamodb`

![\[Aliases na página Chaves gerenciadas pela AWS do console do AWS KMS\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/alias-console-aws-managed-sm.png)


## Usando a AWS KMS API
<a name="alias-view-api"></a>

A [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operação retorna o nome do alias e o ARN do alias da conta e da região. A saída inclui aliases para Chaves gerenciadas pela AWS e para chaves gerenciadas pelo cliente. Os aliases para Chaves gerenciadas pela AWS têm o formato `aws/<service-name>`, como `aws/dynamodb`.

A resposta também pode incluir aliases sem campo `TargetKeyId`. Esses são aliases predefinidos que AWS foram criados, mas ainda não foram associados a uma chave KMS.

```
$ aws kms list-aliases
{
    "Aliases": [
        {
            "AliasName": "alias/access-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1516435200.399,
            "LastUpdatedDate": 1516435200.399
        },        
        {
            "AliasName": "alias/ECC-P521-Sign",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ECC-P521-Sign",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1693622000.704,
            "LastUpdatedDate": 1693622000.704
        },
        {
            "AliasName": "alias/ImportedKey",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ImportedKey",
            "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d",
            "CreationDate": 1493622000.704,
            "LastUpdatedDate": 1521097200.235
        },
        {
            "AliasName": "alias/finance-project",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1604958290.014,
            "LastUpdatedDate": 1604958290.014
        },
        {
            "AliasName": "alias/aws/dynamodb",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb",
            "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef",
            "CreationDate": 1521097200.454,
            "LastUpdatedDate": 1521097200.454
        },
        {
            "AliasName": "alias/aws/ebs",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs",
            "TargetKeyId": "abcd1234-09fe-ef90-09fe-ab0987654321",
            "CreationDate": 1466518990.200,
            "LastUpdatedDate": 1466518990.200
        }
    ]
}
```

Para obter todos os aliases associados a uma determinada chave do KMS, use o parâmetro opcional `KeyId` da operação `ListAliases`. O parâmetro `KeyId` usa o [ID de chave](concepts.md#key-id-key-id) ou o [ARN de chave](concepts.md#key-id-key-ARN) da chave do KMS. 

Esse exemplo obtém todos os aliases associados à chave do KMS `0987dcba-09fe-87dc-65ba-ab0987654321`.

```
$ aws kms list-aliases --key-id 0987dcba-09fe-87dc-65ba-ab0987654321
{
    "Aliases": [
        {
            "AliasName": "alias/access-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": "2018-01-20T15:23:10.194000-07:00",
            "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00"
        },
        {
            "AliasName": "alias/finance-project",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1604958290.014,
            "LastUpdatedDate": 1604958290.014
        }
    ]
}
```

O parâmetro `KeyId` não usa caracteres curinga, mas você pode usar os recursos da linguagem de programação para filtrar a resposta. 

Por exemplo, o AWS CLI comando a seguir obtém somente os aliases de Chaves gerenciadas pela AWS.

```
$ aws kms list-aliases --query 'Aliases[?starts_with(AliasName, `alias/aws/`)]'
```

O comando a seguir obtém apenas o alias `access-key`. O nome do alias diferencia maiúsculas de minúsculas.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/access-key`]'
[
    {
        "AliasName": "alias/access-key",
        "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key",
        "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": "2018-01-20T15:23:10.194000-07:00",
        "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00"
    }
]
```

# Atualizar aliases
<a name="alias-update"></a>

Como um alias é um recurso independente, é possível alterar a chave do KMS associada a ele. Por exemplo, se o `test-key` alias estiver associado a uma chave KMS, você poderá usar a [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operação para associá-lo a uma chave KMS diferente. Esta é uma das várias maneiras de [alternar manualmente uma chave do KMS](rotate-keys.md) sem alterar seu material de chave. Também é possível atualizar uma chave do KMS para que uma aplicação que estava usando uma determinada chave do KMS para novos recursos use agora uma diferente.

Você não pode atualizar um alias no AWS KMS console. Além disso, você não pode usar `UpdateAlias` (nem qualquer outra operação) para alterar um nome de alias. Para alterar um nome de alias, exclua o alias atual e crie um novo para a chave do KMS.

Quando você atualiza um alias, a chave atual do KMS e a nova chave do KMS devem ser do mesmo tipo (ambas simétricas, assimétricas ou HMAC). Elas também devem ter o mesmo uso de chave (`ENCRYPT_DECRYPT` ou `SIGN_VERIFY` ou GENERATE\$1VERIFY\$1MAC). Essa restrição previne erros criptográficos no código que usa aliases. 

O exemplo a seguir começa usando a [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operação para mostrar que o `test-key` alias está atualmente associado à chave KMS. `1234abcd-12ab-34cd-56ef-1234567890ab` 

```
$ aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{
    "Aliases": [
        {
            "AliasName": "alias/test-key",
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1593622000.191,
            "LastUpdatedDate": 1593622000.191
        }
    ]
}
```

Em seguida, ele usará a operação `UpdateAlias` para alterar a chave do KMS associada ao alias `test-key` para a chave do KMS `0987dcba-09fe-87dc-65ba-ab0987654321`. Não é necessário especificar a chave do KMS atualmente associada, apenas a nova chave do KMS ("de destino"). O nome do alias diferencia maiúsculas de minúsculas.

```
$ aws kms update-alias --alias-name 'alias/test-key' --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
```

Para verificar se o alias agora está associado à chave do KMS de destino, use a operação `ListAliases` novamente. Esse AWS CLI comando usa o `--query` parâmetro para obter somente o `test-key` alias. Os campos `TargetKeyId` e `LastUpdatedDate` são atualizados.

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

# Excluir um alias
<a name="alias-delete"></a>

Você pode excluir um alias no AWS KMS console ou usando a [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operação. Antes de excluir um alias, verifique se ele não está em uso. Embora a exclusão de um alias não afete a chave do KMS associada, ela pode criar problemas para qualquer aplicação que use esse alias. Se você excluir um alias por engano, poderá criar um novo alias com o mesmo nome e associá-lo à mesma chave do KMS ou a outra chave do KMS.

Se uma chave do KMS for excluída, todos os aliases associados a ela serão excluídos também.

## Usando o AWS KMS console
<a name="alias-delete-console"></a>

Para excluir um alias no AWS KMS console, use a guia **Aliases** na página de detalhes da chave KMS. É possível excluir vários aliases de uma chave do KMS ao mesmo tempo.

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**. Você não pode gerenciar aliases para Chaves gerenciadas pela AWS ou Chaves pertencentes à AWS.

1. Na tabela, escolha o ID de chave ou alias da chave do KMS. Em seguida, na página de detalhes da chave do KMS, escolha a guia **Aliases**.

   Se uma chave do KMS tiver vários aliases, a coluna **Aliases** na tabela exibe um alias e um resumo de alias, como **(Mais *n*)**. Escolher o resumo de aliases leva diretamente à guia **Aliases** na página de detalhes da chave do KMS.

1. Na guia **Aliases**, marque a caixa de seleção ao lado dos aliases que deseja excluir. Escolha **Excluir**.

## Usando a AWS KMS API
<a name="alias-delete-api"></a>

Para excluir um alias, use a [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operação. Essa operação exclui um alias por vez. O nome do alias faz distinção entre maiúsculas e minúsculas e deve ser precedido pelo prefixo `alias/`.

Por exemplo, o comando a seguir exclui o alias chamado `test-key`. Esse comando não retorna nenhuma saída. 

```
$ aws kms delete-alias --alias-name alias/test-key
```

Para verificar se o alias foi excluído, use a [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operação. O comando a seguir usa o `--query` parâmetro no AWS CLI para obter somente o `test-key` alias. Os colchetes vazios na resposta indicam que a resposta `ListAliases` não incluiu um alias `test-key`. Para eliminar os colchetes, use o parâmetro `--output text` e o valor.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]'
[]
```

# Usar aliases para controlar o acesso a chaves do KMS
<a name="alias-authorization"></a>

Você pode controlar o acesso às chaves do KMS de acordo com os aliases associados à chave do KMS. Para fazer isso, use as teclas de ResourceAliases condição [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) e [kms:](conditions-kms.md#conditions-kms-resource-aliases). Esse recurso faz parte do AWS KMS suporte ao [controle de acesso baseado em atributos](abac.md) (ABAC).

A chave de condição `kms:RequestAlias` permite ou nega acesso a uma chave do KMS de acordo com o alias em uma solicitação. A chave de condição `kms:ResourceAliases` permite ou nega acesso a uma chave do KMS de acordo com os aliases associados à chave do KMS. 

Esses recursos não permitem identificar uma chave do KMS usando um alias no elemento `resource` de uma instrução de política. Quando um alias é o valor de um elemento `resource`, a política aplica-se ao recurso de alias, e não a qualquer chave do KMS que possa estar associada a ela.

**nota**  
Pode levar até cinco minutos para que alterações de etiqueta e alias afetem a autorização de chaves do KMS. Alterações recentes podem estar visíveis em operações de API antes de afetarem a autorização.

Ao usar aliases para controlar o acesso a chaves do KMS, considere o seguinte:
+ Use aliases para reforçar as práticas recomendadas de [acesso com privilégio mínimo](iam-policies-best-practices.md). Conceda às entidades principais do IAM somente as permissões de que eles precisam para as chaves do KMS que elas devem usar ou gerenciar. Por exemplo, use aliases para identificar as chaves do KMS usadas para um projeto. Em seguida, conceda permissão à equipe do projeto para usar apenas chaves do KMS com os aliases do projeto. 
+ Tenha cautela ao conceder às entidades principais as permissões `kms:CreateAlias`, `kms:UpdateAlias` ou `kms:DeleteAlias`, que permitem adicionar, editar e excluir aliases. Quando você usa aliases para controlar o acesso a chaves do KMS, a alteração de um alias pode conceder às entidades principais permissão para usar chaves do KMS para as quais, de outra forma, eles não teriam permissão para usar. Ele também pode negar acesso a chaves do KMS que outras entidades principais exigem para realizar seus trabalhos. 
+ Revise os diretores Conta da AWS que atualmente têm permissão para gerenciar aliases e ajustar as permissões, se necessário. Os administradores de chaves que não têm permissão para alterar políticas de chave ou criar concessões podem controlar o acesso a chaves do KMS quando têm a devida permissão para gerenciar aliases. 

  Por exemplo, a [política de chaves padrão para administradores de chaves](key-policy-default.md#key-policy-default-allow-administrators) do console inclui as permissões `kms:CreateAlias`, `kms:DeleteAlias` e `kms:UpdateAlias`. As políticas do IAM podem dar permissões de alias para todas as chaves do KMS na sua Conta da AWS. Por exemplo, a política [AWSKeyManagementServicePowerUser](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSKeyManagementServicePowerUser)gerenciada permite que os diretores criem, excluam e listem aliases para todas as chaves do KMS, mas não as atualizem.
+ Antes de definir uma política que dependa de um alias, revise os aliases nas chaves KMS em seu. Conta da AWS Assegure-se de que sua política se aplique somente aos aliases que você pretende incluir. Use [CloudTrail registros](alias-ct.md) e [CloudWatch alarmes](monitoring-cloudwatch.md) para alertá-lo sobre alterações de alias que podem afetar o acesso às suas chaves KMS. Além disso, a [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)resposta inclui a data de criação e a data da última atualização de cada alias.
+ As condições de política de alias usam correspondência de padrões. Elas não estão vinculadas a uma instância específica de um alias. Uma política que usa chaves de condição com base em alias afeta todos os aliases novos e existentes que correspondem ao padrão. Se você excluir e recriar um alias que corresponde a uma condição de política, esta última se aplicará ao novo alias e também ao antigo. 

A chave de condição `kms:RequestAlias` depende do alias especificado explicitamente em uma solicitação de operação. A chave de condição `kms:ResourceAliases` depende dos aliases associados a uma chave do KMS, mesmo que eles não apareçam na solicitação.

## kms:RequestAlias
<a name="alias-auth-request-alias"></a>

Permita ou negue o acesso a uma chave do KMS de acordo com o alias que identifica essa chave em uma solicitação. Você pode usar a chave de RequestAlias condição [kms:](conditions-kms.md#conditions-kms-request-alias) em uma política de [chaves ou política](key-policies.md) do IAM. Ela se aplica às operações que usam um alias para identificar uma chave KMS em uma solicitação, ou seja, [operações criptográficas](kms-cryptography.md#cryptographic-operations), e. [DescribeKey[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) Não é válido para operações de alias, como [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)ou [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html).

**Importante**  
Uma declaração `Deny` de política com a `kms:RequestAlias` condição não é recomendada porque os chamadores podem ignorá-la usando o [ID da chave](concepts.md#key-id-key-id), o [ARN](concepts.md#key-id-key-ARN) da chave ou um alias diferente para identificar a chave KMS na solicitação. Para negar acesso com base em aliases associados a uma chave KMS, use a chave de ResourceAliases condição [kms:](conditions-kms.md#conditions-kms-resource-aliases) em vez disso.

Na chave de condição, especifique um [nome de alias](concepts.md#key-id-alias-name) ou um padrão de nome de alias. Você não pode especificar um [ARN de alias](concepts.md#key-id-alias-ARN).

Por exemplo, a seguinte instrução de política de chaves permite que as entidades principais usem as operações especificadas na chave do KMS. A permissão será efetiva apenas quando a solicitação usar um alias que inclui `alpha` para identificar a chave do KMS.

```
{
  "Sid": "Key policy using a request alias condition",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/alpha-developer"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:RequestAlias": "alias/*alpha*"
    }
  }
}
```

O seguinte exemplo de solicitação de uma entidade principal autorizada atenderia à condição. No entanto, uma solicitação que usasse um [ID de chave](concepts.md#key-id-key-id), um [ARN de chave](concepts.md#key-id-key-ARN) ou um alias diferente não atenderia à condição, mesmo que esses valores identificassem a mesma chave do KMS.

```
$ aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"
```

## kms:ResourceAliases
<a name="alias-auth-resource-aliases"></a>

Permita ou negue acesso a uma chave do KMS de acordo com os aliases associados à chave do KMS, mesmo que o alias não seja usado em uma solicitação. A chave de ResourceAliases condição [kms:](conditions-kms.md#conditions-kms-resource-aliases) permite especificar um alias ou padrão de alias, como`alias/test*`, para que você possa usá-la em uma política do IAM para controlar o acesso a várias chaves do KMS na mesma região. É válido para qualquer AWS KMS operação que use uma chave KMS. 

Por exemplo, a política do IAM a seguir permite que os diretores chamem as operações especificadas nas chaves KMS em duas. Contas da AWS No entanto, a permissão apenas é aplicada a chaves do KMS associadas a aliases que começam com `restricted`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AliasBasedIAMPolicy",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": [
        "arn:aws:kms:*:111122223333:key/*",
        "arn:aws:kms:*:444455556666:key/*"
      ],
      "Condition": {
        "ForAnyValue:StringLike": {
          "kms:ResourceAliases": "alias/restricted*"
        }
      }
    }
  ]
}
```

------

A condição `kms:ResourceAliases` é uma condição do recurso, e não a solicitação. Dessa forma, uma solicitação que não especifique o alias ainda pode atender à condição.

O seguinte exemplo de solicitação, que especifica um alias correspondente, atende à condição.

```
$ aws kms enable-key-rotation --key-id "alias/restricted-project"
```

No entanto, o seguinte exemplo de solicitação também atende à condição, desde que a chave do KMS especificada tenha um alias que comece com `restricted`, mesmo que este não seja utilizado na solicitação.

```
$ aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
```

# Saiba como usar aliases em suas aplicações
<a name="alias-using"></a>

É possível usar um alias para representar uma chave do KMS no código da sua aplicação. O `KeyId` parâmetro em [operações AWS KMS criptográficas](kms-cryptography.md#cryptographic-operations), [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html), e [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)aceita um nome de alias ou ARN de alias.

Por exemplo, o comando `GenerateDataKey` a seguir usa um nome de alias (`alias/finance`) para identificar uma chave do KMS. O nome do alias é o valor do parâmetro `KeyId`. 

```
$ aws kms generate-data-key --key-id alias/finance --key-spec AES_256
```

Se a chave KMS estiver em um local diferente Conta da AWS, você deverá usar um ARN de chave ou um alias ARN nessas operações. Ao usar um ARN de alias, não se esqueça de que o alias de uma chave do KMS é definido na conta que tem a chave do KMS e que ele pode ser diferente em cada região. Para obter ajuda sobre como encontrar o ARN do alias, consulte [Encontrar o nome e o ARN do alias para uma chave do KMS](alias-view.md).

Por exemplo, o seguinte comando `GenerateDataKey` usa uma chave do KMS que não está na conta do autor da chamada. O alias `ExampleAlias` está associado à chave do KMS na conta e região especificadas.

```
$ aws kms generate-data-key --key-id arn:aws:kms:us-west-2:444455556666:alias/ExampleAlias --key-spec AES_256
```

Um dos usos mais poderosos dos aliases é em aplicações executadas em várias Regiões da AWS. Por exemplo, você pode ter uma aplicação global que usa uma [chave do KMS assimétrica RSA](symmetric-asymmetric.md) para assinatura e verificação. 
+ Na região Oeste dos EUA (Oregon) (us-west-2), você deseja usar `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`. 
+ Na região Europa (Frankfurt) (eu-central-1), você deseja usar `arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321`
+ Na região Ásia-Pacífico (Singapura) (ap-southeast-1), você deseja usar `arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d`.

É possível criar uma versão diferente da sua aplicação em cada região ou usar um dicionário ou instrução de alternância para selecionar a chave do KMS correta para cada região. Mas é muito mais fácil criar um alias com o mesmo nome em cada região. Lembre-se de que o nome do alias diferencia maiúsculas de minúsculas.

```
aws --region us-west-2 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

aws --region eu-central-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321

aws --region ap-southeast-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d
```

Depois, use o alias em seu código. Quando seu código for executado em cada região, o alias fará referência à sua chave do KMS associada nessa região. Por exemplo, esse código chama a operação [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) com um nome de alias.

```
aws kms sign --key-id alias/new-app \
    --message $message \
    --message-type RAW \
    --signing-algorithm RSASSA_PSS_SHA_384
```

No entanto, existe o risco de que o alias seja excluído ou atualizado para ser associado a outra chave do KMS. Nesse caso, as tentativas da aplicação de verificar assinaturas usando o nome do alias falharão e talvez seja necessário recriar ou atualizar o alias.

Para atenuar esse risco, tenha cuidado ao conceder permissão às entidades principais para gerenciar os aliases usados em sua aplicação. Para obter detalhes, consulte [Controlar o acesso a aliases](alias-access.md).

Existem várias outras soluções para aplicações que criptografam dados em várias regiões da Regiões da AWS, incluindo [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).

# Encontre aliases em registros AWS CloudTrail
<a name="alias-ct"></a>

Você pode usar um alias para representar uma AWS KMS key em uma operação de AWS KMS API. Ao fazer isso, o alias e o ARN da chave KMS são registrados na entrada de registro AWS CloudTrail do evento. O alias é exibido no campo `requestParameters`. O ARN de chave é exibido no campo `resources`. Isso é verdade mesmo quando um AWS serviço usa um Chave gerenciada pela AWS em sua conta. 

Por exemplo, a [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitação a seguir usa o `project-key` alias para representar uma chave KMS.

```
$ aws kms generate-data-key --key-id alias/project-key --key-spec AES_256
```

Quando essa solicitação é registrada no CloudTrail registro, a entrada do registro inclui o alias e o ARN da chave KMS real que foi usada. 

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDE",
        "arn": "arn:aws:iam::111122223333:role/ProjectDev",
        "accountId": "111122223333",
        "accessKeyId": "FFHIJ",
        "userName": "example-dev"
    },
    "eventTime": "2020-06-29T23:36:41Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "205.205.123.000",
    "userAgent": "aws-cli/1.18.89 Python/3.6.10 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 botocore/1.17.12",
    "requestParameters": {
        "keyId": "alias/project-key",
        "keySpec": "AES_256"
    },
    "responseElements": null,
    "requestID": "d93f57f5-d4c5-4bab-8139-5a1f7824a363",
    "eventID": "d63001e2-dbc6-4aae-90cb-e5370aca7125",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "111122223333"
}
```

Para obter detalhes sobre AWS KMS as operações de registro em CloudTrail registros, consulte[Registrando chamadas de AWS KMS API com AWS CloudTrail](logging-using-cloudtrail.md).