

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Alias en AWS KMS
<a name="kms-alias"></a>

Un *alias* es un nombre fácil de recordar para una AWS KMS key. Por ejemplo, un alias le permite referirse a una clave KMS como `test-key` en lugar de `1234abcd-12ab-34cd-56ef-1234567890ab`. 

Puede usar un alias para identificar una clave KMS en la AWS KMS consola, en la [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operación y en [las operaciones criptográficas](kms-cryptography.md#cryptographic-operations), como [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) y. [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) Los alias también facilitan el reconocimiento de un [Clave administrada de AWS](concepts.md#aws-managed-key). Los alias de estas claves KMS siempre tienen la forma `aws/<service-name>`. Por ejemplo, el alias de Amazon `aws/dynamodb` DynamoDB es. Clave administrada de AWS Puede establecer estándares de alias similares para sus proyectos, como anteponer los alias con el nombre de un proyecto o categoría.

También puede permitir y denegar el acceso a claves KMS en función de sus alias sin editar políticas ni administrar concesiones. Esta función forma parte del AWS KMS soporte para el [control de acceso basado en atributos](abac.md) (ABAC). Para obtener más información, consulte [Uso de alias para controlar el acceso a las claves KMS](alias-authorization.md).

Gran parte de la potencia de los alias proviene de su capacidad de cambiar la clave KMS asociada a un alias en cualquier momento. Los alias pueden hacer que su código sea más fácil de escribir y mantener. Por ejemplo, supongamos que utiliza un alias para hacer referencia a una clave KMS concreta y desea cambiar la clave KMS. En ese caso, simplemente asocie el alias con una clave KMS diferente. No es necesario realizar cambios en el código. 

Los alias también facilitan la reutilización del mismo código en diferentes Regiones de AWS. Cree alias con el mismo nombre en varias regiones y asocie cada alias a una clave KMS en su región. Cuando el código se ejecuta en cada región, el alias hace referencia a la clave KMS asociada en esa región. Para ver un ejemplo, consulta [Obtención de información sobre cómo utilizar alias en las aplicaciones](alias-using.md).

[Puede crear un alias para una clave de KMS en la AWS KMS consola, mediante la [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)API o mediante la plantilla. AWS::KMS::Alias CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)

La AWS KMS API proporciona un control total de los alias de cada cuenta y región. La API incluye operaciones para crear un alias ([CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)), ver los nombres de los alias y los alias ARNs ([ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)), cambiar la clave de KMS asociada a un alias ([UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)) y eliminar un alias ([DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)).

## Funcionamiento de los alias
<a name="alias-about"></a>

Obtenga información sobre cómo funcionan los alias en AWS KMS.

**Un alias es un AWS recurso independiente**  
Un alias no es propiedad de una clave KMS. Las acciones que realice en el alias no afectan a su clave KMS asociada. Puede crear un alias para una clave KMS y, a continuación, actualizar el alias para que esté asociado a una clave KMS diferente. Incluso puede eliminar el alias sin ningún efecto en la clave KMS asociada. Sin embargo, si elimina una clave KMS, se eliminan todos los alias asociados a esa clave KMS.  
Si especifica un alias como recurso en una política de IAM, la política hace referencia al alias, no a la clave KMS asociada.

**Cada alias tiene dos formatos**  
Al crear un alias, se especifica el nombre del alias. AWS KMS crea el alias ARN por usted.  
+ Un [ARN de alias](concepts.md#key-id-alias-ARN) es un nombre de recurso de Amazon (ARN) que identifica de forma exclusiva el alias. 

  ```
  # Alias ARN
  arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  ```
+ El [nombre de alias](concepts.md#key-id-alias-name) debe ser único en la cuenta y la región. En la AWS KMS API, el nombre del alias siempre lleva el prefijo. `alias/` Este prefijo se omite en la consola. AWS KMS 

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

**Los alias no son secretos**  
Los alias pueden mostrarse en texto plano en los CloudTrail registros y otros resultados. No incluya información confidencial en el nombre del alias.

**Cada alias está asociado a una clave KMS a la vez**  
El alias y la clave KMS deben estar en la misma cuenta y región.   
Puede asociar un alias a cualquier [clave gestionada por el cliente](concepts.md#customer-mgn-key) en la misma región Cuenta de AWS . Sin embargo, no tiene permiso para asociar un alias con una [Clave administrada de AWS](concepts.md#aws-managed-key).  
Por ejemplo, este [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)resultado muestra que el `test-key` alias está asociado exactamente a una clave de KMS de destino, que se representa mediante la `TargetKeyId` propiedad.  

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

**Se pueden asociar varios alias con la misma clave KMS**  
Por ejemplo, puede asociar los alias `test-key` y `project-key` con la misma clave 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
}
```

**El alias debe ser único en la cuenta y región.**  
Por ejemplo, solo puede tener un alias `test-key` en cada cuenta y región. Los alias distinguen entre mayúsculas y minúsculas, pero los alias que solo difieren en sus mayúsculas son muy propensos a errores. No puede cambiar un nombre de alias. Sin embargo, puede eliminar el alias y crear un nuevo alias con el nombre deseado.

**Puede crear alias con el mismo nombre en diferentes regiones**  
Por ejemplo, puede tener un alias `finance-key` en EE. UU. Este (Norte de Virginia) y un alias `finance-key` en Europa (Fráncfort). Cada alias se asociaría a una clave KMS en su región. Si su código se refiere a un nombre de alias como `alias/finance-key`, puede ejecutarlo en varias regiones. En cada región, utiliza una clave KMS diferente. Para obtener más información, consulte [Obtención de información sobre cómo utilizar alias en las aplicaciones](alias-using.md).

**Puede cambiar la clave KMS asociada a un alias**  
Puede utilizar la [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operación para asociar un alias a una clave de KMS diferente. Por ejemplo, si el alias `finance-key` está asociado con la clave KMS `1234abcd-12ab-34cd-56ef-1234567890ab`, puede actualizarla para que esté asociada con la clave KMS `0987dcba-09fe-87dc-65ba-ab0987654321`.  
Sin embargo, la clave de KMS actual y la nueva deben ser del mismo tipo (ambas simétricas o ambas asimétricas o ambas HMAC) y deben tener el mismo [uso de clave](create-keys.md#key-usage) (ENCRYPT\$1DECRYPT o SIGN\$1VERIFY o GENERATE\$1VERIFY\$1MAC). Esta restricción evita errores en el código que utiliza alias. Si debe asociar un alias a otro tipo de clave y ha mitigado los riesgos, puede eliminar el alias y volver a crearlo.

**Algunas claves KMS no tienen alias**  
Al crear una clave KMS en la AWS KMS consola, debe asignarle un nuevo alias. Sin embargo, no se requiere un alias cuando se utiliza la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operación para crear una clave de KMS. Además, puede utilizar la [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operación para cambiar la clave de KMS asociada a un alias y la [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operación para eliminar un alias. Como resultado, algunas claves KMS pueden tener varios alias, y algunas podrían tener ninguno.

**AWS crea alias en tu cuenta**  
AWS crea alias en tu cuenta para. [Claves administradas por AWS](concepts.md#aws-managed-key) Estos alias tienen nombres del formulario `alias/aws/<service-name>`, como, por ejemplo, `alias/aws/s3`.   
Algunos AWS alias no tienen clave KMS. Estos alias predefinidos suelen estar asociados a un Clave administrada de AWS cuando se empieza a utilizar el servicio.

**Usar alias para identificar claves KMS**  
Puede usar un [nombre de alias](concepts.md#key-id-alias-name) o un [ARN de alias](concepts.md#key-id-alias-ARN) para identificar una clave de KMS en [las operaciones criptográficas](kms-cryptography.md#cryptographic-operations), y [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html). [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) (Si la [clave KMS está en una Cuenta de AWS diferente](key-policy-modifying-external-accounts.md), debe usar su [ARN de clave](concepts.md#key-id-key-ARN) o ARN de alias). Los alias no son identificadores válidos para las claves KMS en otras operaciones de AWS KMS . *Para obtener información sobre los [identificadores clave](concepts.md#key-id) válidos para cada operación de la AWS KMS API, consulte las descripciones de los `KeyId` parámetros en la referencia de la AWS Key Management Service API.*  
No puede utilizar un nombre de alias ni un ARN de alias para [identificar una clave KMS en una política de IAM](cmks-in-iam-policies.md). Para controlar el acceso a una clave KMS en función de sus alias, usa las claves [ResourceAliasescondicionales kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) o [kms:](conditions-kms.md#conditions-kms-resource-aliases). Para obtener más información, consulte [ABAC para AWS KMS](abac.md).

# Control del acceso a alias
<a name="alias-access"></a>

Al crear o cambiar un alias, afectará al alias y a su clave KMS asociada. Por lo tanto, las entidades principales que administran alias deben tener permiso para llamar a la operación de alias en el alias y en todas las claves KMS afectadas. Puede proporcionar estos permisos utilizando [políticas de claves](key-policies.md), [políticas de IAM](iam-policies.md) y [concesiones](grants.md). 

**nota**  
Tenga cuidado al dar permiso a las entidades principales para administrar etiquetas y alias. El cambio de etiqueta o alias puede permitir o denegar permiso a la clave administrada por el cliente. Para más detalles, consulte [ABAC para AWS KMS](abac.md) y [Uso de alias para controlar el acceso a las claves KMS](alias-authorization.md).

Para obtener información sobre cómo controlar el acceso a todas AWS KMS las operaciones, consulte[Referencia de permisos](kms-api-permissions-reference.md).

Los permisos para crear y administrar alias funcionan de la siguiente manera.

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

Para crear un alias, la entidad principal necesita los siguientes permisos tanto para el alias como para la clave KMS asociada. 
+ `kms:CreateAlias` para el alias. Proporcione este permiso en una política de IAM adjunta a la entidad principal que tiene permiso para crear el alias.

  En la siguiente declaración de política de ejemplo se especifica un alias en particular en un elemento `Resource`. Sin embargo, puede incluir varios alias ARNs o especificar un patrón de alias, como «test\$1». También puede especificar un valor `Resource` de `"*"` para permitir que la entidad principal cree cualquier alias en la cuenta y región. El permiso para crear un alias también se puede incluir en un permiso `kms:Create*` para todos los recursos de una cuenta y región.

  ```
  {
    "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 la clave KMS. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves. 

  ```
  {
    "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": "*"
  }
  ```

Puede utilizar claves de condición para limitar las claves KMS que puede asociar a un alias. Por ejemplo, puede usar la clave de KeySpec condición [kms:](conditions-kms.md#conditions-kms-key-spec) para permitir que el director cree alias únicamente en claves KMS asimétricas. Para obtener una lista completa de las claves de condiciones que puede utilizar para limitar los permisos `kms:CreateAlias` en recursos de clave KMS, consulte[AWS KMS permisos](kms-api-permissions-reference.md).

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

Para enumerar los alias de la cuenta y la región, la entidad principal debe tener el permiso `kms:ListAliases` en una política de IAM. Dado que esta política no está relacionada con ninguna clave o recurso de alias KMS en particular, el valor del elemento de recurso de la política [debe ser `"*"`](iam-policies-best-practices.md#require-resource-star). 

Por ejemplo, la siguiente declaración de política de IAM otorga el permiso a la entidad principal para enumerar todas las claves y alias KMS en la cuenta y la región.

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

****  

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

------

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

Para cambiar la clave KMS asociada a un alias, la entidad principal necesita tres elementos de permiso: uno para el alias, uno para la clave KMS actual y otro para la nueva clave KMS.

Por ejemplo, suponga que desea cambiar el alias `test-key` de la clave KMS con el ID de clave 1234abcd-12ab-34cd-56ef-1234567890ab a la clave KMS con el ID de clave 0987dcba-09fe-87dc-65ba-ab0987654321. En ese caso, incluya declaraciones de política similares a las de los ejemplos de esta sección.
+ `kms:UpdateAlias` para el alias. Puede proporcionar este permiso en una política de IAM que se asocia a la entidad principal. La siguiente política de IAM especifica un alias concreto. Sin embargo, puede enumerar varios alias ARNs o especificar un patrón de alias, como`"test*"`. También puede especificar un valor `Resource` de `"*"` para permitir que la entidad principal actualice cualquier alias en la cuenta y región.

  ```
  {
    "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 la clave KMS que está actualmente asociada con el alias. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

  ```
  {
    "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 la clave KMS que la operación asocia con el alias. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

  ```
  {
    "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": "*"
  }
  ```

Puede usar claves de condición para limitar una o ambas claves KMS en una operación `UpdateAlias`. Por ejemplo, puede usar una clave de ResourceAliases condición [kms:](conditions-kms.md#conditions-kms-resource-aliases) para permitir que el director actualice los alias solo cuando la clave KMS de destino ya tenga un alias concreto. Para obtener una lista completa de las claves de condiciones que puede utilizar para limitar el permiso `kms:UpdateAlias` en un recurso de clave KMS, consulte [AWS KMS permisos](kms-api-permissions-reference.md).

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

Para eliminar un alias, la entidad principal necesita permiso para el alias y para la clave KMS asociada. 

Como siempre, debe tener precaución al dar permiso a las entidades principales para eliminar un recurso. Sin embargo, eliminar un alias no afecta a la clave KMS asociada. Aunque puede causar un error en una aplicación que se basa en el alias, si elimina un alias por error, puede volver a crearlo.
+ `kms:DeleteAlias` para el alias. Proporcione este permiso en una política de IAM adjunta la entidad principal que tiene permiso para eliminar el alias.

  En la siguiente declaración de política de ejemplo se especifica el alias de un elemento `Resource`. Sin embargo, puede incluir varios alias ARNs o especificar un patrón de alias, por ejemplo`"test*"`, también puede especificar un `Resource` valor de `"*"` para permitir que el director elimine cualquier alias de la cuenta y la región.

  ```
  {
    "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 la clave KMS asociada. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

  ```
  {
    "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 los permisos de alias
<a name="alias-access-limiting"></a>

Puede utilizar claves de condición para limitar los permisos de alias cuando el recurso es una clave KMS. Por ejemplo, la siguiente política de IAM permite operaciones de alias en claves KMS en una cuenta y región concretas. Sin embargo, utiliza la clave de KeyOrigin condición [kms:](conditions-kms.md#conditions-kms-key-origin) para limitar aún más los permisos a las claves de KMS con material clave de AWS KMS. 

Para obtener una lista completa de las claves de condiciones que puede utilizar para limitar el permiso de alias en un recurso de clave KMS, consulte [AWS KMS permisos](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"
    }
  }  
}
```

No puede usar claves de condición en una declaración de política donde el recurso es un alias. Para limitar los alias que una entidad principal puede administrar, utilice el valor del elemento `Resource` de la declaración de política de IAM que controla el acceso al alias. Por ejemplo, las siguientes declaraciones de política permiten al director crear, actualizar o eliminar cualquier alias de la región Cuenta de AWS y, a menos que el alias comience por`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*"
}
```

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

Puede crear alias en la AWS KMS consola o mediante las operaciones de la AWS KMS API. 

El alias debe ser una cadena de 1-256 caracteres. Solo puede contener caracteres alfanuméricos, barras (/), guiones bajos (\$1) y guiones (-). El nombre de alias de un [clave administrada por el cliente](concepts.md#customer-mgn-key) no puede comenzar con `alias/aws/`. El prefijo `alias/aws/` se reserva para el uso de [Clave administrada de AWS](concepts.md#aws-managed-key).

Puede crear un alias para una nueva clave KMS o para una clave KMS existente. Puede agregar un alias para que se utilice una clave KMS concreta en un proyecto o aplicación. 

También puede usar una AWS CloudFormation plantilla para crear un alias para una clave de KMS. Para obtener más información, consulte [AWS::KMS::Alias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html) en la *Guía del usuario de AWS CloudFormation *.

## Uso de la AWS KMS consola
<a name="alias-create-console"></a>

Al [crear una clave de KMS](create-keys.md) en la AWS KMS consola, debe crear un alias para la nueva clave de KMS. Para crear un alias para una clave KMS existente, utilice la pestaña **Aliases (Alias)** en la página de detalles de la clave KMS.

1. Inicia sesión en la consola AWS Key Management Service (AWS KMS) Consola de administración de AWS y ábrela en [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para cambiarla Región de AWS, usa el selector de regiones en la esquina superior derecha de la página.

1. En el panel de navegación, elija **Claves administradas por el cliente**. No puede administrar los alias de o. Claves administradas por AWS Claves propiedad de AWS

1. En la tabla, elija el ID de clave o el alias de la clave KMS. A continuación, en la página de detalles de la clave KMS, elija la pestaña **Aliases (Alias)**.

   Si una clave KMS tiene varios alias, la columna **Aliases (Alias)** de la tabla muestra un alias y un resumen de alias, como **(\$1*n* más)**. Al elegir el resumen de alias, se le llevará directamente a la pestaña **Aliases (Alias)** en la página de detalles de la clave KMS.

1. En la pestaña **Aliases (Alias)**, elija **Create alias (Creación de alias)**. Introduzca un nombre de alias y elija **Create alias (Creación de alias)**.
**importante**  
No incluya información confidencial en este campo. Este campo puede mostrarse en texto plano en CloudTrail los registros y otros resultados.
**nota**  
No agregue el prefijo `alias/`. La consola lo agrega automáticamente. Si ingresa`alias/ExampleAlias`, el nombre de alias real será `alias/alias/ExampleAlias`.

## Uso de la API AWS KMS
<a name="alias-create-api"></a>

Para crear un alias, utilice la [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)operación. A diferencia del proceso de creación de claves de KMS en la consola, la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operación no crea un alias para una clave de KMS nueva.

**importante**  
No incluya información confidencial en este campo. Este campo puede mostrarse en texto plano en CloudTrail los registros y otros resultados.

Puede utilizar la operación `CreateAlias` para crear un alias para una nueva clave KMS sin alias. También puede utilizar la operación `CreateAlias` para agregar un alias a cualquier clave KMS existente o para volver a crear un alias que se eliminó accidentalmente. 

En las operaciones de la AWS KMS API, el nombre del alias debe empezar por `alias/` seguido de un nombre, como`alias/ExampleAlias`. El alias debe ser único en la cuenta y en la región de . Para buscar los nombres de alias que ya están en uso, utilice la [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operación. El nombre del alias distingue entre mayúsculas y minúsculas.

La `TargetKeyId` puede ser cualquier [clave administrada por el cliente](concepts.md#customer-mgn-key) en la misma Región de AWS. Para identificar la clave KMS, utilice su [ID de clave](concepts.md#key-id-key-id) o su [ARN de clave](concepts.md#key-id-key-ARN). No puede usar otro alias.

En el ejemplo siguiente, se crea el alias `example-key` y lo asocia con la clave KMS especificada. En estos ejemplos se utiliza el AWS Command Line Interface (AWS CLI). Para ver ejemplos en varios lenguajes de programación, consulte [Úselo `CreateAlias` con un AWS SDK o CLI](example_kms_CreateAlias_section.md).

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

`CreateAlias` no devuelve ningún resultado. Para ver el nuevo alias, utilice la operación `ListAliases`. Para obtener más información, consulte [Uso de la API AWS KMS](alias-view.md#alias-view-api).

# Búsqueda del nombre del alias y el ARN de alias para una clave de KMS
<a name="alias-view"></a>

Los alias facilitan el reconocimiento de las claves KMS en la AWS KMS consola. Puede ver los alias de una clave KMS en la AWS KMS consola o mediante esta operación. [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html) La [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operación, que devuelve las propiedades de una clave KMS, no incluye los alias.

Los siguientes procedimientos muestran cómo ver e identificar los alias asociados a una clave de KMS mediante la AWS KMS consola y AWS KMS la API. Los ejemplos de AWS KMS API usan [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), pero puedes usar cualquier lenguaje de programación compatible.

## Uso de la AWS KMS consola
<a name="alias-view-console"></a>

La AWS KMS consola muestra los alias asociados a la clave KMS. 

1. Abra la AWS KMS consola en [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Para cambiarla Región de AWS, usa el selector de regiones en la esquina superior derecha de la página.

1. Si desea ver las claves de la cuenta que usted crea y administra, elija en el panel de navegación, **Claves administradas por el cliente**. Para ver las claves de la cuenta que se AWS crean y administran para usted, en el panel de navegación, seleccione las claves **AWS administradas**.

1. La columna **Aliases (Alias)** muestra el alias de cada clave KMS. Si una clave KMS no tiene un alias, aparece un guion (**-**) en la columna **Aliases (Alias)**.

   Si una clave KMS tiene varios alias, la columna **Aliases (Alias)** también tiene un resumen de alias, como **(\$1*n* más)**. Por ejemplo, la siguiente clave KMS tiene dos alias, uno de los cuales es `key-test`. 

   Para buscar el nombre del alias y el ARN de alias de la clave KMS, utilice la pestaña **Aliases (Alias)**. 
   + Para ir directamente a la pestaña **Aliases (Alias)**, en la columna **Aliases (Alias)**, elija el resumen de alias (**\$1*n* más**). Un resumen de alias sólo aparece si la clave KMS tiene más de un alias.
   + O bien, elija el alias o el ID de clave de la clave KMS (que abre la página de detalles de la clave KMS) y, a continuación, elija la pestaña **Aliases (Alias)**. Las pestañas están debajo de la sección **General configuration (Configuración general)**.   
![\[Claves administradas por el cliente interface showing a list with one key and options to create or filter keys.\]](http://docs.aws.amazon.com/es_es/kms/latest/developerguide/images/find-alias-name-1-sm.png)

1. La pestaña **Aliases (Alias)** muestra el nombre del alias y el ARN del alias de todos los alias de una clave KMS. También puede crear y eliminar alias para la clave KMS en esta pestaña.  
![\[Aliases tab showing two key aliases with their names and ARNs listed in a table format.\]](http://docs.aws.amazon.com/es_es/kms/latest/developerguide/images/alias-tab-1.png)

**Claves administradas por AWS**  
Puedes usar el alias para reconocer una Clave administrada de AWS, como se muestra en esta **Claves administradas por AWS**página de ejemplo. Los alias de Claves administradas por AWS siempre tienen el formato: `aws/<service-name>`. Por ejemplo, el alias de Amazon `aws/dynamodb` DynamoDB es. Clave administrada de AWS 

![\[Alias de la página Claves administradas por AWS de la consola de AWS KMS .\]](http://docs.aws.amazon.com/es_es/kms/latest/developerguide/images/alias-console-aws-managed-sm.png)


## Uso de la API AWS KMS
<a name="alias-view-api"></a>

La [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operación devuelve el nombre del alias y el ARN del alias de la cuenta y la región. El resultado incluye los alias para Claves administradas por AWS y para las claves administradas por el cliente. Los alias de Claves administradas por AWS deben tener el formato`aws/<service-name>`, como, por ejemplo,`aws/dynamodb`.

La respuesta también podría incluir los alias que no tienen el campo `TargetKeyId`. Se trata de alias predefinidos que se AWS han creado pero que aún no se han asociado a una clave de 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 obtener todos los alias que están asociados con una determinada clave KMS, utilice el parámetro `KeyId` de la operación `ListAliases`. El parámetro `KeyId` toma el [ID de clave](concepts.md#key-id-key-id) o el [ARN de clave](concepts.md#key-id-key-ARN) de la clave KMS. 

En este ejemplo se obtienen todos los alias asociados con el`0987dcba-09fe-87dc-65ba-ab0987654321` de la clave KMS.

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

El parámetro `KeyId` no toma caracteres comodín, pero puede usar las características de su lenguaje de programación para filtrar la respuesta. 

Por ejemplo, el siguiente AWS CLI comando solo obtiene los alias de. Claves administradas por AWS

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

El siguiente comando obtiene sólo el alias de `access-key`. El nombre del alias distingue entre mayúsculas y 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"
    }
]
```

# Actualización de alias
<a name="alias-update"></a>

Dado que un alias es un recurso independiente, puede cambiar la clave KMS asociada a un alias. Por ejemplo, si el `test-key` alias está asociado a una clave de KMS, puede utilizar la [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operación para asociarlo a una clave de KMS diferente. Esta es una de las varias maneras de [girar manualmente una clave KMS](rotate-keys.md) sin cambiar su material clave. También puede actualizar una clave KMS para que una aplicación que estaba utilizando una clave KMS para nuevos recursos utilice ahora una clave KMS diferente.

No puede actualizar un alias en la AWS KMS consola. Además, no puede utilizar `UpdateAlias` (o cualquier otra operación) para cambiar un nombre de alias. Para cambiar un nombre de alias, elimine el alias actual y, a continuación, cree un alias nuevo para la clave KMS.

Al actualizar un alias, la clave de KMS actual y la nueva clave de KMS deben ser del mismo tipo (ambas simétricas o asimétricas o HMAC). También deben tener el mismo uso de claves (`ENCRYPT_DECRYPT` o `SIGN_VERIFY` o GENERATE\$1VERIFY\$1MAC). Esta restricción evita errores criptográficos en el código que utiliza alias. 

El siguiente ejemplo comienza con la [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operación para mostrar que el `test-key` alias está asociado actualmente a la clave de 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
        }
    ]
}
```

A continuación, utiliza la operación `UpdateAlias` para cambiar la clave KMS que está asociada con el alias `test-key` a la clave KMS `0987dcba-09fe-87dc-65ba-ab0987654321`. No es necesario especificar la clave KMS asociada actualmente, solo la nueva («destino») clave KMS. El nombre del alias distingue entre mayúsculas y minúsculas.

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

Para comprobar que el alias se asocia ahora con la clave KMS de destino, utilice la operación `ListAliases` de nuevo. Este AWS CLI comando usa el `--query` parámetro para obtener solo el `test-key` alias. Los campos `TargetKeyId` y `LastUpdatedDate` se actualizan.

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

# Eliminación de un alias
<a name="alias-delete"></a>

Puede eliminar un alias en la AWS KMS consola o mediante la [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operación. Antes de eliminar un alias, asegúrese de que no esté en uso. Aunque eliminar un alias no afecta a la clave KMS asociada, puede crear problemas para cualquier aplicación que utilice el alias. Si elimina un alias por error, puede crear un nuevo alias con el mismo nombre y asociarlo a la misma clave KMS o a otra.

Si elimina una clave KMS, se eliminan todos los alias asociados a esa clave KMS.

## Uso de la AWS KMS consola
<a name="alias-delete-console"></a>

Para eliminar un alias de la AWS KMS consola, utilice la pestaña **Alias** de la página de detalles de la clave KMS. Puede eliminar varios alias para una clave KMS a la vez.

1. Inicie sesión en la consola AWS Key Management Service (AWS KMS) Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Para cambiarla Región de AWS, usa el selector de regiones en la esquina superior derecha de la página.

1. En el panel de navegación, elija **Claves administradas por el cliente**. No puede administrar los alias de o. Claves administradas por AWS Claves propiedad de AWS

1. En la tabla, elija el ID de clave o el alias de la clave KMS. A continuación, en la página de detalles de la clave KMS, elija la pestaña **Aliases (Alias)**.

   Si una clave KMS tiene varios alias, la columna **Aliases (Alias)** de la tabla muestra un alias y un resumen de alias, como **(\$1*n* más)**. Al elegir el resumen de alias, se le llevará directamente a la pestaña **Aliases (Alias)** en la página de detalles de la clave KMS.

1. En la pestaña **Aliases (Alias)**, seleccione la casilla de verificación situada junto a los alias que desea eliminar. A continuación, elija **Eliminar**.

## Uso de la API AWS KMS
<a name="alias-delete-api"></a>

Para eliminar un alias, utilice la [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)operación. Esta operación elimina un alias a la vez. El nombre del alias distingue entre mayúsculas y minúsculas y debe estar precedido por el prefijo `alias/`.

Por ejemplo, el siguiente comando elimina el alias `test-key`. El comando no devuelve ningún resultado. 

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

Para comprobar que se ha eliminado el alias, utilice la [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operación. El comando siguiente utiliza el `--query` parámetro de AWS CLI para obtener únicamente el `test-key` alias. Los corchetes vacíos en la respuesta indican que la respuesta `ListAliases` no incluyó un alias `test-key`. Para eliminar los corchetes, utilice el parámetro y valor `--output text`.

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

# Uso de alias para controlar el acceso a las claves KMS
<a name="alias-authorization"></a>

Puede controlar el acceso a las claves KMS basándose en los alias asociados a la clave KMS. Para ello, utilice las claves de ResourceAliases condición [kms: RequestAlias](conditions-kms.md#conditions-kms-request-alias) [y kms:](conditions-kms.md#conditions-kms-resource-aliases). Esta función forma parte de la AWS KMS compatibilidad con el [control de acceso basado en atributos](abac.md) (ABAC).

La clave de condición `kms:RequestAlias` permite o deniega el acceso a una clave KMS basándose en el alias de una solicitud. La clave de condición `kms:ResourceAliases` permite o deniega el acceso a una clave KMS en función de los alias asociados a la clave KMS. 

Estas características no le permiten identificar una clave KMS utilizando un alias en el elemento `resource` de una declaración de política. Cuando un alias es el valor de un elemento `resource`, la política se aplica al recurso de alias, no a ninguna clave KMS que pueda estar asociada con él.

**nota**  
Puede que transcurran cinco minutos hasta que los cambios de etiqueta y alias afecten a la autorización de clave KMS. Los cambios recientes pueden ser visibles en las operaciones de API antes de que afecten a la autorización.

Cuando utilice alias para controlar el acceso a las claves KMS, tenga en cuenta lo siguiente:
+ Utilice alias para reforzar las prácticas recomendadas de [acceso con privilegio mínimo](iam-policies-best-practices.md). Dar a las entidades principales de IAM sólo los permisos que necesitan para las claves KMS que deben usar o administrar. Por ejemplo, utilice alias para identificar las claves KMS utilizadas en un proyecto. A continuación, dé permiso al equipo del proyecto para usar solo claves KMS con los alias del proyecto. 
+ Tenga cuidado al dar a las entidades principales los permisos `kms:CreateAlias`, `kms:UpdateAlias`, o `kms:DeleteAlias` que les permiten agregar, editar y eliminar alias. Cuando utiliza alias para controlar el acceso a las claves KMS, cambiar un alias puede dar permiso a las entidades principales para usar claves KMS que de otro modo no tenían permiso para usar. También puede denegar el acceso a las claves KMS que otras entidades principales requieren para realizar sus trabajos. 
+ Revisa los directores Cuenta de AWS que actualmente tienen permiso para administrar los alias y ajusta los permisos, si es necesario. Los administradores de claves que no tienen permiso para cambiar políticas de claves o crear concesiones pueden controlar el acceso a claves KMS si tienen permiso para administrar alias. 

  Por ejemplo, la consola [default key policy for key administrators (política de claves predeterminada para administradores de claves)](key-policy-default.md#key-policy-default-allow-administrators) incluye los permisos `kms:CreateAlias`, `kms:DeleteAlias`, y `kms:UpdateAlias`. Las políticas de IAM pueden dar permisos de alias para todas las claves KMS de su Cuenta de AWS. Por ejemplo, la política [AWSKeyManagementServicePowerUser](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSKeyManagementServicePowerUser)administrada permite a los directores crear, eliminar y enumerar los alias de todas las claves de KMS, pero no actualizarlos.
+ Antes de establecer una política que dependa de un alias, revisa los alias de las claves de KMS de tu. Cuenta de AWS Asegúrese de que la política sólo se aplica a los alias que desea incluir. Usa [CloudTrail registros](alias-ct.md) y [CloudWatch alarmas](monitoring-cloudwatch.md) para avisarte de los cambios en el alias que puedan afectar al acceso a tus claves de KMS. Además, la [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)respuesta incluye la fecha de creación y la fecha de la última actualización de cada alias.
+ Las condiciones de política de alias utilizan la coincidencia de patrones; no están vinculadas a una instancia concreta de un alias. Una política que utiliza claves de condición basadas en alias afecta a todos los alias nuevos y existentes que coincidan con el patrón. Si elimina y vuelve a crear un alias que coincida con una condición de política, la condición se aplica al nuevo alias, tal como lo hizo con el anterior. 

La clave de condición `kms:RequestAlias` se basa en el alias especificado explícitamente en una solicitud de operación. La clave de condición `kms:ResourceAliases` depende de los alias asociados a una clave KMS, aunque no aparezcan en la solicitud.

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

Permitir o denegar el acceso a una clave KMS basada en el alias que identifica la clave KMS en una solicitud. Puede utilizar la clave de RequestAlias condición [kms:](conditions-kms.md#conditions-kms-request-alias) en una [política clave o en una política](key-policies.md) de IAM. Se aplica a las operaciones que utilizan un alias para identificar una clave de KMS en una solicitud, es decir, [las operaciones criptográficas [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)](kms-cryptography.md#cryptographic-operations), y. [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) No es válido para operaciones de alias, como [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)o [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html).

**importante**  
No se recomienda incluir una declaración de `Deny` política con `kms:RequestAlias` esta condición, ya que las personas que llaman pueden omitirla utilizando el [ID de clave](concepts.md#key-id-key-id)[, el ARN](concepts.md#key-id-key-ARN) de la clave o un alias diferente para identificar la clave de KMS en la solicitud. Para denegar el acceso basándose en los alias asociados a una clave de KMS, utilice la clave de ResourceAliases condición [kms:](conditions-kms.md#conditions-kms-resource-aliases) en su lugar.

En la clave de condición, especifique un [nombre de alias](concepts.md#key-id-alias-name) o patrón de nombre de alias. No puede especificar un [ARN de alias](concepts.md#key-id-alias-ARN).

Por ejemplo, la siguiente declaración de política permite a la entidad principal utilizar las operaciones especificadas en la clave KMS. El permiso solo será efectivo cuando la solicitud utiliza un alias que incluye `alpha` para identificar la clave 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*"
    }
  }
}
```

La siguiente solicitud de ejemplo de una entidad principal autorizada cumpliría la condición. Sin embargo, una solicitud que utilizó un [ID de clave](concepts.md#key-id-key-id), un[ARN de clave](concepts.md#key-id-key-ARN), o un alias diferente no cumpliría la condición, incluso si estos valores identificaban la misma clave 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>

Permitir o denegar el acceso a una clave KMS basándose en los alias asociados a la clave KMS, incluso si el alias no se utiliza en una solicitud. La clave de ResourceAliases condición [kms:](conditions-kms.md#conditions-kms-resource-aliases) le permite especificar un alias o un patrón de alias, por ejemplo`alias/test*`, para poder utilizarlos en una política de IAM para controlar el acceso a varias claves de KMS en la misma región. Es válida para cualquier AWS KMS operación que utilice una clave de KMS. 

Por ejemplo, la siguiente política de IAM permite a las entidades principales llamar a las operaciones especificadas en las claves de KMS de dos en dos. Cuentas de AWS Sin embargo, el permiso sólo se aplica a las claves KMS asociadas con alias que comienzan con `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*"
        }
      }
    }
  ]
}
```

------

La condición `kms:ResourceAliases` es una condición del recurso, no de la solicitud. Como tal, una solicitud que no especifique el alias puede cumplir la condición.

La siguiente solicitud de ejemplo, que especifica un alias coincidente, satisface la condición.

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

Sin embargo, la solicitud de ejemplo siguiente también satisface la condición, siempre que la clave KMS especificada tenga un alias que comience con `restricted`, incluso si ese alias no se usa en la solicitud.

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

# Obtención de información sobre cómo utilizar alias en las aplicaciones
<a name="alias-using"></a>

Puede utilizar un alias para representar una clave KMS en el código de la aplicación. El `KeyId` parámetro en [las operaciones AWS KMS criptográficas](kms-cryptography.md#cryptographic-operations) y [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)acepta un nombre de alias o un ARN de alias. [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)

Por ejemplo, el siguiente comando `GenerateDataKey` utiliza un nombre de alias (`alias/finance`) para identificar una clave KMS. El nombre del alias es el valor del parámetro `KeyId`. 

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

Si la clave KMS está en otro lugar Cuenta de AWS, debe usar un ARN de clave o un alias ARN en estas operaciones. Cuando utilice un alias ARN, recuerde que el alias de una clave KMS se define en la cuenta que posee la clave KMS y puede diferir en cada región. Para obtener ayuda para encontrar el ARN de alias, consulte [Búsqueda del nombre del alias y el ARN de alias para una clave de KMS](alias-view.md).

Por ejemplo, el siguiente comando `GenerateDataKey` utiliza una clave KMS que no está en la cuenta de la persona que llama. El alias `ExampleAlias` está asociado a la clave KMS en la cuenta y región especificadas.

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

Uno de los usos más potentes de los alias es en aplicaciones que se ejecutan en múltiples Regiones de AWS. Por ejemplo, puede tener una aplicación global que utiliza un RSA [clave KMS asimétrica](symmetric-asymmetric.md) para la firma y la verificación. 
+ En EE.UU. Oeste (Oregón) (us-west-2), desea usar `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`. 
+ En Europa (Fráncfort) (eu-central-1), desea usar `arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321`
+ En Asia Pacífico (Singapur) (ap-southeast-1), desea usar `arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d`.

Puede crear una versión diferente de su aplicación en cada región o utilizar un diccionario o una declaración switch para seleccionar la clave KMS correcta para cada región. Pero es mucho más fácil crear un alias con el mismo nombre de alias en cada región. El nombre del alias distingue entre mayúsculas y 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
```

A continuación, usa el alias en tu código. Cuando el código se ejecuta en cada región, el alias hará referencia a su clave KMS asociada en esa región. Por ejemplo, este código llama a la operación [Sign (Firmar)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) con un nombre de alias.

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

Sin embargo, existe el riesgo de que el alias se elimine o actualice para que se asocie a una clave KMS diferente. En ese caso, los intentos de la aplicación de verificar firmas utilizando el nombre de alias fallarán y es posible que deba volver a crearlo o actualizarlo.

Para mitigar este riesgo, tenga cuidado al conceder permiso a las entidades principales para administrar los alias que utiliza en la aplicación. Para obtener más información, consulte [Control del acceso a alias](alias-access.md).

Hay varias otras soluciones para aplicaciones que cifran datos en múltiples Regiones de AWS, incluido el [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).

# Busque alias en los registros AWS CloudTrail
<a name="alias-ct"></a>

Puedes usar un alias para representar una operación AWS KMS key en una AWS KMS API. Cuando lo hace, el alias y la clave ARN de la clave KMS se registran en la entrada de AWS CloudTrail registro del evento. El alias aparece en el campo `requestParameters`. El ARN de clave aparece en el campo `resources`. Esto es cierto incluso cuando un AWS servicio utiliza una Clave administrada de AWS en su cuenta. 

Por ejemplo, la siguiente [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitud usa el `project-key` alias para representar una clave de KMS.

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

Cuando esta solicitud se registra en el CloudTrail registro, la entrada del registro incluye el alias y la clave ARN de la clave KMS real que se utilizó. 

```
{
    "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 obtener más información sobre AWS KMS las operaciones de registro en CloudTrail los registros, consulte[Registrar llamadas a la AWS KMS API con AWS CloudTrail](logging-using-cloudtrail.md).