查看外部密钥存储 - AWS Key Management Service

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

查看外部密钥存储

您可以使用 AWS KMS 控制台或使用 DescribeCustomKeyStores 操作查看每个账户和区域中的外部密钥存储。

查看外部密钥存储时,可以看到以下内容:

外部密钥存储属性

外部密钥存储的以下属性在 AWS KMS 控制台和 DescribeCustomKeyStores 响应中查看。

自定义密钥存储属性

以下值出现在每个自定义密钥存储的详细信息页面的 General configuration(常规配置)部分中。这些属性适用于所有自定义密钥存储,包括 AWS CloudHSM 密钥存储和外部密钥存储。

自定义密钥存储 ID

AWS KMS 分配给自定义密钥存储的唯一 ID。

自定义密钥存储名称

在创建自定义密钥存储时为其分配的易记名称。您可以随时更改此值。

自定义密钥存储类型

自定义密钥存储的类型。有效值为 AWS CloudHSM(AWS_CLOUDHSM)或外部密钥存储(EXTERNAL_KEY_STORE)。创建自定义密钥存储后无法更改其类型。

创建日期

创建自定义密钥存储的日期。此日期显示为 AWS 区域 的本地时间。

连接状态

表示自定义密钥存储已连接到其备用密钥存储。仅当自定义密钥存储从未连接到其备用密钥存储或故意断开连接时,连接状态才会为 ‭DISCONNECTED。有关详细信息,请参阅连接状态

外部密钥存储配置属性

以下值出现在每个外部密钥存储的详细信息页面的 External key store proxy configuration(外部密钥存储代理配置)部分,以及 DescribeCustomKeyStores 响应的 XksProxyConfiguration 元素中。有关每个字段的详细描述,包括唯一性要求,以及有关帮助确定每个字段的正确值的详细描述,请参阅 Creating an external key store(创建外部密钥存储)主题中的 汇编先决条件

代理连接

指示外部密钥存储是使用公有端点连接还是 VPC 端点服务连接

代理 URI 端点

AWS KMS 用于连接到外部密钥存储代理的端点。

代理 URI 路径

来自代理 URI 端点的路径,AWS KMS 将其用于发送代理 API 请求

代理凭证:访问密钥 ID

您在外部密钥存储代理上建立的代理身份验证凭证的一部分。访问密钥 ID 标识出凭证中的秘密访问密钥。

AWS KMS 使用 SigV4 签名流程和代理身份验证凭证来签署其对您外部密钥存储代理的请求。签名中的凭证允许外部密钥存储代理代表您对来自 AWS KMS 的请求进行身份验证。

VPC 端点服务名称

支持您的外部密钥存储的 Amazon VPC 端点服务的名称。此值仅在外部密钥存储使用 VPC 端点服务连接时显示。您可以在 VPC 中找到您的外部密钥存储代理,也可以使用 VPC 端点服务与您的外部密钥存储代理安全地进行通信。

查看您的外部密钥存储属性

您可以在 AWS KMS 控制台中或使用 DescribeCustomKeyStores 操作查看外部密钥存储及其关联属性。

要查看给定账户和区域中的外部密钥存储,请按照以下流程操作。

  1. 登录到 AWS Management Console,然后通过以下网址打开 AWS Key Management Service(AWS KMS)控制台:https://console.aws.amazon.com/kms

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

  3. 在导航窗格中,选择 Custom key stores(自定义密钥存储)、External key stores(外部密钥存储)。

  4. 要查看有关外部密钥存储的详细信息,请选择密钥存储名称。

要查看您的外部密钥存储,请使用 DescribeCustomKeyStores 操作。默认情况下,此操作将返回账户和区域中的所有自定义密钥存储。不过,您可以使用 CustomKeyStoreIdCustomKeyStoreName 参数(但不能同时使用两者)将输出限制到特定的自定义密钥存储。

对于自定义密钥存储,输出包含自定义密钥存储 ID、名称和类型以及密钥存储的连接状态。如果连接状态为 FAILED,则输出还包含描述错误原因的 ConnectionErrorCode。有关解释外部密钥存储 ConnectionErrorCode 的帮助,请参阅 外部密钥存储的连接错误代码

对于外部密钥存储,输出还包括 XksProxyConfiguration 元素。此元素包括连接类型代理 URI 端点代理 URI 路径代理身份验证凭证的访问密钥 ID。

本部分中的示例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何受支持的编程语言。

例如,以下命令返回账户和区域中的所有自定义密钥存储。您可以使用 LimitMarker 参数来浏览输出中的自定义密钥存储。

$ aws kms describe-custom-key-stores

以下示例命令使用 CustomKeyStoreName 参数以仅获取具有 ExampleXksPublic 易记名称的示例外部密钥存储。此示例密钥存储使用公有端点连接。该密钥存储连接到其外部密钥存储代理。

$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksPublic { "CustomKeyStores": [ { "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleXksPublic", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-14T20:17:36.419000+00:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "PUBLIC_ENDPOINT", "UriEndpoint": "https://xks.example.com:6443", "UriPath": "/example/prefix/kms/xks/v1" } } ] }

以下命令获取具有 VPC 端点服务连接的示例外部密钥存储。在此示例中,外部密钥存储连接到其外部密钥存储代理。

$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc { "CustomKeyStores": [ { "CustomKeyStoreId": "cks-9876543210fedcba9", "CustomKeyStoreName": "ExampleXksVpc", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-13T18:34:10.675000+00:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE98765432EXAMPLE", "Connectivity": "VPC_ENDPOINT_SERVICE", "UriEndpoint": "https://example-proxy-uri-endpoint-vpc", "UriPath": "/example/prefix/kms/xks/v1", "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example" } } ] }

ConnectionStateDisconnected 则表示外部密钥存储从未连接过,或者已有意与其与外部密钥存储代理断开连接。但是,如果您尝试使用已连接的外部密钥存储中的 KMS 密钥时失败,则可能表示该外部密钥存储代理或其他外部组件存在问题。

如果外部密钥存储的 ConnectionStateFAILED,则 DescribeCustomKeyStores 响应包含说明错误原因的 ConnectionErrorCode 元素。

例如,在以下输出中,XKS_PROXY_TIMED_OUT 值表示 AWS KMS 可以连接到外部密钥存储代理,但由于外部密钥存储代理未在分配的时间内响应 AWS KMS,所以连接失败。如果您反复看到此连接错误代码,请通知您的外部密钥存储代理供应商。有关此连接失败及其他连接错误失败的帮助,请参阅排查外部密钥存储的问题

$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc { "CustomKeyStores": [ { "CustomKeyStoreId": "cks-9876543210fedcba9", "CustomKeyStoreName": "ExampleXksVpc", "ConnectionState": "FAILED", "ConnectionErrorCode": "XKS_PROXY_TIMED_OUT", "CreationDate": "2022-12-13T18:34:10.675000+00:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE98765432EXAMPLE", "Connectivity": "VPC_ENDPOINT_SERVICE", "UriEndpoint": "https://example-proxy-uri-endpoint-vpc", "UriPath": "/example/prefix/kms/xks/v1", "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example" } } ] }