连接 AWS CloudHSM 密钥存储
新的 AWS CloudHSM 密钥存储未连接。您需要先将 AWS KMS keys 连接到其关联的 AWS CloudHSM 集群,然后才能在 AWS CloudHSM 密钥存储中创建和使用这些密钥。您可以随时连接和断开 AWS CloudHSM 密钥存储,并查看其连接状态。
您无需连接 AWS CloudHSM 密钥存储。您可以将 AWS CloudHSM 密钥存储保持在无限期断开的状态并且仅在您需要使用它时进行连接。但是,您可能希望定期测试连接以验证设置是否正确以及自定义密钥存储是否可以连接。
注意
仅当密钥存储从未连接或您显式断开密钥存储连接时,AWS CloudHSM 密钥存储才会具有 DISCONNECTED 状态。如果您的 AWS CloudHSM 密钥存储状态为 CONNECTED,但您在使用它时遇到问题,请确保其关联的 AWS CloudHSM 集群处于活动状态,并且包含至少一个活动 HSM。如需帮助解决连接失败问题,请参阅 对自定义密钥存储进行故障排除。
当您连接 AWS CloudHSM 密钥存储时,AWS KMS 会查找关联的 AWS CloudHSM 集群,连接到该集群,并以 kmsuser 加密用户(CU)身份登录 AWS CloudHSM 客户端,然后轮换 kmsuser 密码。只要 AWS CloudHSM 密钥存储处于连接状态,AWS KMS 仍然保持登录到 AWS CloudHSM 客户端的状态。
为了建立连接,AWS KMS 在集群的 Virtual Private Cloud (VPC) 中创建一个名为 kms- 的安全组。该安全组具有一个允许来自集群安全组的入站流量的规则。AWS KMS 还会在集群的私有子网的每个可用区中创建一个弹性网络接口 (ENI)。AWS KMS 会将 ENI 添加到 <custom key store ID>kms- 安全组和集群的安全组。每个 ENI 的描述都是 <cluster ID>KMS managed ENI for cluster
。<cluster-ID>
连接过程可能需要较长时间才能完成;最多 20 分钟。
在连接 AWS CloudHSM 密钥存储之前,请验证它是否符合要求。
-
其关联的 AWS CloudHSM 集群必须至少包含一个活动 HSM。要查找集群中的 HSM 数,请在 AWS CloudHSM 控制台中查看集群或使用 DescribeClusters 操作。如有必要,您可以添加 HSM。
-
集群必须具有 kmsuser 加密用户(CU)账户,但当您连接 AWS CloudHSM 密钥存储时,该 CU 无法登录到集群。要获取有关注销的帮助,请参阅 如何注销并重新连接。
-
AWS CloudHSM 密钥存储的连接状态不能是
DISCONNECTING或FAILED。要查看连接状态,请使用 AWS KMS 控制台或 DescribeCustomKeyStores 响应。如果连接状态为FAILED,请断开自定义密钥存储,修复问题,然后连接它。
如需帮助解决连接失败问题,请参阅 如何修复连接故障。
连接 AWS CloudHSM 密钥存储后,您可以在其中创建 KMS 密钥,然后在加密操作中使用现有 KMS 密钥。
连接和重新连接到您的 AWS CloudHSM 密钥存储
您可以在 AWS KMS 控制台中或使用 ConnectCustomKeyStore 操作连接或重新连接您的 AWS CloudHSM 密钥存储。
要在 AWS 管理控制台 中连接 AWS CloudHSM 密钥存储,请首先从 Custom key stores(自定义密钥存储)页面中选择 AWS CloudHSM 密钥存储。连接过程可能最多需要 20 分钟才能完成。
-
登录到 AWS 管理控制台,然后通过以下网址打开 AWS Key Management Service(AWS KMS)控制台:https://console.aws.amazon.com/kms
。 -
要更改 AWS 区域,请使用页面右上角的区域选择器。
-
在导航窗格中,选择自定义密钥存储、AWS CloudHSM 密钥存储。
-
选择要连接的 AWS CloudHSM 密钥存储的行。
如果 AWS CloudHSM 密钥存储的连接状态为失败,则必须在连接之前断开自定义密钥存储。
-
从 Key store actions(密钥存储操作)菜单中选择 Connect(连接)。
AWS KMS 将开始连接自定义密钥存储的过程。它将查找关联的 AWS CloudHSM 集群,构建所需的网络基础设施,连接到网络基础设施,以 AWS CloudHSM CU 身份登录到 kmsuser 集群,然后轮换 kmsuser 密码。当操作完成时,连接状态将变为已连接。
如果操作失败,则会出现一条描述失败原因的错误消息。在尝试再次连接之前,请查看 AWS CloudHSM 密钥存储的连接状态。如果状态为失败,则必须先断开自定义密钥存储,然后再次连接。如果您需要帮助,请参阅对自定义密钥存储进行故障排除。
要连接已断开的 AWS CloudHSM 密钥存储,请使用 ConnectCustomKeyStore 操作。关联的 AWS CloudHSM 集群必须包含至少一个活动 HSM,且连接状态不能为 FAILED。
连接过程需要较长时间才能完成;最多 20 分钟。除非该过程迅速失败,否则 操作将返回 HTTP 200 响应和无属性的 JSON 对象。但是,此初始响应不指示连接是否成功。要确定自定义密钥存储的连接状态,请使用 DescribeCustomKeyStores 响应。
本部分中的示例使用 AWS Command Line Interface (AWS CLI)
要确定 AWS CloudHSM 密钥存储,请使用自定义密钥存储 ID。您可以在控制台中的 Custom key stores(自定义密钥存储)页面上或通过使用无参数的 DescribeCustomKeyStores 操作找到该 ID。在运行此示例之前,请将示例 ID 替换为有效的 ID。
$aws kms connect-custom-key-store --custom-key-store-idcks-1234567890abcdef0
要验证 AWS CloudHSM 密钥存储是否已连接,请使用 DescribeCustomKeyStores 操作。默认情况下,此操作将返回您的账户和区域中的所有自定义密钥存储。但您可以使用 CustomKeyStoreId 或 CustomKeyStoreName 参数(但不能同时使用两者)将响应限制到特定自定义密钥存储。ConnectionState 值 CONNECTED 表示自定义密钥存储已连接到其 AWS CloudHSM 集群。
注意
在 DescribeCustomKeyStores 响应中添加了 CustomKeyStoreType 字段,以区分 AWS CloudHSM 密钥存储和外部密钥存储。
$aws kms describe-custom-key-stores --custom-key-store-idcks-1234567890abcdef0{ "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleCloudHSMKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreType": "AWS_CLOUDHSM", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }
如果 ConnectionState 值为 FAILED,ConnectionErrorCode 元素将指示失败的原因。在此情况下,AWS KMS 在您的账户中找不到集群 ID 为 AWS CloudHSM 的 cluster-1a23b4cdefg 集群。如果您删除了该集群,则可以从原始集群的备份还原它,然后编辑自定义密钥存储的集群 ID。有关响应连接错误代码的帮助信息,请参阅 如何修复连接故障。
$aws kms describe-custom-key-stores --custom-key-store-idcks-1234567890abcdef0{ "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreType": "AWS_CLOUDHSM", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" "ConnectionErrorCode": "CLUSTER_NOT_FOUND" ], }