查找 KMS 密钥的别名和别名 ARN
别名使您能够轻松识别 Amazon KMS 控制台中的 KMS 密钥。您可以在 Amazon KMS 控制台中或通过使用 ListAliases 操作查看 KMS 密钥的别名。返回 KMS 密钥的属性的 DescribeKey 操作不包含别名。
以下过程演示如何使用 Amazon KMS 控制台和 Amazon KMS API 查看和识别与 KMS 密钥关联的别名。Amazon KMS API 示例使用 Amazon Command Line Interface(Amazon CLI)
Amazon KMS 控制台显示与 KMS 密钥关联的别名。
-
从 https://console.aws.amazon.com/kms
打开 Amazon KMS 控制台。 -
要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。
-
要查看您账户中自己所创建和管理的密钥,请在导航窗格中选择 Customer managed keys (客户托管密钥)。要查看您账户中 Amazon 为您所创建和管理的密钥,请在导航窗格中选择 Amazon managed keys(Amazon 托管式密钥)。
-
Aliases(别名)列显示每个 KMS 密钥的别名。如果 KMS 密钥没有别名,则 Aliases(别名)列中会显示短划线 (-)。
如果 KMS 密钥具有多个别名,则 Aliases(别名)列还会包含别名摘要,例如(再加 n 个)。例如,以下 KMS 密钥有两个别名,其中一个是
key-test。要查找 KMS 密钥的所有别名的名称和别名 ARN,请使用 Aliases(别名)选项卡。
-
要直接转到 Aliases(别名)选项卡上的 Aliases(别名)列中,选择别名摘要(再加 n 个)。仅当 KMS 密钥具有多个别名时,才会显示别名摘要。
-
或者,选择 KMS 密钥的别名或密钥 ID(这将打开 KMS 密钥的详细信息页面),然后选择 Aliases(别名)选项卡。这些选项卡在 General configuration(常规配置)部分下。
-
-
Aliases(别名)选项卡显示 KMS 密钥的所有别名的名称和别名 ARN。您还可以在此选项卡上创建和删除 KMS 密钥的别名。
Amazon 托管式密钥
您可以使用别名识别 Amazon 托管式密钥,如此示例 Amazon 托管式密钥 页面中所示。Amazon 托管式密钥 的别名始终具有以下格式:aws/。例如,适用于 Amazon DynamoDB 的 Amazon 托管式密钥 的别名为 <service-name>aws/dynamodb。
ListAliases 操作可返回账户和区域中的别名的别名名称和别名 ARN。输出包括 Amazon 托管式密钥 和客户托管密钥的别名。Amazon 托管式密钥 的别名始终具有格式 aws/,如 <service-name>aws/dynamodb。
该响应可能还包括没有 TargetKeyId 字段的别名。这些是 Amazon 已创建但尚未与 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 或者密钥 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 参数不采用通配符,但您可以使用编程语言的功能筛选响应。
例如,以下 Amazon CLI 命令仅获取 Amazon 托管式密钥 的别名。
$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" } ]