

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

# 访问并列出 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"
        ]
    }
}
```