

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

# 识别和查看密钥
<a name="viewing-keys"></a>

您可以使用[AWS 管理控制台](https://console.aws.amazon.com/kms)或 [AWS Key Management Service (AWS KMS) API](https://docs.aws.amazon.com/kms/latest/APIReference/) 查看 AWS KMS keys 每个账户和区域，包括您管理的 KMS 密钥和由管理的 KMS 密钥 AWS。

**Topics**
+ [查找密钥 ID 和密钥 ARN](find-cmk-id-arn.md)
+ [访问并列出 KMS 密钥详细信息](finding-keys.md)
+ [识别不同的密钥类型](identify-key-types.md)
+ [自定义控制台视图](viewing-console-customize.md)
+ [在密钥库中查找 KMS 密钥和 AWS CloudHSM 密钥材料](find-key-material.md)

# 查找密钥 ID 和密钥 ARN
<a name="find-cmk-id-arn"></a>

要识别 AWS KMS key，您可以使用[密钥 ID](concepts.md#key-id-key-id) 或亚马逊资源名称（[密钥 ARN](concepts.md#key-id-key-ARN)）。在[加密操作](kms-cryptography.md#cryptographic-operations)中，您也可以使用[别名名称](concepts.md#key-id-alias-name)或[别名 ARN](concepts.md#key-id-alias-ARN)。

您可以使用[AWS KMS 控制台](https://console.aws.amazon.com/kms)或[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)操作来识别您的账户和区域中每个 KMS 密钥的密钥 ID 和密钥 ARN。

有关支持的 KMS 密钥标识符的详细信息 AWS KMS，请参阅[密钥标识符 (KeyId)](concepts.md#key-id)。要获取查找别名和别名 ARN 的帮助，请参阅 [查找 KMS 密钥的别名和别名 ARN](alias-view.md)。

## 使用控制 AWS KMS 台
<a name="find-cmk-arn"></a>

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. 要查找 KMS 密钥的[密钥 ID](concepts.md#key-id-key-id)，请查看以 KMS 密钥别名开头的行。

   默认情况下，**Key ID (密钥 ID)** 列显示在表中。如果表中未显示“Key ID (密钥 ID)”列，可使用[自定义控制台视图](viewing-console-customize.md)中介绍的过程恢复该列。您还可以在 KMS 密钥的详细信息页面上查看其密钥 ID。  
![\[客户自主管理型密钥 table showing Key ID for a single key-test alias.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/find-key-id-new.png)

1. 要查找 KMS 密钥的 Amazon Resource Name (ARN)，请选择密钥 ID 或别名。[密钥 ARN](concepts.md#key-id-key-ARN) 显示在 **General Configuration (常规配置)** 部分中。  
![\[General configuration section showing key alias, status, and ARN details.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/find-key-arn.png)

## 使用 AWS KMS API
<a name="find-cmk-arn-api"></a>

要查找的[密钥 ID](concepts.md#key-id-key-id) 和[密钥 ARN](concepts.md#key-id-key-ARN) AWS KMS key，请使用操作。[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)

`ListKeys` 操作返回调用者账户和区域中所有 KMS 密钥的密钥 ID 和 Amazon 资源名称（ARN）。

例如，这个对 `ListKeys` 操作的调用会返回该虚构账户中每个 KMS 密钥的 ID 和 ARN。有关使用多种编程语言的示例，请参阅[`ListKeys`与 AWS SDK 或 CLI 配合使用](example_kms_ListKeys_section.md)。

```
$ aws kms list-keys
{
    "Keys": [
        {
            "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        },
        {
            "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"
        }
    ]
}
```

# 访问并列出 KMS 密钥详细信息
<a name="finding-keys"></a>

您可以使用[AWS KMS 控制台](https://console.aws.amazon.com/kms)或[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作来访问和列出有关账户和区域中 KMS 密钥的详细信息。

以下过程演示如何访问 KMS 密钥详细信息，例如密钥 ID、密钥规范、密钥用法等。

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

每个 KMS 密钥的详细信息页面均显示 KMS 密钥的属性。该页面会因 KMS 密钥类型而略有不同。

要显示有关 KMS 密钥的详细信息，请在**AWS 托管式密钥 **或**客户托管密钥**页面上，选择 KMS 密钥的别名或密钥 ID。

KMS 密钥的详细信息页面中包括 **General Configuration**（常规配置）部分，其中显示 KMS 密钥的基本属性。此外还包括若干您可以用来查看和编辑 KMS 密钥属性的选项卡，例如**密钥策略**、**加密配置**、**标签**、**密钥材料和轮换**（适用于支持自动或按需轮换的 KMS 密钥）、**区域性**（适用于多区域密钥）和**公有密钥**（适用于非对称 KMS 密钥）。

**注意**  
 AWS KMS 控制台显示您在账户和区域中[有权查看](customer-managed-policies.md#iam-policy-example-read-only-console)的 KMS 密钥。其他中的 KMS 密钥 AWS 账户 不会出现在控制台中，即使您有权查看、管理和使用它们。要查看其他账户中的 KMS 密钥，请使用[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作。

要导航至 KMS 密钥的密钥详细信息页。

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/km](https://console.aws.amazon.com/kms) s 处打开 AWS Key Management Service (AWS KMS) 控制台。

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

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

1. 要打开密钥详细信息页面，请在密钥表中，选择 KMS 密钥的密钥 ID 或别名。

   如果 KMS 密钥有多个别名，别名摘要（**再加 *n* 个**）将在其中一个别名的旁边显示。选择别名摘要将直接进入密钥详细信息页面上的 **Aliases**（别名）选项卡中。

![\[AWS KMS客户托管式密钥 details showing general and cryptographic configurations.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/console-key-detail-view-symmetric-sm.png)


以下列表描述了详细显示部分中的字段，包括选项卡中的字段。其中某些字段也在表格显示部分中以列的形式出现。

**Aliases**  
位置：Aliases（别名）选项卡  
KMS 密钥的友好名称。您可以使用别名在控制台和某些控制台中识别 KMS 密钥 AWS KMS APIs。有关更多信息，请参阅 [中的别名 AWS KMS](kms-alias.md)。  
**别名**选项卡显示 AWS 账户 和区域中与 KMS 密钥关联的所有别名。

**进行筛选**  
位置：General configuration（常规配置）部分  
KMS 密钥的 Amazon Resource Name (ARN)。此值唯一标识 KMS 密钥。您可以使用此值识别 AWS KMS API 操作中的 KMS 密钥。

**连接状态**  
表示[自定义密钥存储](key-store-overview.md#custom-key-store-overview)是否已连接到其备用密钥存储。仅当在自定义密钥存储中创建 KMS 密钥时，此字段才会显示。  
有关此字段值的信息，请参阅 *AWS KMS API 参考[ConnectionState](https://docs.aws.amazon.com/kms/latest/APIReference/API_CustomKeyStoresListEntry.html#KMS-Type-CustomKeyStoresListEntry-ConnectionState)*中的。

**创建日期**  
位置：General configuration（常规配置）部分  
KMS 密钥的创建日期和时间。此值显示为设备的本地时间。时区不依赖于区域。  
与 **Expiration**（到期）不同，创建仅指的是 KMS 密钥，而非其密钥材料。

**CloudHSM 集群 ID**  
位置：Cryptographic configuration（加密配置）选项卡  
包含 KMS 密钥密钥材料的 AWS CloudHSM 集群的集群 ID。仅当在[自定义密钥存储](key-store-overview.md#custom-key-store-overview)中创建 KMS 密钥时，此字段才会显示。  
如果您选择 CloudHSM 集群 ID，它将在控制台**中**打开集群页面。 AWS CloudHSM 

**当前密钥材料**  
位置：General configuration（常规配置）部分  
来源为 `AWS_KMS` 的对称加密密钥支持自动轮换和按需轮换。带`EXTERNAL`来源的对称加密密钥支持按需轮换。此类密钥可以关联多个密钥材料。最近轮换的密钥材料可用于加密和解密。此密钥材料被标识为当前密钥材料。其他密钥材料只能用于解密。KMS 密钥的自动或按需轮换会更改其当前密钥材料。

**自定义密钥存储 ID**  
位置：Cryptographic configuration（加密配置）选项卡  
包含 KMS 密钥的[自定义密钥存储](key-store-overview.md#custom-key-store-overview)的 ID。仅当在自定义密钥存储中创建 KMS 密钥时，此字段才会显示。  
如果您选择自定义密钥库 ID，它将在 AWS KMS 控制台中打开**自定义密钥存储**页面。

**自定义密钥存储名称**  
位置：Cryptographic configuration（加密配置）选项卡  
包含 KMS 密钥的[自定义密钥存储](key-store-overview.md#custom-key-store-overview)的名称。仅当在自定义密钥存储中创建 KMS 密钥时，此字段才会显示。

**自定义密钥存储类型**  
位置：Cryptographic configuration（加密配置）选项卡  
指示自定义密钥存储是 [AWS CloudHSM 密钥存储](keystore-cloudhsm.md)，还是[外部密钥存储](keystore-external.md)。仅当在[自定义密钥存储](key-store-overview.md#custom-key-store-overview)中创建 KMS 密钥时，此字段才会显示。

**说明**  
位置：General configuration（常规配置）部分  
您可以编写和编辑的 KMS 密钥的简要、可选描述。要添加或更新客户托管密钥的描述，请选择 **General Configuration**（常规配置）上方的 **Edit**（编辑）。

**加密算法**  
位置：Cryptographic configuration（加密配置）选项卡  
列出可在 AWS KMS中与 KMS 密钥一起使用的加密算法。仅当 **Key type (密钥类型)** 为 **Asymmetric (对称)** 且 **Key usage (密钥用法)** 为 **Encrypt and decrypt (加密和解密)** 时，此字段才会显示。有关 AWS KMS 支持的加密算法的信息，请参阅[SYMMETRIC\$1DEFAULT 密钥规范](symm-asymm-choose-key-spec.md#symmetric-cmks)和[用于加密和解密的 RSA 密钥规范](symm-asymm-choose-key-spec.md#key-spec-rsa-encryption)。

**到期日期**  
位置：Key material（密钥材料）选项卡  
KMS 密钥的密钥材料到期的日期和时间。此字段仅针对具有[导入的密钥材料](importing-keys.md)的 KMS 密钥显示，也就是说，仅当 **Origin**（源）为 **External**（外部）且 KMS 密钥的密钥材料已到期时，此字段才会显示。对称加密密钥可以有多个与之关联的密钥材料。对于此类密钥，此字段指示所关联的密钥材料中最早到期的日期和时间。

**外部密钥 ID**  
位置：Cryptographic configuration（加密配置）选项卡  
与[外部密钥存储](keystore-external.md#concept-external-key)中的 KMS 密钥关联的[外部密钥](keystore-external.md)的 ID。此字段仅适用于外部密钥存储中的 KMS 密钥。

**外部密钥状态**  
位置：Cryptographic configuration（加密配置）选项卡  
[外部密钥存储代理](keystore-external.md#concept-xks-proxy)报告的与 KMS 密钥关联的[外部密钥](keystore-external.md#concept-external-key)的最新状态。此字段仅适用于外部密钥存储中的 KMS 密钥。

**外部密钥用途**  
位置：Cryptographic configuration（加密配置）选项卡  
在与 KMS 密钥关联的[外部密钥](keystore-external.md#concept-external-key)上启用的加密操作。此字段仅适用于外部密钥存储中的 KMS 密钥。

**密钥策略**  
位置：Key policy（密钥策略）选项卡  
控制对 KMS 密钥以及 [IAM policy](iam-policies.md) 和[授权](grants.md)的访问。每个 KMS 密钥都有一个密钥策略。它是唯一的强制性授权元素。要更改客户托管密钥的密钥策略，请在 **Key policy**（密钥策略）选项卡上选择 **Edit**（编辑）。有关更多信息，请参阅 [中的关键政策 AWS KMS](key-policies.md)。

**密钥材料和轮换**  
位置：密钥材料和轮换选项卡  
此选项卡仅适用于来源为 `AWS_KMS` 的对称加密密钥（支持自动和按需轮换）以及来源为 `EXTERNAL` 的单区域对称加密密钥（支持按需轮换）。  
该选项卡有三个面板：  
自动轮换：为[客户自主管理型 KMS 密钥](concepts.md#customer-mgn-key)中的密钥材料启用和禁用[自动轮换](rotate-keys.md)。要更改[客户自主管理型密钥](concepts.md#customer-mgn-key)的密钥轮换状态，请使用此复选框。您无法启用或禁用 [AWS 托管式密钥](concepts.md#aws-managed-key) 中的密钥材料轮换。 AWS 托管式密钥 每年自动轮换一次。  
按需轮换：为[客户自主管理型密钥](concepts.md#customer-mgn-key)中的密钥材料启动[按需轮换](rotate-keys.md)。对于导入的密钥，必须已有已导入的密钥材料处于 `PENDING_ROTATION` 状态，**立即轮换**选项才会可用。  
密钥材料：列出与 KMS 密钥关联的所有密钥材料。每个密钥材料都有一个唯一的标识符，对应行显示有关该密钥材料的其他信息，例如密钥材料可供在 KMS 中使用的轮换日期。对于导入的密钥，每行还有一个**操作**菜单，可用于删除特定的密钥材料或将其重新导入到 KMS 密钥。

** 密钥规范**  
位置：Cryptographic configuration（加密配置）选项卡  
KMS 密钥中密钥材料的类型。 AWS KMS 支持对称加密 KMS 密钥 (SYMMETRIC\$1DEFAULT)、不同长度的 HMAC KMS 密钥、不同长度的 RSA 密钥的 KMS 密钥以及具有不同曲线的椭圆曲线密钥。有关更多信息，请参阅 [Key spec](create-keys.md#key-spec)。

**密钥类型**  
位置：Cryptographic configuration（加密配置）选项卡  
指示 KMS 密钥是 **Symmetric**（对称）还是 **Asymmetric**（非对称）的。

** 密钥用法**  
位置：Cryptographic configuration（加密配置）选项卡  
指示 KMS 密钥可用于**Encrypt and decrypt**（加密和解密）、**Sign and verify**（签名和验证）或**Generate and verify MAC**（生成并验证 MAC）。有关更多信息，请参阅 [Key usage](create-keys.md#key-usage)。

**Origin**  
位置：Cryptographic configuration（加密配置）选项卡  
KMS 密钥的密钥材料的来源。有效值为：  
+ **AWS KMS**，针对 AWS KMS 生成的密钥材料
+ **AWS CloudHSM**，针对 [AWS CloudHSM 密钥存储](keystore-cloudhsm.md)中的 KMS 密钥
+ **External**（外部），针对[导入的密钥材料](importing-keys.md)（BYOK）
+ **External key store**（外部密钥存储），针对[外部密钥存储](keystore-external.md)中的 KMS 密钥

**MAC 算法**  
位置：Cryptographic configuration（加密配置）选项卡  
列出可在 AWS KMS中与 HMAC KMS 密钥一起使用的 MAC 算法。仅当**密钥规范**是 HMAC 密钥规范（HMAC\$1\$1）时，此字段才会显示。有关 AWS KMS 支持的 MAC 算法的信息，请参阅 [HMAC KMS 密钥的密钥规范](symm-asymm-choose-key-spec.md#hmac-key-specs)。

**主键**  
位置：Regionality（区域性）选项卡  
表示此 KMS 密钥是[多区域主键](multi-region-keys-overview.md#mrk-primary-key)。授权用户可以使用此部分[将主键更改](multi-region-update.md)为另一个相关的多区域密钥。仅当 KMS 密钥是多区域主键时，此字段才会显示。

**公有密钥**  
位置：Public key（公有密钥）选项卡  
显示非对称 KMS 密钥的公有密钥。经授权的用户可以使用此选项卡[复制和下载公有密钥](download-public-key.md)。

**区域性**  
位置：General configuration（常规配置）部分和 Regionality（区域性）选项卡  
指示 KMS 密钥是单区域密钥、[多区域主键](multi-region-keys-overview.md#mrk-primary-key)，还是[多区域副本密钥](multi-region-keys-overview.md#mrk-replica-key)。仅当 KMS 密钥是多区域密钥时，此字段才会显示。

**相关的多区域密钥**  
位置：Regionality（区域性）选项卡  
显示所有相关[多区域主键和副本键](multi-region-keys-overview.md)，但当前 KMS 密钥除外。仅当 KMS 密钥是多区域密钥时，此字段才会显示。  
在主键的**相关的多区域密钥**部分，授权用户可以[创建新的副本密钥](multi-region-keys-replicate.md)。

**副本密钥**  
位置：Regionality（区域性）选项卡  
表示此 KMS 密钥是[多区域副本密钥](multi-region-keys-overview.md#mrk-replica-key)。仅当 KMS 密钥是多区域副本密钥时，此字段才会显示。

**签名算法**  
位置：Cryptographic configuration（加密配置）选项卡  
列出可在 AWS KMS中与 KMS 密钥一起使用的签名算法。仅当 **Key type (密钥类型)** 为 **Asymmetric (对称)** 且 **Key usage (密钥用法)** 为 **Sign and verify (签名和验证)** 时，此字段才会显示。有关 AWS KMS 支持的签名算法的信息，请参阅[用于签名和验证的 RSA 密钥规范](symm-asymm-choose-key-spec.md#key-spec-rsa-sign)和[椭圆曲线密钥规范](symm-asymm-choose-key-spec.md#key-spec-ecc)。

**Status**  
位置：General configuration（常规配置）部分  
KMS 密钥的密钥状态。您可以在[加密操作](kms-cryptography.md#cryptographic-operations)中使用 KMS 密钥，前提是仅当状态为 **Enabled**（已启用）时。有关每个 KMS 密钥状态的详细说明及其对可以在 KMS 密钥上运行的操作的影响，请参阅 [密 AWS KMS 钥的关键状态](key-state.md)。

**标签**  
位置：Tags（标签）选项卡  
描述 KMS 密钥的可选键值对。要添加或更改 KMS 密钥的标签，请在 **Tags**（标签）选项卡上选择 **Edit**（编辑）。  
向 AWS 资源添加标签时， AWS 会生成一份成本分配报告，其中包含按标签汇总的使用量和成本。标签还可以用来控制对 KMS 密钥的访问。有关轮换 KMS 密钥的信息，请参阅 [标签在 AWS KMS](tagging-keys.md) 和 [ABAC for AWS KMS](abac.md)。

## 使用 AWS KMS API
<a name="viewing-keys-describe-key"></a>

该[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作返回有关指定 KMS 密钥的详细信息。要标识 KMS 密钥，请使用[密钥 ID](concepts.md#key-id-key-id)、[密钥 ARN](concepts.md#key-id-key-ARN)、[别名名称](concepts.md#key-id-alias-name)或[别名 ARN](concepts.md#key-id-alias-ARN)。

与仅显示调用者账户和区域中的 KMS 密钥的[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)操作不同，授权用户可以使用该`DescribeKey`操作来获取有关其他账户中 KMS 密钥的详细信息。

**注意**  
`DescribeKey` 响应包括具有相同值的两个 `KeySpec` 和 `CustomerMasterKeySpec` 成员。`CustomerMasterKeySpec` 成员已弃用。

例如，这个对 `DescribeKey` 的调用会返回有关对称加密 KMS 密钥的信息。响应中的字段因 [AWS KMS key 规范](create-keys.md#key-spec)、[密钥状态](key-state.md)和[密钥材料来源](create-keys.md#key-origin)而异。有关使用多种编程语言的示例，请参阅[`DescribeKey`与 AWS SDK 或 CLI 配合使用](example_kms_DescribeKey_section.md)。

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

{
    "KeyMetadata": {
        "Origin": "AWS_KMS",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "Description": "",
        "KeyManager": "CUSTOMER",
        "Enabled": true,
        "KeySpec": "SYMMETRIC_DEFAULT",
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "Enabled",
        "CreationDate": 1499988169.234,
        "MultiRegion": false,
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "AWSAccountId": "111122223333",
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ],
        "CurrentKeyMaterialId": "123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0"
    }
}
```

此示例对用于签名和验证的非对称 KMS 密钥调用 `DescribeKey` 操作。响应包括 AWS KMS 支持用于此 KMS 密钥的签名算法。

```
$ aws kms describe-key --key-id 0987dcba-09fe-87dc-65ba-ab0987654321

{
    "KeyMetadata": {        
        "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "Origin": "AWS_KMS",
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
        "KeyState": "Enabled",
        "KeyUsage": "SIGN_VERIFY",
        "CreationDate": 1569973196.214,
        "Description": "",
        "KeySpec": "ECC_NIST_P521",
        "CustomerMasterKeySpec": "ECC_NIST_P521",
        "AWSAccountId": "111122223333",
        "Enabled": true,
        "MultiRegion": false,
        "KeyManager": "CUSTOMER",
        "SigningAlgorithms": [
            "ECDSA_SHA_512"
        ]
    }
}
```

# 识别不同的密钥类型
<a name="identify-key-types"></a>

以下主题说明了如何在 AWS KMS 控制台中识别不同的密钥类型和[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)响应。

有关导航到 KMS 密钥详细信息页面上的**加密配置**选项卡的帮助，请参阅[访问并列出 KMS 密钥详细信息](finding-keys.md)。

**Topics**
+ [识别非对称 KMS 密钥](#identify-asymm-keys)
+ [识别 HMAC KMS 密钥](#hmac-view)
+ [识别多区域 KMS 密钥](#multi-region-keys-view)
+ [识别带导入的密钥材料的 KMS 密钥](#identify-imported-keys)
+ [识别密钥库中的 KMS AWS CloudHSM 密钥](#identify-key-hsm-keystore)
+ [识别外部密钥存储中的 KMS 密钥](#view-xks-key)

## 识别非对称 KMS 密钥
<a name="identify-asymm-keys"></a>

**在 AWS KMS 控制台中**  
**客户托管密钥**表的**密钥类型**列显示每个 KMS 密钥是对称还是非对称 KMS 密钥。您可以按**密钥类型**值筛选表，以仅显示非对称 KMS 密钥。有关更多信息，请参阅 [对您的 KMS 密钥进行排序和筛选](viewing-console-customize.md#viewing-console-filter)。  
KMS 密钥详细信息页面的**加密配置**选项卡显示**密钥类型**，用于指示密钥是对称还是非对称。它还会显示**密钥用法**，指示您的非对称 KMS 密钥是用于加密和解密、签名和验证，还是派生共享密钥。

**在 DescribeKey 回应中**  
当您对非对称 KMS 密钥调用 `DescribeKey` 操作时，响应包括 `KeySpec` 和 `KeyUsage` 值，这些值可用于确定 KMS 密钥是对称还是非对称 KMS 密钥。  
如果 `KeySpec` 值为 `SYMMETRIC_DEFAULT`，则密钥是对称加密 KMS 密钥。有关非对称密钥规范的详细信息，请参阅[密钥规范引用](symm-asymm-choose-key-spec.md)。  
如果 `KeyUsage` 值为 `SIGN_VERIFY` 或 `KEY_AGREEMENT`，则密钥为非对称 KMS 密钥。  
对于非对称 KMS 密钥，`DescribeKey` 操作还会返回以下详细信息。  
+ 对于 `KeyUsage` 值为 `ENCRYPT_DECRYPT` 的非对称 KMS 密钥，该操作将返回 `EncryptionAlgorithms`，其中列出了该密钥的有效加密算法。
+ 对于 `KeyUsage` 值为 `SIGN_VERIFY` 的非对称 KMS 密钥，该操作将返回 `SigningAlgorithms`，其中列出了该密钥的有效签名算法。
+ 对于 `KeyUsage` 值为 `KEY_AGREEMENT` 的非对称 KMS 密钥，该操作将返回 `KeyAgreementAlgorithms`，其中列出了该密钥的有效密钥协议算法。

有关非对称 KMS 密钥的更多信息，请参阅[中的非对称密钥 AWS KMS](symmetric-asymmetric.md)。

## 识别 HMAC KMS 密钥
<a name="hmac-view"></a>

**在 AWS KMS 控制台中**  
HMAC KMS 密钥包含在**客户托管密钥**表中，但您无法按标识 HMAC 密钥的密钥规格或密钥用法值对该表进行排序或筛选。为了更轻松地查找 HMAC 密钥，为其分配独特的别名或标签。然后，您可以按别名或标签进行排序或筛选。  
KMS 密钥详细信息页面的**加密配置**选项卡显示**密钥类型**，用于指示密钥是对称还是非对称。HMAC KMS 密钥是对称密钥。**加密配置**选项卡还显示**密钥用法**。对于 HMAC KMS 密钥，密钥用法值始终为**生成并验证 MAC**。

**在 DescribeKey 回应中**  
对 HMAC KMS 密钥调用 `DescribeKey` 操作时，响应将包括 `KeySpec` 和 `KeyUsage` 值。对于 HMAC KMS 密钥，密钥用法值始终为 `GENERATE_VERIFY_MAC`，密钥规范值始终以 `HMAC_` 开头。

有关 HMAC KMS 密钥的更多信息，请参阅 [HMAC 键入 AWS KMS](hmac.md)。

## 识别多区域 KMS 密钥
<a name="multi-region-keys-view"></a>

**在 AWS KMS 控制台中**  
**客户托管密钥**表仅显示所选区域中的 KMS 密钥。您可以查看所选区域中的多区域主密钥和副本密钥。要更改 AWS 区域，请使用控制台右上角的区域选择器。  
为了更轻松地识别**客户托管密钥**表中的多区域密钥，请在表中添加**区域性**列。有关帮助信息，请参阅 [自定义您的 KMS 密钥表](viewing-console-customize.md#console-customize-tables)。  
多区域 KMS 密钥的详细信息页面包含**区域性**选项卡。主密钥的 **Regionality**（区域性）选项卡包括 Change primary Region（更改主区域）和 Create new replica keys（创建新的副本密钥）按钮。（副本密钥的 Regionality（区域性）选项卡没有任何按钮。） **Related multi-Region keys**（相关的多区域密钥）部分列出了与当前密钥相关的所有多区域密钥。如果当前密钥是副本密钥，则此列表将包括主密钥。  
如果您从 “相关多区域密钥” 表中选择**相关的多区域密钥**，则 AWS KMS 控制台将更改为所选密钥的区域，并打开该密钥的详细信息页面。例如，如果您从下面的**相关多区域密钥示例部分中选择`sa-east-1`区域中的副本密钥**，则 AWS KMS 控制台将更改为`sa-east-1`区域以显示该副本密钥的详细信息页面。您可以执行此操作来查看副本密钥的别名或密钥策略。要再次更改区域，请使用页面右上角的 Region selector（区域选择器）。

**在 DescribeKey 回应中**  
默认情况下， AWS KMS API 操作是区域性的，仅返回当前或指定区域中的资源。但是，当您对多区域 KMS 密钥调用`DescribeKey`操作时，响应会将元素中其他 AWS 区域的所有相关多区域密钥包括在内。`MultiRegionConfiguration`

有关多区域 KMS 密钥的更多信息，请参阅 [中的多区域密钥 AWS KMS](multi-region-keys-overview.md)。

## 识别带导入的密钥材料的 KMS 密钥
<a name="identify-imported-keys"></a>

**在 AWS KMS 控制台中**  
为了更轻松地识别**客户托管密钥**表中带导入的密钥材料的 KMS 密钥，请在表中添加**源**列。****“源”列可让您轻松标识具有**外部（导入密钥材料）**源属性值的 KMS 密钥。有关帮助信息，请参阅 [自定义您的 KMS 密钥表](viewing-console-customize.md#console-customize-tables)。  
KMS 密钥详细信息页面上的**加密配置**选项卡显示了**源**，标识 KMS 密钥的密钥材料的来源。对于带导入密钥材料的 KMS 密钥，源值始终为**外部（导入密钥材料）**。详细信息页面还包括**密钥材料**选项卡，该选项卡提供有关导入的密钥材料的详细信息。带有 `EXTERNAL` Origin 的对称加密密钥支持按需轮换，并且可以有多个与之关联的密钥材料。对于此类密钥，该选项卡标记为**密钥材料和轮换**。

**在 DescribeKey 回应中**  
对带导入的密钥材料的 KMS 密钥调用 `DescribeKey` 操作时，响应将包括 `Origin`、`ExpirationModel` 和 `ValidTo` 值。对于带导入密钥材料的 KMS 密钥，源值始终为 `EXTERNAL`。`ExpirationModel` 值指示密钥材料是否设置为过期，`ValidTo` 值指示密钥材料何时过期。当多个密钥材料关联到一个密钥时，`ValidTo` 值指示所有密钥材料的最早到期时间（待轮换的密钥材料除外），并且仅在这些密钥材料均未设置为过期时才将 `ExpirationModel` 设置为 `DOES_NOT_EXPIRE`。有关更多信息，请参阅 [设置过期时间（可选）](importing-keys-import-key-material.md#importing-keys-expiration)。

有关带导入的密钥材料的 KMS 密钥的更多信息，请参阅 [导入密钥的 AWS KMS 密钥材料](importing-keys.md)。

## 识别密钥库中的 KMS AWS CloudHSM 密钥
<a name="identify-key-hsm-keystore"></a>

**在 AWS KMS 控制台中**  
为了便于在**客户管理的密钥表中识别密 AWS CloudHSM 钥存储区中的 KMS 密钥**，请在表中添加 **Origin** 列。**来源**列可让您使用 **AWS CloudHSM** 来源属性值轻松标识 KMS 密钥。有关帮助信息，请参阅 [自定义您的 KMS 密钥表](viewing-console-customize.md#console-customize-tables)。  
KMS 密钥详细信息页面上的**加密配置**选项卡显示了**源**，标识 KMS 密钥的密钥材料的来源。对于密 AWS CloudHSM 钥存储中的 KMS 密钥，原始值始终为**AWS CloudHSM**。  
对于密钥存储中的 KMS AWS CloudHSM 密钥，“**加密配置**” 选项卡包括一个额外的部分 “**自定义密钥存储**”，该部分提供与 KMS AWS CloudHSM 密钥关联的密钥存储和 AWS CloudHSM 集群的相关信息。

**在 DescribeKey 回应中**  
对 AWS CloudHSM 密钥存储中的 KMS 密钥调用 `DescribeKey` 操作时，响应将包括 `Origin`，其将标识密钥材料来源。对于密钥存储中的 KMS AWS CloudHSM 密钥，原始值始终为`AWS_CLOUDHSM`。该操作还会返回密钥存储区中 KMS 密 AWS CloudHSM 钥的以下特殊字段：  
+ `CloudHsmClusterId`
+ `CustomKeyStoreId`

有关 AWS CloudHSM 密钥库的更多信息，请参阅[AWS CloudHSM 钥匙库](keystore-cloudhsm.md)。

## 识别外部密钥存储中的 KMS 密钥
<a name="view-xks-key"></a>

**在 AWS KMS 控制台中**  
为了更轻松地识别**客户托管密钥**表中外部密钥存储中的 KMS 密钥，请在表中添加**源**列。**源**列可让您轻松识别带**外部密钥存储**源属性值的 KMS 密钥。有关帮助信息，请参阅 [自定义您的 KMS 密钥表](viewing-console-customize.md#console-customize-tables)。  
KMS 密钥详细信息页面上的**加密配置**选项卡显示了**源**，标识 KMS 密钥的密钥材料的来源。对于外部密钥存储中的 KMS 密钥，源值均为**外部密钥存储**。  
对于外部密钥存储中的 KMS 密钥，**加密配置**选项卡包括另外两个部分：**自定义密钥存储**和**外部密钥**。**自定义密钥存储**表提供有关与 KMS 密钥关联的外部密钥存储的信息。**外部密钥**表显示在 AWS KMS 控制台中，仅适用于外部密钥存储中的 KMS 密钥。此部分提供有关与 KMS 密钥关联的外部密钥的信息。[*外部密钥*](keystore-external.md#concept-external-key)是外部的加密密钥 AWS ，用作外部密钥存储中 KMS 密钥的密钥材料。使用 KMS 密钥加密或解密时，将由[外部密钥管理器](keystore-external.md#concept-ekm)使用指定的外部密钥执行此操作。  
以下值显示在 **External key**（外部密钥）部分中。    
**外部密钥 ID**  
外部密钥管理器中外部密钥的标识符。这是外部密钥存储代理用来识别外部密钥的值。外部密钥 ID 在您创建 KMS 密钥时指定，并且无法更改。如果您用于创建 KMS 密钥的外部密钥 ID 值更改或失效，则必须[安排删除 KMS 密钥](deleting-keys.md)，并使用正确的外部密钥 ID 值[创建新的 KMS 密钥](create-xks-keys.md)。

**在 DescribeKey 回应中**  
对外部密钥存储中的 KMS 密钥调用 `DescribeKey` 操作时，响应将包括 `Origin`，其将标识密钥材料来源。对于密钥存储中的 KMS AWS CloudHSM 密钥，原始值始终为`EXTERNAL_KEY_STORE`。该操作还会返回 `CustomKeyStoreId` 元素，该元素标识与 KMS 密钥关联的外部密钥存储。

有关外部密钥存储的更多信息，请参阅 [外部密钥存储](keystore-external.md)。

# 自定义控制台视图
<a name="viewing-console-customize"></a>

您可以自定义 AWS KMS 控制台视图，以便更轻松地找到您的 KMS 密钥。自定义显示在 **AWS 托管式密钥** 和**客户托管密钥**页面上的表以显示您最需要的信息，或者对表中返回的 KMS 密钥进行排序和筛选。

**Topics**
+ [对您的 KMS 密钥进行排序和筛选](#viewing-console-filter)
+ [自定义您的 KMS 密钥表](#console-customize-tables)

## 对您的 KMS 密钥进行排序和筛选
<a name="viewing-console-filter"></a>

为了更轻松地在控制台中查找 KMS 密钥，可以对密钥表进行排序和筛选。

**排序**  
您可以按照升序或降序，对 KMS 密钥的列值进行排序。此功能会对表中的所有 KMS 密钥进行排序，即使 KMS 密钥未显示在当前表页上。  
可排序的列由列名称旁边的箭头指示。在 **AWS 托管式密钥** 页面上，您可以按 **Aliases**（别名）或 **Key ID**（密钥 ID）排序。在 **Customer managed keys**（客户托管密钥）页面上，可以按 **Aliases**（别名）、**Key ID**（密钥 ID）或 **Key type**（密钥类型）进行排序。  
要按升序排列，请选择列标题，直至箭头向上。要按降序排列，请选择列标题，直至箭头向下。一次只能按一列排序。  
例如，可以按照密钥 ID 的升序对 KMS 密钥进行排序（而不是默认设置的别名）。  

![\[AWS 托管式密钥 interface showing sortable columns for Aliases and Key ID.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/console-sort.png)

当您在 **Customer managed keys**（客户托管密钥）页面上按 **Key type**（密钥类型）以升序对 KMS 密钥进行排序时，所有非对称密钥都显示在所有对称密钥之前。

**筛选条件**  
您可以按照 KMS 密钥的属性值或标签筛选 KMS 密钥。筛选条件将应用于表中的所有的 KMS 密钥，即使 KMS 密钥未显示在当前表页上。筛选不区分大小写。  
筛选框中列出了可筛选的属性。在 **AWS 托管式密钥 ** 页面上，可以按别名和密钥 ID 进行筛选。在 **Customer managed keys**（客户托管密钥）页面上，可以按别名、密钥 ID、密钥类型属性和标签进行筛选。  
+ 在 **AWS 托管式密钥** 页面上，可以按别名和密钥 ID 进行筛选。
+ 在 **Customer managed keys**（客户托管密钥）页面上，可以按标签、别名、密钥 ID、密钥类型和区域性属性进行筛选。
要按属性值进行筛选，请选择筛选条件、属性名称，然后从实际属性值的列表中进行选择。要按标签进行筛选，请选择标签键，然后从实际标签值列表中进行选择。选择属性或标签键后，还可以键入全部或部分属性值或标签值。在做出选择之前，将看到结果的预览。  
例如，要显示别名名称中包含 `aws/e` 的 KMS 密钥，请选择筛选框，选择 **Alias**（别名），键入 `aws/e`，然后按 `Enter` 或 `Return` 添加筛选条件。  

![\[Search box for AWS 托管式密钥 with Aliases filter and example entries.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/filter-alias.png)


### 建议的 KMS 密钥表筛选条件
<a name="console-filter-recommendations"></a>

**筛选非对称 KMS 密钥**  
要在 **Customer managed keys**（客户托管密钥）页面上仅显示非对称 KMS 密钥，请单击筛选条件框，选择 **Key type**（密钥类型），然后选择 **Key type: Asymmetric**（密钥类型：非对称）。仅当您在表中具有非对称 KMS 密钥时，才会显示 **Asymmetric**（非对称）选项。

**筛选多区域密钥**  
要仅显示多区域密钥，请在 **Customer managed keys**（客户托管密钥）页面上，选择筛选框，选择 **Regionality**（区域性），然后选择 **Regionality: Multi-Region**（区域性：多区域）。**Multi-Region**（多区域）选项仅当您在表中具有多区域密钥时才会显示。

**筛选标签**  
要仅显示具有特定标签的 KMS 密钥，请选择筛选框，选择标签键，然后从实际标签值中进行选择。还可以键入全部或部分标签值。  
生成的表格将显示带有所选标签的所有 KMS 密钥。但是，它不显示标签。要查看标签，请选择 KMS 密钥的密钥 ID 或别名，然后在其详细信息页面上选择 **Tags**（标签）选项卡。别名显示在 **General configuration**（常规配置）部分下。  
此筛选条件同时需要标签键和标签值。它不会通过仅键入标签键或仅键入标签值来找到 KMS 密钥。要按全部或部分标签键或值筛选标签，请使用[ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html)操作获取带标签的 KMS 密钥，然后使用您的编程语言的筛选功能。

**按文本筛选**  
要搜索文本，请在筛选框中键入全部或部分别名、密钥 ID、密钥类型或标签键。（选择标签键后，您可以搜索标签值）。在做出选择之前，将看到结果的预览。  
例如，要显示其标签键或可筛选属性中有 `test` 的 KMS 密钥，请在筛选框中键入 `test`。预览会显示筛选条件将选择的 KMS 密钥。在这种情况下，`test` 仅显示在**别名**属性中。

## 自定义您的 KMS 密钥表
<a name="console-customize-tables"></a>

您可以根据需要自定义中显示在**AWS 托管式密钥**和**客户管理的密钥**页面上的表格。 AWS 管理控制台 您可以选择表格的列数、每页的 AWS KMS keys 数量（**页面大小**）和文本换行。所选择的配置将在确认后保存，并在打开页面时重新应用。

**要自定义您的 KMS 密钥表**

1. 在 **AWS 托管式密钥** 或 **Customer managed keys**（客户托管密钥）页面上，选择页面右上角的设置图标 (![\[Gear or cog icon representing settings or configuration options.\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/console-icon-settings-new.png))。

1. 在 **Preferences (首选项)** 页面上，选择您的首选设置，然后选择 **Confirm (确认)**。

请考虑使用 **Page size**（页面大小）设置来增加每个页面上显示的 KMS 密钥数量，尤其当您通常使用易于滚动的设备时。

显示的数据列可能因表、作业角色以及账户和区域中的 KMS 密钥类型而异。下表提供了一些建议的配置。有关列的描述，请参阅[使用控制 AWS KMS 台](finding-keys.md#viewing-console-details)。

### 建议的 KMS 密钥表配置
<a name="configure-console"></a>

您可以自定义 KMS 密钥表中显示的列，以便显示所需的 KMS 密钥相关信息。

**AWS 托管式密钥**  
默认情况下，**AWS 托管式密钥** 表会显示**别名**、**密钥 ID** 和**状态**列。这些列适合于大多数使用案例。

**对称加密 KMS 密钥**  
如果只使用具有 AWS KMS生成的密钥材料的对称加密 KMS 密钥，则**别名**、**密钥 ID**、**状态**和**创建日期**列可能是最有用的。

**非对称 KMS 密钥**  
如果使用的是非对称 KMS 密钥，则除**别名**、**密钥 ID** 和**状态**列之外，可考虑添加**密钥类型**、**密钥规范**和**密钥用法**列。这些列将显示 KMS 密钥是对称还是非对称的、密钥材料的类型，以及 KMS 密钥是用于加密还是签名。

**HMAC KMS 密钥**  
如果使用的是 HMAC KMS 密钥，则除**别名**、**密钥 ID** 和**状态**列之外，可考虑添加**密钥规范**和**密钥用法**列。这些列将显示 KMS 密钥是否是 HMAC 密钥。由于您无法按密钥规格或密钥使用情况对 KMS 密钥进行排序，因此请使用别名和标签来识别 HMAC 密钥，然后使用 AWS KMS 控制台的[筛选功能](#viewing-console-filter)按别名或标签进行筛选。

**导入的密钥材料**  
如果您的 KMS 密钥具有[导入的密钥材料](importing-keys.md)，请考虑添加 **Origin**（来源）和 **Expiration date**（到期日期）列。这些列将向您显示 KMS 密钥中的密钥材料是由导入还是生成的， AWS KMS 以及密钥材料何时过期（如果有的话）。**Creation date**（创建日期）字段显示了 KMS 密钥的创建日期（不包含密钥材料）。该字段不体现密钥材料的任何特征。

**自定义密钥存储中的密钥**  
如果您拥有[自定义密钥存储](key-store-overview.md#custom-key-store-overview)中的 KMS 密钥，请考虑添加 **Origin**（来源）和 **Custom key store ID**（自定义密钥存储 ID）列。这些列表明 KMS 密钥位于自定义密钥存储中，显示自定义密钥存储类型，并标识自定义密钥存储。

**多区域密钥**  
如果您有[多区域密钥](multi-region-keys-overview.md)，请考虑添加 **Regionality**（区域性）列。这显示 KMS 密钥是单区域密钥、[多区域主键](multi-region-keys-overview.md#mrk-primary-key)，还是[多区域副本密钥](multi-region-keys-overview.md#mrk-replica-key)。

# 在密钥库中查找 KMS 密钥和 AWS CloudHSM 密钥材料
<a name="find-key-material"></a>

如果您管理 AWS CloudHSM 密钥存储库，则可能需要识别每个 AWS CloudHSM 密钥库中的 KMS 密钥。例如，您可能需要执行以下某些任务。
+ 在 AWS CloudTrail 日志中跟踪密 AWS CloudHSM 钥存储区中的 KMS 密钥。
+ 预测断开密钥存储库连接对 KMS AWS CloudHSM 密钥的影响。
+ 在删除密钥存储库之前安排删除 KMS AWS CloudHSM 密钥。

此外，您可能需要识别 AWS CloudHSM 集群中用作 KMS 密钥密钥材料的密钥。尽管要 AWS KMS 管理 KMS 密钥和密钥材料，但您仍保留对 AWS CloudHSM 集群以及 HSMs 和备份和中的密钥的控制权和责任 HSMs。您可能需要识别密钥才能审核密钥材料，防止其意外删除，或者在删除 KMS 密钥后将其从 HSMs 集群备份中删除。

密钥库中 KMS 密钥的所有密 AWS CloudHSM 钥材料均归[`kmsuser`加密用户](keystore-cloudhsm.md#concept-kmsuser) (CU) 所有。 AWS KMS 将密钥标签属性（只能在中 AWS CloudHSM查看）设置为 KMS 密钥的亚马逊资源名称 (ARN)。

要查找 KMS 密钥和密钥材料，请使用下列任一方法。
+ [在密钥库中查找 KMS AWS CloudHSM 密钥](find-cmk-in-keystore.md)— 如何识别您的一个或所有密钥存储库中的 KMS AWS CloudHSM 密钥。
+ [查找密钥库的所有 AWS CloudHSM 钥匙](find-all-kmsuser-keys.md) – 如何在集群中查找用作 AWS CloudHSM 密钥存储中 KMS 密钥的密钥材料的所有密钥。
+ [查找 KMS AWS CloudHSM 密钥的密钥](find-handle-for-cmk-id.md)— 如何在集群中查找用作密钥存储区中特定 KMS 密钥的密钥材料的 AWS CloudHSM 密钥。
+ [查找密钥的 KMS AWS CloudHSM 密钥](find-label-for-key-handle.md) — 如何在集群中查找特定密钥的 KMS 密钥。

# 在密钥库中查找 KMS AWS CloudHSM 密钥
<a name="find-cmk-in-keystore"></a>

如果您管理 AWS CloudHSM 密钥存储库，则可能需要识别每个 AWS CloudHSM 密钥库中的 KMS 密钥。您可以使用此信息跟踪 AWS CloudTrail 日志中的 KMS 密钥操作，预测断开自定义密钥存储库连接对 KMS 密钥的影响，或者计划在删除密钥存储之前删除 KMS 密钥。 AWS CloudHSM 

## 在密钥库中查找 KMS AWS CloudHSM 密钥（控制台）
<a name="find-cmk-in-keystore-console"></a>

要在特定密钥存储库中查找 KMS 密 AWS CloudHSM 钥，请在**客户管理的密钥**页面上查看 “**自定义密钥存储库名称” 或 “自定义密****钥存储库 ID**” 字段中的值。要识别任何密钥存储库中的 KMS 密 AWS CloudHSM 钥，请查找 O **rigin** 值为的 KMS 密钥**AWS CloudHSM**。要向显示添加可选列，请选择页面右上角的齿轮图标。

## 在密钥存储库中查找 KMS AWS CloudHSM 密钥 (API)
<a name="find-cmk-in-keystore-api"></a>

要在密钥存储中查找 KMS 密 AWS CloudHSM 钥，请使用[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)和[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作，然后按`CustomKeyStoreId`值筛选。在运行以下示例之前，请将虚构的自定义密钥存储 ID 值替换为有效值。

------
#### [ Bash ]

要在特定 AWS CloudHSM 密钥库中查找 KMS 密钥，请获取账户和区域中的所有 KMS 密钥。然后，按自定义密钥存储 ID 进行筛选。

```
for key in $(aws kms list-keys --query 'Keys[*].KeyId' --output text) ; 
do aws kms describe-key --key-id $key | 
grep '"CustomKeyStoreId": "cks-1234567890abcdef0"' --context 100; done
```

要在账户和区域的任何密 AWS CloudHSM 钥存储中获取 KMS 密钥，请`CustomKeyStoreType`使用值为进行搜索`AWS_CloudHSM`。

```
for key in $(aws kms list-keys --query 'Keys[*].KeyId' --output text) ; 
do aws kms describe-key --key-id $key | 
grep '"CustomKeyStoreType": "AWS_CloudHSM"' --context 100; done
```

------
#### [ PowerShell ]

要在特定的 AWS CloudHSM 密钥存储中查找 KMS 密钥，请使用 [G](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-KMSKeyList.html) et KmsKeyList 和 [Get-KmsKey](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-KMSKey.html) cmdlet 获取账户和区域中的所有 KMS 密钥。然后，按自定义密钥存储 ID 进行筛选。

```
PS C:\> Get-KMSKeyList | Get-KMSKey | where CustomKeyStoreId -eq 'cks-1234567890abcdef0'
```

要在账户和区域的任何密 AWS CloudHSM 钥存储中获取 KMS 密钥，请筛选 CustomKeyStoreType 值`AWS_CLOUDHSM`。

```
PS C:\> Get-KMSKeyList | Get-KMSKey | where CustomKeyStoreType -eq 'AWS_CLOUDHSM'
```

------

# 查找密钥库的所有 AWS CloudHSM 钥匙
<a name="find-all-kmsuser-keys"></a>

您可以识别 AWS CloudHSM 集群中用作密钥库密钥材料的 AWS CloudHSM 密钥。为此，请在 CloudHSM CLI 中使用 [key list](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html) 命令。

您也可以使用 **key lis** t 命令来查找按 AWS CloudHSM 键 AWS KMS 的。在您的 AWS CloudHSM 集群中为 KMS 密钥 AWS KMS 创建密钥材料时，它会在密钥标签中写入 KMS 密钥的 Amazon 资源名称 (ARN)。**key list** 命令返回 `key-reference` 和 `label`。

**注意**  
以下过程使用 AWS CloudHSM 客户端 SDK 5 命令行工具 [CloudHSM C](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html) LI。CloudHSM CLI 将 `key-handle` 替换为 `key-reference`。  
2025 年 1 月 1 日， AWS CloudHSM 将终止对客户端 SDK 3 命令行工具、CloudHSM 管理实用程序 (CMU) 和密钥管理实用程序 (KMU) 的支持。有关客户端 SDK 3 命令行工具和客户端 SDK 5 命令行工具之间区别的更多信息，请参阅《AWS CloudHSM 用户指南》**中的[从客户端 SDK 3 CMU 和 KMU 迁移到客户端 SDK 5 CloudHSM CLI](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html)。

要运行此过程，您需要暂时断开 AWS CloudHSM 密钥存储的连接，以便可以以 `kmsuser` CU 的身份登录。

1. 如果 AWS CloudHSM 密钥存储尚未断开连接，请断开密钥库的连接，然后以身份登录`kmsuser`，如中所述[如何断开和登录](fix-keystore.md#login-kmsuser-1)。
**注意**  
虽然自定义密钥存储已断开连接，但在自定义密钥存储中创建 KMS 密钥或在加密操作中使用现有 KMS 密钥的所有尝试都将失败。此操作可以阻止用户存储和访问敏感数据。

1. 使用 CloudHSM CLI 中的密[https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html)命令查找集群中当前 AWS CloudHSM 用户的所有密钥。

   默认情况下，仅显示当前登录用户的 10 个按键，并且输出中仅显示 `key-reference` 和 `label`。有关更多选项，请参阅《AWS CloudHSM 用户指南》**中的[密钥列表](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html#chsm-cli-key-list-syntax)。

   ```
   aws-cloudhsm > key list
   {
     "error_code": 0,
     "data": {
       "matched_keys": [
         {
           "key-reference": "0x0000000000000123",
           "attributes": {
             "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           }
         },
         {
           "key-reference": "0x0000000000000456",
           "attributes": {
             "label": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"
           }
         },.
         ...8 keys later...
       ],
       "total_key_count": 56,
       "returned_key_count": 10,
       "next_token": "10"
     }
   }
   ```

1. 注销并重新连接 AWS CloudHSM 密钥库，如中所述。[如何注销并重新连接](fix-keystore.md#login-kmsuser-2)

# 查找密钥的 KMS AWS CloudHSM 密钥
<a name="find-label-for-key-handle"></a>

如果您知道集群中`kmsuser`拥有的密钥的密钥引用或 ID，则可以使用该值来标识密钥存储中关联的 KMS AWS CloudHSM 密钥。

在您的 AWS CloudHSM 集群中为 KMS 密钥 AWS KMS 创建密钥材料时，它会在密钥标签中写入 KMS 密钥的 Amazon 资源名称 (ARN)。除非您已更改标签值，否则可在 CloudHSM CLI 中使用 [key list](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html) 命令来识别与 AWS CloudHSM 密钥关联的 KMS 密钥。

**注意**  
以下过程使用 AWS CloudHSM 客户端 SDK 5 命令行工具 [CloudHSM C](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html) LI。CloudHSM CLI 将 `key-handle` 替换为 `key-reference`。  
2025 年 1 月 1 日， AWS CloudHSM 将终止对客户端 SDK 3 命令行工具、CloudHSM 管理实用程序 (CMU) 和密钥管理实用程序 (KMU) 的支持。有关客户端 SDK 3 命令行工具和客户端 SDK 5 命令行工具之间区别的更多信息，请参阅《AWS CloudHSM 用户指南》**中的[从客户端 SDK 3 CMU 和 KMU 迁移到客户端 SDK 5 CloudHSM CLI](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html)。

要运行这些过程，你需要暂时断开 AWS CloudHSM 密钥存储的连接，这样你才能以 `kmsuser` CU 的身份登录。

**注意**  
虽然自定义密钥存储已断开连接，但在自定义密钥存储中创建 KMS 密钥或在加密操作中使用现有 KMS 密钥的所有尝试都将失败。此操作可以阻止用户存储和访问敏感数据。

**Topics**
+ [识别与密钥参考关联的 KMS 密钥](#key-reference-filter)
+ [识别与配对密钥 ID 关联的 KMS 密钥](#backing-key-id-filter)

## 识别与密钥参考关联的 KMS 密钥
<a name="key-reference-filter"></a>

以下过程演示如何在 CloudHSM CLI 中使用 [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html) 命令和 `key-reference` 属性筛选器，在集群中查找用作 AWS CloudHSM 密钥存储中特定 KMS 密钥的密钥材料的密钥。

1. 如果 AWS CloudHSM 密钥存储尚未断开连接，请断开密钥库的连接，然后以身份登录`kmsuser`，如中所述[如何断开和登录](fix-keystore.md#login-kmsuser-1)。

1. 使用 CloudHSM CLI 中的 [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html) 命令，按 `key-reference` 属性进行筛选。指定 `verbose` 参数以包含匹配密钥的所有属性和密钥信息。如果不指定 `verbose` 参数，则**密钥列表**操作将仅返回匹配密钥的密钥参考和标签属性。

   在运行此命令之前，请将示例 `key-reference` 替换为您账户中的有效密钥 ID。

   ```
   aws-cloudhsm > key list --filter attr.key-reference="0x0000000000120034" --verbose
   {
     "error_code": 0,
     "data": {
       "matched_keys": [
         {
           "key-reference": "0x0000000000120034",
           "key-info": {
             "key-owners": [
               {
                 "username": "kmsuser",
                 "key-coverage": "full"
               }
             ],
             "shared-users": [],
             "cluster-coverage": "full"
           },
           "attributes": {
             "key-type": "aes",
             "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
             "id": "0xbacking-key-id",
             "check-value": "0x29bbd1",
             "class": "my_test_key",
             "encrypt": true,
             "decrypt": true,
             "token": true,
             "always-sensitive": true,
             "derive": false,
             "destroyable": true,
             "extractable": false,
             "local": true,
             "modifiable": true,
             "never-extractable": false,
             "private": true,
             "sensitive": true,
             "sign": false,
             "trusted": false,
             "unwrap": true,
             "verify": false,
             "wrap": true,
             "wrap-with-trusted": false,
             "key-length-bytes": 32
           }
         }
       ],
       "total_key_count": 1,
       "returned_key_count": 1
     }
   }
   ```

1. 注销并重新连接 AWS CloudHSM 密钥库，如中所述。[如何注销并重新连接](fix-keystore.md#login-kmsuser-2)

## 识别与配对密钥 ID 关联的 KMS 密钥
<a name="backing-key-id-filter"></a>

密钥存储中使用 KMS 密钥进行加密操作的所有 CloudTrail 日志条目都包含带有`customKeyStoreId`和`backingKeyId`的`additionalEventData`字段。 AWS CloudHSM `backingKeyId` 字段中返回的值与 CloudHSM 密钥 `id` 属性关联。您可以按 `id` 属性筛选[https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html)操作，识别与特定 `backingKeyId` 关联的 KMS 密钥。

1. 如果 AWS CloudHSM 密钥存储尚未断开连接，请断开密钥库的连接，然后以身份登录`kmsuser`，如中所述[如何断开和登录](fix-keystore.md#login-kmsuser-1)。

1. 在 CloudHSM CLI 中使用 [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html) 命令和属性筛选器，在集群中查找用作 AWS CloudHSM 密钥存储中特定 KMS 密钥的密钥材料的密钥。

   以下示例演示如何按 `id` 属性进行筛选。 AWS CloudHSM 将 `id` 值识别为十六进制值。要按`id`属性筛选**密钥列表**操作，必须先将您在 CloudTrail 日志条目中标识的`backingKeyId`值转换为可 AWS CloudHSM 识别的格式。

   1. 使用以下 Linux 命令将 `backingKeyId` 转换为十六进制表示形式。

      ```
      echo backingKeyId | tr -d '\n' |  xxd -p
      ```

      以下示例演示了如何将 `backingKeyId` 字节数组转换为十六进制表示形式。

      ```
      echo 5890723622dc15f699aa9ab2387a9f744b2b884c18b2186ee8ada4f556a2eb9d | tr -d '\n' |  xxd -p
      35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964
      ```

   1. 在 `backingKeyId` 的十六进制表示形式前面加上 `0x`。

      ```
      0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964
      ```

   1. 使用转换后的 `backingKeyId` 值按 `id` 属性进行筛选。指定 `verbose` 参数以包含匹配密钥的所有属性和密钥信息。如果不指定 `verbose` 参数，则**密钥列表**操作将仅返回匹配密钥的密钥参考和标签属性。

      ```
      aws-cloudhsm > key list --filter attr.id="0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964" --verbose
      {
        "error_code": 0,
        "data": {
          "matched_keys": [
            {
              "key-reference": "0x0000000000120034",
              "key-info": {
                "key-owners": [
                  {
                    "username": "kmsuser",
                    "key-coverage": "full"
                  }
                ],
                "shared-users": [],
                "cluster-coverage": "full"
              },
              "attributes": {
                "key-type": "aes",
                "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
                "id": "0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964",
                "check-value": "0x29bbd1",
                "class": "my_test_key",
                "encrypt": true,
                "decrypt": true,
                "token": true,
                "always-sensitive": true,
                "derive": false,
                "destroyable": true,
                "extractable": false,
                "local": true,
                "modifiable": true,
                "never-extractable": false,
                "private": true,
                "sensitive": true,
                "sign": false,
                "trusted": false,
                "unwrap": true,
                "verify": false,
                "wrap": true,
                "wrap-with-trusted": false,
                "key-length-bytes": 32
              }
            }
          ],
          "total_key_count": 1,
          "returned_key_count": 1
        }
      }
      ```

1. 注销并重新连接 AWS CloudHSM 密钥库，如中所述。[如何注销并重新连接](fix-keystore.md#login-kmsuser-2)

# 查找 KMS AWS CloudHSM 密钥的密钥
<a name="find-handle-for-cmk-id"></a>

您可以使用密钥存储中 KMS 密钥的 KMS AWS CloudHSM 密钥 ID 来识别 AWS CloudHSM 集群中用作其密钥材料的密钥。

在您的 AWS CloudHSM 集群中为 KMS 密钥 AWS KMS 创建密钥材料时，它会在密钥标签中写入 KMS 密钥的 Amazon 资源名称 (ARN)。除非您已更改标签值，否则可在 CloudHSM CLI 中使用 [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html) 命令来查找 KMS 密钥的密钥材料的密钥资源和 ID。

密钥存储中使用 KMS 密钥进行加密操作的所有 CloudTrail 日志条目都包含一个带有`customKeyStoreId`和`backingKeyId`的`additionalEventData`字段。 AWS CloudHSM `backingKeyId`字段中返回的值是`id` AWS CloudHSM 关键属性。您可以按 KMS **密钥 ARN 筛选密钥列表** AWS CloudHSM CLI 操作，以识别与特定 KMS 密钥关联的 CloudHSM 密钥`id`属性。

要运行此过程，您需要暂时断开 AWS CloudHSM 密钥存储的连接，以便可以以 `kmsuser` CU 的身份登录。

**注意**  
以下过程使用 AWS CloudHSM 客户端 SDK 5 命令行工具 [CloudHSM C](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html) LI。CloudHSM CLI 将 `key-handle` 替换为 `key-reference`。  
2025 年 1 月 1 日， AWS CloudHSM 将终止对客户端 SDK 3 命令行工具、CloudHSM 管理实用程序 (CMU) 和密钥管理实用程序 (KMU) 的支持。有关客户端 SDK 3 命令行工具和客户端 SDK 5 命令行工具之间区别的更多信息，请参阅《AWS CloudHSM 用户指南》**中的[从客户端 SDK 3 CMU 和 KMU 迁移到客户端 SDK 5 CloudHSM CLI](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html)。

1. 如果 AWS CloudHSM 密钥存储尚未断开连接，请断开密钥库的连接，然后以身份登录`kmsuser`，如中所述[如何断开和登录](fix-keystore.md#login-kmsuser-1)。
**注意**  
虽然自定义密钥存储已断开连接，但在自定义密钥存储中创建 KMS 密钥或在加密操作中使用现有 KMS 密钥的所有尝试都将失败。此操作可以阻止用户存储和访问敏感数据。

1. 使用 CloudHSM CLI 中的[https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-list.html)命令并按`label`筛选条件查找集群中特定密钥的 KMS 密钥 AWS CloudHSM 。指定 `verbose` 参数以包含匹配密钥的所有属性和密钥信息。如果不指定 `verbose` 参数，则**密钥列表**操作将仅返回匹配密钥的密钥参考和标签属性。

   以下示例演示如何按存储 KMS 密钥 ARN 的 `label` 属性进行筛选。在运行此命令之前，请将示例 KMS 密钥 ARN 替换为您账户中的有效的 KMS 密钥 ARN。

   ```
   aws-cloudhsm > key list --filter attr.label="arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" --verbose
   {
     "error_code": 0,
     "data": {
       "matched_keys": [
         {
           "key-reference": "0x0000000000120034",
           "key-info": {
             "key-owners": [
               {
                 "username": "kmsuser",
                 "key-coverage": "full"
               }
             ],
             "shared-users": [],
             "cluster-coverage": "full"
           },
           "attributes": {
             "key-type": "aes",
             "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
             "id": "0xbacking-key-id",
             "check-value": "0x29bbd1",
             "class": "my_test_key",
             "encrypt": true,
             "decrypt": true,
             "token": true,
             "always-sensitive": true,
             "derive": false,
             "destroyable": true,
             "extractable": false,
             "local": true,
             "modifiable": true,
             "never-extractable": false,
             "private": true,
             "sensitive": true,
             "sign": false,
             "trusted": false,
             "unwrap": true,
             "verify": false,
             "wrap": true,
             "wrap-with-trusted": false,
             "key-length-bytes": 32
           }
         }
       ],
       "total_key_count": 1,
       "returned_key_count": 1
     }
   }
   ```

1. 注销并重新连接 AWS CloudHSM 密钥库，如中所述。[如何注销并重新连接](fix-keystore.md#login-kmsuser-2)