

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 查找 KMS 密钥的别名和别名 ARN
<a name="alias-view"></a>

别名便于在 AWS KMS 控制台中识别 KMS 密钥。您可以在 AWS KMS 控制台中或使用[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)操作查看 KMS 密钥的别名。该[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作返回 KMS 密钥的属性，但不包括别名。

以下过程演示如何使用 AWS KMS 控制台和 AWS KMS API 查看和识别与 KMS 密钥关联的别名。 AWS KMS API 示例使用 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)，但您可以使用任何支持的编程语言。

## 使用控制 AWS KMS 台
<a name="alias-view-console"></a>

 AWS KMS 控制台显示与 KMS 密钥关联的别名。

1. 在 [https://console.aws.amazon.com/km AWS KMS](https://console.aws.amazon.com/kms) s 处打开控制台。

1. 要更改 AWS 区域，请使用页面右上角的区域选择器。

1. 要查看您账户中自己所创建和管理的密钥，请在导航窗格中选择 **Customer managed keys (客户托管密钥)**。要查看您的账户中为您 AWS 创建和管理的密钥，请在导航窗格中选择**AWS 托管密钥**。

1. **Aliases**（别名）列显示每个 KMS 密钥的别名。如果 KMS 密钥没有别名，则 **Aliases**（别名）列中会显示短划线 (**-**)。

   如果 KMS 密钥具有多个别名，则 **Aliases**（别名）列还会包含别名摘要，例如**（再加 *n* 个）**。例如，以下 KMS 密钥有两个别名，其中一个是 `key-test`。

   要查找 KMS 密钥的所有别名的名称和别名 ARN，请使用 **Aliases**（别名）选项卡。
   + 要直接转到 **Aliases**（别名）选项卡上的 **Aliases**（别名）列中，选择别名摘要（**再加 *n* 个**）。仅当 KMS 密钥具有多个别名时，才会显示别名摘要。
   + 或者，选择 KMS 密钥的别名或密钥 ID（这将打开 KMS 密钥的详细信息页面），然后选择 **Aliases**（别名）选项卡。这些选项卡在 **General configuration**（常规配置）部分下。  
![\[客户自主管理型密钥 interface showing a list with one key and options to create or filter keys.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/find-alias-name-1-sm.png)

1. **Aliases**（别名）选项卡显示 KMS 密钥的所有别名的名称和别名 ARN。您还可以在此选项卡上创建和删除 KMS 密钥的别名。  
![\[Aliases tab showing two key aliases with their names and ARNs listed in a table format.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/alias-tab-1.png)

**AWS 托管式密钥**  
您可以使用别名来识别 AWS 托管式密钥，如本示例**AWS 托管式密钥**页所示。 AWS 托管式密钥 的别名始终具有以下格式：`aws/<service-name>`。例如，亚马逊 DynamoD AWS 托管式密钥 B 的别名是。`aws/dynamodb`

![\[AWS KMS 控制台的 AWS 托管式密钥 页面中的别名\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/alias-console-aws-managed-sm.png)


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

该[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)操作返回账户和区域中别名的别名和别名 ARN。输出包括客户托管密钥 AWS 托管式密钥 和客户托管密钥的别名。 AWS 托管式密钥 的别名始终具有格式 `aws/<service-name>`，如 `aws/dynamodb`。

该响应可能还包括没有 `TargetKeyId` 字段的别名。这些是 AWS 已创建但尚未与 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
        }
    ]
}
```

要获取与特定 KMS 密钥关联的所有别名，请使用 `ListAliases` 操作的可选 `KeyId` 参数。`KeyId` 参数采用 KMS 密钥的[密钥 ID](concepts.md#key-id-key-id) 或者[密钥 ARN](concepts.md#key-id-key-ARN)。

此示例获取与 `0987dcba-09fe-87dc-65ba-ab0987654321` 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
        }
    ]
}
```

`KeyId` 参数不采用通配符，但您可以使用编程语言的功能筛选响应。

例如，以下 AWS CLI 命令仅获取的别名。 AWS 托管式密钥

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

例如，以下命令仅获取 `access-key` 别名。别名名称区分大小写。

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