一旦Custom Key Store显示为CONNECTED,这意味着kmsuser已登录,服务现在可以与我们的CloudHSM Cluster通信。
我们现在可以使用CKS在custom key store中创建AWS KMS customer managed key(CMK),AWS KMS会在我们的CloudHSM Cluster中生成并存储CMK的密钥材料,当我们使用CMK时,加密操作在集群中的HSM上执行。
导航到KMS控制台的Customer managed keys部分,点击Create key创建新的CMK:

CKS仅支持对称密钥,展开"Advanced options"部分,选择AWS CloudHSM key store,然后点击Next:

选择之前创建的key store,然后点击Next:

在此部分,我们将为CMK提供一个Alias。Alias是指向KMS CMK的指针,在加密对象时引用该密钥。为CMK输入一个友好的alias和描述,然后点击Next。
在此页面上,我们将选择哪些用户和角色可以管理CMK。Key Administrator可以为CMK调用类似CRUD的操作,例如更新其alias、Key Policy或删除密钥。找到我们当前登录的IAM Role,然后点击Next。
在此页面上,我们将选择可以使用此CMK的用户。这些操作包括加密和解密。再次搜索并选择我们当前登录的角色,然后点击Next。
在最后一页,验证我们选择的选项,然后点击Finish,通过CKS使用CloudHSM中的密钥创建CMK。

以 admin 用户身份登录到 CloudHSM 集群,key list 命令显示我们 CloudHSM 集群中的密钥及其 key-reference,但是,仅凭这一点,我们无法确定哪个密钥是由 kmsuser 在 AWS KMS 中创建的:
但是密钥的数量确实多了一个(原来是4个):

以 kmsuser CU 身份登录能看到创建的KMS密钥信息
当我们的 AWS CloudHSM 密钥存储处于连接状态时,AWS KMS 以 kmsuser 身份登录。这会阻止我们以 kmsuser 身份登录或更改 kmsuser 密码。通常,AWS KMS 管理 kmsuser 账户。但是,对于某些任务,我们需要断开 AWS CloudHSM 密钥存储的连接,以 kmsuser CU 身份登录集群,并使用 CloudHSM CLI。
当自定义密钥存储断开连接时,所有中创建 KMS 密钥或在加密操作中使用现有 KMS 密钥的尝试都将失败。此操作可能会阻止用户存储和访问敏感数据。
在 AWK KMS 中断开 连接:此过程最多可能需要 10 分钟:

由于之前KMS已经连接到我们的 CloudHSM 集群,它会自动轮换 kmsuser 密码……(这个设计虽然安全,但是用起来很麻烦)
因此,自上次登录以来密码已更改。
我们需要重置 kmsuser 密码。
以 admin 身份登录后,运行以下命令重置 kmsuser 密码。
user change-password --username kmsuser --role crypto-user
以 kmsuser(CU)身份登录:
login --username kmsuser --role crypto-user
运行 key list 命令,该命令将列出此用户(kmsuser)拥有或共享的所有密钥。我们现在可以看到 AWS KMS 服务代表我们创建的密钥的 Key Label:

在这里,我们可以看到 AWS KMS 中相同的密钥 ARN 与存储在 CloudHSM 中由 kmsuser 创建的密钥的 Key Label 相匹配:

由于我们最近更改了 kmsuser 密码,当前在Customer Key Store中为 kmsuser 配置的密码现在无效。我们必须在尝试重新连接之前更新CKS中的密码,否则将导致 FAILED 状态且无法连接:
在 AWS KMS 控制台中,进行编辑:

将密码更新为新创建的密码(kmsuser 的新密码),以便我们可以重新连接。完成后点击 Save:
