Amazon CloudHSM 密钥存储概念 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon CloudHSM 密钥存储概念

本主题介绍了 Amazon CloudHSM 密钥存储中使用的一些概念。

Amazon CloudHSM 密钥存储

Amazon CloudHSM 密钥存储是与您拥有和管理的 Amazon CloudHSM 集群的关联的自定义密钥存储。Amazon CloudHSM 集群由经 FIPS 140-2 3 级认证的硬件安全模块(HSM)提供支持。

当您在 Amazon CloudHSM 密钥存储中创建 KMS 密钥时,Amazon KMS 将在关联的 Amazon CloudHSM 集群中生成 256 位、持久且不可导出的高级加密标准(AES)对称密钥。此密钥材料绝不会让您的 HSM 处于未加密状态。在 Amazon CloudHSM 密钥存储中使用 KMS 密钥时,会在集群中的 HSM 中执行加密操作。

Amazon CloudHSM 密钥存储将 Amazon KMS 的方便、全面的密钥管理界面与 Amazon Web Services 账户 中的 Amazon CloudHSM 集群提供的额外控制相结合。此集成功能可让您在 Amazon KMS 中创建、管理和使用 KMS 密钥,同时保持对存储 KMS 密钥的密钥材料的 HSM 的完全控制,包括管理集群、HSM 和备份。您可以使用 Amazon KMS 控制台和 API 来管理 Amazon CloudHSM 密钥存储及其 KMS 密钥。您还可以使用 Amazon CloudHSM 控制台、API、客户端软件和关联的软件库来管理关联的集群。

您可以查看和管理您的 Amazon CloudHSM 密钥存储、编辑其属性,并将其与关联的 Amazon CloudHSM 集群连接和断开连接。如果您需要删除 Amazon CloudHSM 密钥存储,则必须先删除 Amazon CloudHSM 密钥存储中的 KMS 密钥,方法为计划其删除并等到宽限期结束。删除 Amazon CloudHSM 密钥存储会从 Amazon KMS 中移除资源,但不会影响您的 Amazon CloudHSM 集群。

Amazon CloudHSM 集群

每个 Amazon CloudHSM 密钥存储均与一个 Amazon CloudHSM 集群关联。当您在 Amazon CloudHSM 密钥存储中创建 Amazon KMS key 时,Amazon KMS 将在关联的集群中创建其密钥材料。当您在 Amazon CloudHSM 密钥存储中使用 KMS 密钥时,将在关联的集群中执行加密操作。

每个 Amazon CloudHSM 集群只能与一个 Amazon CloudHSM 密钥存储关联。您选择的集群无法与另一个 Amazon CloudHSM 密钥存储关联或无法和与其他 Amazon CloudHSM 密钥存储关联的集群共享备份历史记录。集群必须初始化且处于活动状态,并且必须与 Amazon CloudHSM 密钥存储位于相同的 Amazon Web Services 账户 和区域中。您可以创建新集群或使用现有集群。Amazon KMS 不需要集群的专用权。要在 Amazon CloudHSM 密钥存储中创建 KMS 密钥,其关联的集群必须包含至少两个活动 HSM。所有其他操作都只需要一个 HSM。

您在创建 Amazon CloudHSM 密钥存储时指定 Amazon CloudHSM 集群,并且无法更改它。但是,您可以替换与原始集群共享备份历史记录的任何集群。这样,您就可以删除该集群(如有必要),然后将它替换为从其备份之一创建的集群。您可以完全控制关联的 Amazon CloudHSM 集群,从而能管理用户和密钥、创建和删除 HSM 以及使用和管理备份。

当您准备好使用 Amazon CloudHSM 密钥存储时,您可以将其连接到关联的 Amazon CloudHSM 集群。您可以随时连接和断开自定义密钥存储。连接自定义密钥存储后,您可以创建和使用其 KMS 密钥。断开密钥存储后,您可以查看和管理 Amazon CloudHSM 密钥存储及其 KMS 密钥。但您无法创建新 KMS 密钥或在 Amazon CloudHSM 密钥存储中使用 KMS 密钥以进行加密操作。

kmsuser 加密用户

为了代表您创建和管理关联的 Amazon CloudHSM 集群中的密钥材料,Amazon KMS 在名为 kmsuser 的集群中使用专用的 Amazon CloudHSM 加密用户 (CU)。kmsuser CU 是一个标准 CU 账户,它将自动同步到集群中的所有 HSM 并保存在集群备份中。

在创建 Amazon CloudHSM 密钥存储之前,您在 cloudhsm_mgmt_util 中使用 createUser 命令在您的 Amazon CloudHSM 集群中创建 kmsuser CU 账户。然后,当您创建 Amazon CloudHSM 密钥存储时,您向 Amazon KMS 提供 kmsuser 账户密码。当您连接自定义密钥存储时,Amazon KMS 将以 kmsuser CU 身份登录到集群并轮换其密码。Amazon KMS 会在安全存储之前对您的 kmsuser 密码进行加密。轮换密码时,新密码也会以相同的方式加密和存储。

只要 Amazon CloudHSM 密钥存储处于连接状态,Amazon KMS 将保持以 kmsuser 身份登录。您不应将此 CU 账户用于其他目的。但是,您保留对 kmsuser CU 账户的最终控制权。您可以随时查找 kmsuser 拥有的密钥的密钥句柄。必要时,您可以断开自定义密钥存储,更改 kmsuser 密码,以 kmsuser 身份登录到集群并查看和管理 kmsuser 拥有的密钥。

有关创建 kmsuser CU 账户的说明,请参阅创建 kmsuser 加密用户

在 Amazon CloudHSM 密钥存储中的 KMS 密钥

您可以使用 Amazon KMS 或 Amazon KMS API 在 Amazon CloudHSM 密钥存储中创建 Amazon KMS keys。您将使用对任何 KMS 密钥使用的同一方法。唯一的区别在于您必须标识 Amazon CloudHSM 密钥存储并指定密钥材料的源是 Amazon CloudHSM 集群。

当您在 Amazon CloudHSM 密钥存储中创建一个 KMS 密钥时,Amazon KMS 将在 Amazon KMS 中创建 KMS 密钥,并在其关联集群中生成 256 位、持久且不可导出的高级加密标准(AES)对称密钥材料。在加密操作中使用 Amazon KMS 密钥时,该操作将在 Amazon CloudHSM 集群中使用基于集群的 AES 密钥执行。尽管 Amazon CloudHSM 支持不同类型的对称和非对称密钥,但 Amazon CloudHSM 密钥存储仅支持 AES 对称加密密钥。

您可以在 Amazon KMS 控制台中查看 Amazon CloudHSM 密钥存储中的 KMS 密钥,并使用控制台选项显示自定义密钥存储 ID。您还可以使用该DescribeKey操作来查找Amazon CloudHSM密钥库 ID 和Amazon CloudHSM集群 ID。

Amazon CloudHSM 密钥存储中的 KMS 密钥与 Amazon KMS 中的任何 KMS 密钥的工作方式相同。授权用户需要相同的权限来使用和管理 KMS 密钥。您可使用相同的控制台过程和 API 操作来查看和管理 Amazon CloudHSM 密钥存储中的 KMS 密钥。这包括启用和禁用 KMS 密钥、创建和使用标签和别名以及设置和更改 IAM 和密钥策略。您可以使用 Amazon CloudHSM 密钥存储中的 KMS 密钥进行加密操作,并将它们与支持使用客户托管密钥的集成 Amazon 服务结合使用。但是,您不能启用自动密钥轮换或者将密钥材料导入 Amazon CloudHSM 密钥存储中的 KMS 密钥。

您还可以将相同的过程用于 Amazon CloudHSM 密钥存储中的 KMS 密钥的计划删除。在等待期限结束后,Amazon KMS 将从 KMS 中删除 KMS 密钥。然后,它将尽可能从关联的 Amazon CloudHSM 集群中删除 KMS 密钥的密钥材料。但是,您可能需要从集群及其备份中手动删除孤立密钥材料