对自定义密钥存储进行故障排除
Amazon CloudHSM 密钥存储被设计为可用且有弹性。不过,为了让 Amazon CloudHSM 密钥存储正常运行,您必须修复存在的一些错误情况。
主题
如何修复不可用的 KMS 密钥
Amazon CloudHSM 密钥存储中 Amazon KMS keys 的密钥状态通常为 Enabled
。与所有 KMS 密钥相似,当您禁用 Amazon CloudHSM 密钥存储中的 KMS 密钥或者计划删除这些密钥时,密钥状态会发生变化。但是,与其他 KMS 密钥不同,自定义密钥存储中的 KMS 密钥还可具有密钥状态 Unavailable
。
密钥状态 Unavailable
表示 KMS 密钥位于被故意断开连接的自定义密钥存储中,并且尝试重新连接该集群(如果有)失败。当某个 KMS 密钥不可用时,您可以查看和管理该 KMS 密钥,但不能将其用于加密操作。
要查找 KMS 密钥的密钥状态,请在 Customer managed keys(客户托管密钥)页面上,查看 KMS 密钥的 Status(状态)字段。或者,使用 DescribeKey 操作并查看响应中的 KeyState
元素。有关详细信息,请参阅 查看密钥。
已断开的自定义密钥存储中的 KMS 密钥的密钥状态将为 Unavailable
或 PendingDeletion
。计划从自定义密钥存储中删除的 KMS 密钥的密钥状态为 Pending Deletion
,即使自定义密钥存储已断开连接也是如此。这使您可以取消计划的密钥删除而无需重新连接自定义密钥存储。
要修复不可用的 KMS 密钥,请重新连接自定义密钥存储。重新连接自定义密钥存储后,自定义密钥存储中的 KMS 密钥的密钥状态将自动还原到之前的状态,例如 Enabled
或 Disabled
。待删除的 KMS 密钥将保持 PendingDeletion
状态。但是,当问题仍然存在时,启用和禁用不可用的 KMS 密钥不会更改其密钥状态。仅当密钥变得可用时,启用或禁用操作才会生效。
如需帮助解决失败的连接,请参阅如何修复连接故障。
如何修复失败的 KMS 密钥
在 Amazon CloudHSM 密钥存储中创建和使用 KMS 密钥的问题可能由 Amazon CloudHSM 密钥存储、其关联的 Amazon CloudHSM 集群、KMS 密钥或其密钥材料导致。
当某个 Amazon CloudHSM 密钥存储与其 Amazon CloudHSM 集群断开连接时,该自定义密钥存储中 KMS 密钥的密钥状态为 Unavailable
。在断开的 Amazon CloudHSM 密钥存储中创建 KMS 密钥的所有请求都将返回 CustomKeyStoreInvalidStateException
异常。所有加密、解密、重新加密或生成数据密钥的请求都将返回 KMSInvalidStateException
异常。要修复该问题,请重新连接 Amazon CloudHSM 密钥存储。
但是,您使用 Amazon CloudHSM 密钥存储 KMS 密钥进行加密操作的尝试可能会失败,即使其密钥状态为 Enabled
并且 Amazon CloudHSM 密钥存储的连接状态为 Connected
也是如此。这可能由以下任一情况导致。
-
KMS 密钥的密钥材料可能已从关联的 Amazon CloudHSM 集群中删除。要进行调查,请查找 KMS 密钥的密钥材料的密钥句柄,并在必要时尝试恢复密钥材料。
-
所有 HSM 都已从与 Amazon CloudHSM 密钥存储关联的 Amazon CloudHSM 集群中删除。要在加密操作中使用 Amazon CloudHSM 密钥存储中的某个 KMS 密钥,其 Amazon CloudHSM 集群必须至少包含一个活动 HSM。要验证 Amazon CloudHSM 集群中的 HSM 的数量和状态,请使用 Amazon CloudHSM 控制台或 DescribeClusters 操作。要向集群添加 HSM,请使用 Amazon CloudHSM 控制台或 CreateHsm 操作。
-
与 Amazon CloudHSM 密钥存储关联的 Amazon CloudHSM 集群已删除。要修复该问题,请从与原始集群相关的备份创建一个集群,例如原始集群的备份或用于创建原始集群的备份。然后,在自定义密钥存储设置中编辑集群 ID。有关说明,请参阅 如何恢复 KMS 密钥的已删除密钥材料。
-
与自定义密钥存储关联的 Amazon CloudHSM 集群没有任何可用的 PKCS #11 会话。这种情况通常发生在高突发流量期间,此时需要额外的会话来服务流量。要响应带有关 PKCS #11 会话的错误消息的
KMSInternalException
,请退后并重试该请求。
如何修复连接故障
如果您尝试连接 Amazon CloudHSM 密钥存储到其 Amazon CloudHSM 集群,但操作失败,则 Amazon CloudHSM 密钥存储的连接状态将更改为 FAILED
。要查找 Amazon CloudHSM 密钥存储的连接状态,请使用 Amazon KMS 控制台或 DescribeCustomKeyStores 操作。
另外,由于容易检测到集群配置错误,一些连接尝试会很快失败。在这种情况下,连接状态仍为 DISCONNECTED
。这些失败将返回错误消息或例外来说明尝试失败的原因。查看例外描述和集群要求,纠正问题,更新 Amazon CloudHSM 密钥存储(如有必要)并尝试重新连接。
当连接状态为 FAILED
时,运行 DescribeCustomKeyStores 操作并查看响应中的 ConnectionErrorCode
元素。
注意
当 Amazon CloudHSM 密钥存储的连接状态为 FAILED
时,您必须先断开 Amazon CloudHSM 密钥存储,然后再尝试重新连接它。您无法连接具有 FAILED
连接状态的 Amazon CloudHSM 密钥存储。
-
CLUSTER_NOT_FOUND
表示 Amazon KMS 找不到具有指定集群 ID 的 Amazon CloudHSM 集群。这可能是因为向 API 操作提供了错误的集群 ID,或者集群被删除而不是被替换。要修复此错误,请验证集群 ID,例如通过使用 Amazon CloudHSM 控制台或 DescribeClusters 操作。如果集群已被删除,请从源的最新备份创建一个集群。然后,断开 Amazon CloudHSM 密钥存储,编辑 Amazon CloudHSM 密钥存储集群 ID 设置,并重新连接 Amazon CloudHSM 密钥存储到集群。 -
INSUFFICIENT_CLOUDHSM_HSMS
表示关联的 Amazon CloudHSM 集群不包含任何 HSM。要连接,集群必须至少具有一个 HSM。要查找集群中的 HSM 数,请使用 DescribeClusters 操作。要解决此错误,请添加至少一个 HSM 到集群。如果您添加了多个 HSM,最好在不同的可用区中创建它们。 INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET
表明 Amazon KMS 无法将 Amazon CloudHSM 密钥存储连接至其 Amazon CloudHSM 集群,因为至少有一个与集群关联的私有子网没有任何可用的 IP 地址。Amazon CloudHSM 密钥存储连接需要在每个关联的私有子网中有一个空闲的 IP 地址,但最好有两个空闲的 IP 地址。您无法将 IP 地址
(CIDR 块)添加到现有子网。如有可能,请移动或删除在子网中使用 IP 地址的其他资源,例如未使用的 EC2 实例或弹性网络接口。除此之外,您可以通过 Amazon CloudHSM 集群的近期备份创建一个集群,集群中包含具有更多可用地址空间的新的或现有私有子网。然后,要将新集群与您的 Amazon CloudHSM 密钥存储关联,请断开自定义密钥存储,将 Amazon CloudHSM 密钥存储的集群 ID 更改为新集群的 ID,然后尝试再次连接。 提示
要避免重置 kmsuser 密码,请使用 Amazon CloudHSM 集群的最新备份。
-
INTERNAL_ERROR
指示 Amazon KMS 因内部错误而无法完成请求。重试 请求。对于ConnectCustomKeyStore
请求,先断开 Amazon CloudHSM 密钥存储,然后再尝试重新连接它。 -
INVALID_CREDENTIALS
表示 Amazon KMS 无法登录到关联的 Amazon CloudHSM 集群,因为它没有正确的kmsuser
账户密码。如需帮助解决此错误,请参阅如何修复无效的 kmsuser 凭证。 -
NETWORK_ERRORS
通常表示暂时性网络问题。断开 Amazon CloudHSM 密钥存储,等待几分钟,然后重试连接。 SUBNET_NOT_FOUND
表示 Amazon CloudHSM 集群配置中至少有一个子网已被删除。如果 Amazon KMS 无法找到集群配置中的所有子网,则尝试将 Amazon CloudHSM 密钥存储连接到 Amazon CloudHSM 集群将失败。要修复此错误,请从同一 Amazon CloudHSM 集群的最近备份创建集群。(此过程使用 VPC 和私有子网创建新的集群配置。) 验证新集群是否满足自定义密钥存储的要求,并记下新集群 ID。然后,要将新集群与您的 Amazon CloudHSM 密钥存储关联,请断开自定义密钥存储,将 Amazon CloudHSM 密钥存储的集群 ID 更改为新集群的 ID,然后尝试再次连接。
提示
要避免重置 kmsuser 密码,请使用 Amazon CloudHSM 集群的最新备份。
-
USER_LOCKED_OUT
表示 kmsuser 加密用户 (CU) 账户无法访问关联的 Amazon CloudHSM 集群,因为失败的密码尝试过多。如需帮助解决此错误,请参阅如何修复无效的 kmsuser 凭证。要修复此错误,请断开 Amazon CloudHSM 密钥存储并使用 cloudhsm_mgmt_util 中的 changePswd 命令以更改
kmsuser
账户密码。然后,编辑自定义密钥存储的 kmsuser 密码设置并重试连接。如需帮助,请使用如何修复无效的 kmsuser 凭证主题中所述的过程。 -
USER_LOGGED_IN
表示kmsuser
CU 帐户已登录到关联的 Amazon CloudHSM 集群。这会阻止 Amazon KMS 轮换kmsuser
账户密码和登录到群集。要修复此错误,请从集群中注销kmsuser
CU。如果您更改了用于登录到集群的kmsuser
密码,则还必须更新 Amazon CloudHSM 密钥存储的密钥存储密码值。有关帮助信息,请参阅 如何注销并重新连接。 -
USER_NOT_FOUND
表示 Amazon KMS 无法在关联的 Amazon CloudHSM 集群中找到kmsuser
CU 账户。要修复此错误,请在集群中创建 kmsuser CU 账户,然后更新 Amazon CloudHSM 密钥存储的密钥存储密码值。有关帮助信息,请参阅 如何修复无效的 kmsuser 凭证。
如何响应加密操作失败
在自定义密钥存储中使用 KMS 密钥的加密操作可能会失败,并显示 KMSInvalidStateException
。以下错误消息可能附带 KMSInvalidStateException
。
KMS 无法与您的 CloudHSM 集群进行通信。这可能是暂时的网络问题。如果您反复看到此错误,请验证 Amazon CloudHSM 集群 VPC 的网络 ACL 和安全组规则是否正确。 |
-
虽然它是 HTTPS 400 错误,但它可能是由于暂时的网络问题引起的。要进行响应,首先重试请求。但是,如果继续失败,请检查网络组件的配置。此错误很可能是由于网络组件(例如阻止传出流量的防火墙规则或 VPC 安全组规则)的错误配置引起的。
KMS 无法与您的 Amazon CloudHSM 集群通信,因为 kmsuser 已被锁定。如果您反复看到此错误,请断开 Amazon CloudHSM 密钥存储的连接并重置 kmsuser 账户的密码。更新自定义密钥存储的 kmsuser 密码,然后重试请求。 |
-
此错误消息表示 kmsuser 加密用户(CU)账户无法访问关联的 Amazon CloudHSM 集群,因为失败的密码尝试过多。如需帮助解决此错误,请参阅如何断开和登录。
如何修复无效的 kmsuser
凭证
当您连接 Amazon CloudHSM 密钥存储时,Amazon KMS 会以 kmsuser 加密用户(CU)身份登录到关联的 Amazon CloudHSM 集群。在 Amazon CloudHSM 密钥存储断开之前,它将保持登录状态。DescribeCustomKeyStores 响应将显示 ConnectionState
FAILED
和 ConnectionErrorCode
值 INVALID_CREDENTIALS
,如以下示例所示。
如果您断开 Amazon CloudHSM 密钥存储并更改 kmsuser
密码,Amazon KMS 将无法使用 kmsuser
CU 账户的凭证登录到 Amazon CloudHSM 集群。因此,所有连接 Amazon CloudHSM 密钥存储的尝试都将失败。DescribeCustomKeyStores
响应显示 ConnectionState
值 FAILED
以及 ConnectionErrorCode
值 INVALID_CREDENTIALS
,如以下示例中所示。
$
aws kms describe-custom-key-stores --custom-key-store-name
ExampleKeyStore
{ "CustomKeyStores": [ "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionErrorCode": "INVALID_CREDENTIALS" "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "TrustAnchorCertificate": "
<certificate string appears here>
", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" ], }
此外,在使用不正确的密码登录到集群的尝试失败五次后,Amazon CloudHSM 将锁定用户账户。要登录到集群,您必须更改账户密码。
如果 Amazon KMS 在尝试以 kmsuser
CU 身份登录到集群时获得锁定响应,连接 Amazon CloudHSM 密钥存储的请求将失败。DescribeCustomKeyStores 响应包含 ConnectionState
FAILED
和 ConnectionErrorCode
值 USER_LOCKED_OUT
,如以下示例所示。
$
aws kms describe-custom-key-stores --custom-key-store-name
ExampleKeyStore
{ "CustomKeyStores": [ "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionErrorCode": "USER_LOCKED_OUT" "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "TrustAnchorCertificate": "
<certificate string appears here>
", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" ], }
要修复上述任一状况,请使用以下过程。
-
运行 DescribeCustomKeyStores 操作并查看响应中的
ConnectionErrorCode
元素的值。-
如果
ConnectionErrorCode
值为INVALID_CREDENTIALS
,请确定kmsuser
账户的当前密码。必要时,请使用 cloudhsm_mgmt_util 中的 changePswd 命令将密码设置为已知值。 -
如果
ConnectionErrorCode
值是USER_LOCKED_OUT
,您必须使用 cloudhsm_mgmt_util 中的 changePswd 命令更改kmsuser
密码。
-
-
编辑 kmsuser 密码设置,使其与当前集群中的
kmsuser
密码匹配。此操作将告知 Amazon KMS 要用来登录到集群的密码。它不会更改集群中的kmsuser
密码。
如何删除孤立密钥材料
在计划从 Amazon CloudHSM 密钥存储中删除 KMS 密钥后,您可能需要从关联的 Amazon CloudHSM 集群中手动删除对应的密钥材料。
当您在 Amazon CloudHSM 密钥存储中创建 KMS 密钥时,Amazon KMS 将在 Amazon KMS 中创建 KMS 密钥元数据并在关联的 Amazon CloudHSM 集群中生成密钥材料。当您计划在 Amazon CloudHSM 密钥存储中删除 KMS 密钥时,在等待期过后,Amazon KMS 将删除 KMS 密钥元数据。然后,Amazon KMS 将尽可能从 Amazon CloudHSM 集群中删除对应的密钥材料。如果 Amazon KMS 无法访问集群(例如与 Amazon CloudHSM 密钥存储断开连接或 kmsuser
密码更改),尝试可能会失败。Amazon KMS 不会尝试从集群备份中删除密钥材料。
Amazon KMS 会报告其尝试从 Amazon CloudTrail 日志 DeleteKey
事件条目中的集群中删除密钥材料的结果。它会在 additionalEventData
元素的 backingKeysDeletionStatus
元素中显示,如以下示例条目所示。该条目还包含 KMS 密钥 ARN、Amazon CloudHSM 集群 ID 和密钥材料的密钥句柄 (backing-key-id
)。
{ "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "invokedBy": "Amazon Internal" }, "eventTime": "2021-12-10T14:23:51Z", "eventSource": "kms.amazonaws.com", "eventName": "DeleteKey", "awsRegion": "eu-west-1", "sourceIPAddress": "Amazon Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "additionalEventData": { "customKeyStoreId": "cks-1234567890abcdef0", "clusterId": "cluster-1a23b4cdefg", "backingKeys": "[{\"keyHandle\":\"01\",\"backingKeyId\":\"
backing-key-id
\"}]", "backingKeysDeletionStatus": "[{\"keyHandle\":\"16\",\"backingKeyId\":\"backing-key-id
\",\"deletionStatus\":\"FAILURE\"}]" }, "eventID": "c21f1f47-f52b-4ffe-bff0-6d994403cf40", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "managementEvent": true, "eventCategory": "Management" }
要从关联的 Amazon CloudHSM 集群中删除密钥材料,请使类似于下面的过程。本示例使用 Amazon CLI 和 Amazon CloudHSM 命令行工具,但您可以使用 Amazon Web Services Management Console而不是 CLI。
-
断开 Amazon CloudHSM 密钥存储(如果尚未断开),然后登录到 key_mgmt_util,如 如何断开和登录 中所述。
-
使用 key_mgmt_util 中的 deleteKey 命令从集群内的 HSM 中删除密钥。
例如,以下命令从集群内的 HSM 中删除密钥
262162
。密钥句柄列在 CloudTrail 日志条目中。Command:
deleteKey -k
262162
Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
-
注销 key_mgmt_util 并重新连接 Amazon CloudHSM 密钥存储,如 如何注销并重新连接 中所述。
如何恢复 KMS 密钥的已删除密钥材料
如果删除了 Amazon KMS key 的密钥材料,则 KMS 密钥不可用,并且在 KMS 密钥下加密的所有密文都无法解密。如果从关联的 Amazon CloudHSM 集群中删除了 Amazon CloudHSM 密钥存储中的 KMS 密钥的密钥材料,则会出现这种情况。但是,可以恢复该密钥材料。
当您在 Amazon CloudHSM 密钥存储中创建 Amazon KMS key(KMS 密钥)时,Amazon KMS 将登录到关联的 Amazon CloudHSM 集群并创建 KMS 密钥的密钥材料。它还会将密码更改为只有它知道的值,并且只要连接了 Amazon CloudHSM 密钥存储,它就会保持登录状态。由于只有密钥所有者(即创建密钥的 CU)才能删除密钥,因此不太可能意外地从 HSM 中删除密钥。
但是,如果从集群内的 HSM 中删除 KMS 密钥的密钥材料,KMS 密钥的密钥状态最终将变为 UNAVAILABLE
。如果您尝试使用 KMS 密钥进行加密操作,该操作将失败并出现 KMSInvalidStateException
异常。最重要的是,在 KMS 密钥下加密的任何数据都无法解密。
在某些情况下,您可以通过从包含密钥材料的备份创建集群来恢复已删除的密钥材料。仅当在密钥存在且未被删除的情况下创建了一个备份时,此策略才有效。
使用以下过程恢复密钥材料。
-
查找包含密钥材料的集群备份。备份还必须包含支持集群及其加密数据所需的所有用户和密钥。
使用 DescribeBackups 操作列出集群的备份。然后,使用备份时间戳帮助您选择一个备份。要将输出限制为与 Amazon CloudHSM 密钥存储关联的集群,请使用
Filters
参数,如以下示例所示。$
aws cloudhsmv2 describe-backups --filters clusterIds=
<cluster ID>
{ "Backups": [ { "ClusterId": "cluster-1a23b4cdefg", "BackupId": "backup-9g87f6edcba", "CreateTimestamp": 1536667238.328, "BackupState": "READY" }, ... ] }
-
从所选备份创建集群。验证备份是否包含已删除的密钥以及集群所需的其他用户和密钥。
-
断开 Amazon CloudHSM 密钥存储,以便您可以编辑其属性。
-
编辑 Amazon CloudHSM 密钥存储的集群 ID。输入您从备份创建的集群的集群 ID。由于该集群与原始集群共享备份历史记录,新集群 ID 应该是有效的。
如何以 kmsuser
身份登录
为了创建和管理 Amazon CloudHSM 密钥存储的 Amazon CloudHSM 集群中的密钥材料,Amazon KMS 将使用 kmsuser 加密用户(CU)账户。您在集群中创建 kmsuser CU 账户并在创建 Amazon CloudHSM 密钥存储时将该账户的密码提供给 Amazon KMS。
一般而言,Amazon KMS 将管理 kmsuser
账户。但是,对于某些任务,您需要断开 Amazon CloudHSM 密钥存储,以 kmsuser
CU 身份登录到集群,并使用 cloudhsm_mgmt_util 和 key_mgmt_util 命令行工具。
注意
虽然自定义密钥存储已断开连接,但在自定义密钥存储中创建 KMS 密钥或在加密操作中使用现有 KMS 密钥的所有尝试都将失败。此操作可以阻止用户存储和访问敏感数据。
本主题介绍了如何断开 Amazon CloudHSM 密钥存储并以 kmsuser
身份登录、运行 Amazon CloudHSM 命令行工具以及注销并重新连接 Amazon CloudHSM 密钥存储。
如何断开和登录
每当需要以 kmsuser
CU 身份登录到关联的集群时,请使用以下过程。
-
断开 Amazon CloudHSM 密钥存储(如果尚未断开)。可以使用 Amazon KMS 控制台或 Amazon KMS API。
当您的 Amazon CloudHSM 密钥已连接时,您便已经以
kmsuser
身份登录 Amazon KMS。这将防止您以kmsuser
身份登录或更改kmsuser
密码。例如,此命令使用 DisconnectCustomKeyStore 断开示例密钥存储。将示例 Amazon CloudHSM 密钥存储 ID 替换为有效的 ID。
$
aws kms disconnect-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
-
启动 cloudhsm_mgmt_util。使用 Amazon CloudHSM 用户指南的准备运行 cloudhsm_mgmt_util 部分中所述的程序。
-
在 Amazon CloudHSM 集群上以加密管理者 (CO) 身份登录到 cloudhsm_mgmt_util。
例如,以下命令以名为 admin 的 CO 的身份进行登录。将示例 CO 用户名和密码替换为有效值。
aws-cloudhsm>
loginHSM CO
admin
<password>
loginHSM success on server 0(10.0.2.9) loginHSM success on server 1(10.0.3.11) loginHSM success on server 2(10.0.1.12)
-
使用 changePswd 命令将
kmsuser
账户的密码更改为您知道的值。(Amazon KMS 将在您连接 Amazon CloudHSM 密钥存储时轮换密码。) 密码必须由 7 到 32 个字母数字字符组成。它区分大小写,并且不能包含任何特殊字符。例如,此命令会将
kmsuser
密码更改为tempPassword
。aws-cloudhsm>
changePswd CU kmsuser
tempPassword
*************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. Cav server does NOT synchronize these changes with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Changing password for kmsuser(CU) on 3 nodes
-
使用您设置的密码以
kmsuser
身份登录到 key_mgmt_util 或 cloudhsm_mgmt_util。有关详细说明,请参阅 cloudhsm_mgmt_util 入门和 key_mgmt_util 入门。您使用的工具取决于任务。例如,以下命令将登录到 key_mgmt_util。
Command:
loginHSM -u CU -s kmsuser -p
tempPassword
Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
如何注销并重新连接
-
执行任务,然后从命令行工具注销。如果您不注销,重新连接 Amazon CloudHSM 密钥存储的尝试将失败。
Command:
logoutHSM
Cfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
-
为自定义密钥存储编辑 kmsuser 密码设置。
这将告知 Amazon KMS 集群中的
kmsuser
的当前密码。如果忽略此步骤,Amazon KMS 将无法以kmsuser
身份登录到集群,并且重新连接自定义密钥存储的所有尝试都将失败。您可以使用 Amazon KMS 控制台或 UpdateCustomKeyStore 操作的KeyStorePassword
参数。例如,以下命令将告知 Amazon KMS 当前密码为
tempPassword
。将示例密码替换为实际密码。$
aws kms update-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
--key-store-passwordtempPassword
-
重新连接 Amazon KMS 密钥存储至其 Amazon CloudHSM 集群。将示例 Amazon CloudHSM 密钥存储 ID 替换为有效的 ID。在连接过程中,Amazon KMS 会将
kmsuser
密码更改为只有它知道的值。ConnectCustomKeyStore 操作将快速返回,但连接过程可能需要更长时间。初始响应不指示连接过程是否成功。
$
aws kms connect-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
-
使用 DescribeCustomKeyStores 操作验证 Amazon CloudHSM 密钥存储是否已连接。将示例 Amazon CloudHSM 密钥存储 ID 替换为有效的 ID。
在本示例中,连接状态字段表明 Amazon CloudHSM 密钥存储现已连接。
$
aws kms describe-custom-key-stores --custom-key-store-id
cks-1234567890abcdef0
{ "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "
<certificate string appears here>
", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }