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

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

Amazon CloudHSM 密钥存储

Amazon CloudHSM 密钥存储是由 Amazon CloudHSM 集群支持的自定义密钥存储。当您在自定义密钥存储中创建 Amazon KMS key 时,Amazon KMS 将在您拥有并管理的 Amazon CloudHSM 集群中为 KMS 密钥生成并存储不可提取的密钥材料。在自定义密钥存储中使用 KMS 密钥时,会在集群中的 HSM 中执行加密操作。此功能在您的 Amazon Web Services 账户 中将 Amazon KMS 的便利性和广泛集成与 Amazon CloudHSM 集群的更多控制相结合。

Amazon KMS 提供了完整的控制台和 API 支持,以创建、使用和管理您的自定义密钥存储。在自定义密钥存储中使用 KMS 密钥的方式,与使用任何 KMS 密钥相同。例如,您可以使用 KMS 密钥生成数据密钥和加密数据。您还可以将自定义密钥存储中的 KMS 密钥与支持客户托管密钥的 Amazon 服务一起使用。

我是否需要自定义密钥存储?

对于大多数用户,默认 Amazon KMS 密钥存储(受 FIPS 140-2 验证的加密模块保护)满足其安全要求。无需添加额外的维护责任层或额外服务的依赖项。

但是,如果您的组织具有以下任何要求,则可能要考虑创建自定义密钥存储:

  • 在单租户 HSM 或您可以直接控制的 HSM 中,您有明确要求保护的密钥。

  • 您需要能够立即从 Amazon KMS 中移除密钥材料。

  • 您需要能够独立于 Amazon KMS 或 Amazon CloudTrail 审计密钥的所有使用情况。

自定义密钥存储如何工作?

每个自定义密钥存储均与您的 Amazon Web Services 账户 中的一个 Amazon CloudHSM 集群关联。在将自定义密钥存储连接到其集群时,Amazon KMS 将创建网络基础设施来支持连接。然后使用集群中的专用加密用户的凭证登录到集群中的密钥 Amazon CloudHSM 客户端。

在 Amazon KMS 中创建和管理自定义密钥存储,而在 Amazon CloudHSM 中创建和管理 HSM 集群。当您在 Amazon KMS 自定义密钥存储中创建 Amazon KMS keys 时,您可以在 Amazon KMS 中查看和管理 KMS 密钥。但是,您还可以在 Amazon CloudHSM 中查看和管理其密钥材料,就像您对集群中的其他密钥执行该操作一样。

在自定义密钥存储中管理 KMS 密钥

您可以使用您的自定义密钥存储中的 Amazon KMS 生成的密钥材料创建对称加密 KMS 密钥。然后,使用用于 Amazon KMS 密钥存储中的 KMS 密钥的相同方法来查看和管理自定义密钥存储中的 KMS 密钥。您可以使用 IAM 和密钥策略控制访问,创建标签和别名,启用和禁用 KMS 密钥,以及计划密钥删除。您可以使用 KMS 密钥执行加密操作并将其与 Amazon 服务(已与 Amazon KMS 集成)一起使用。

此外,您可以完全控制 Amazon CloudHSM 集群,包括创建和删除 HSM 以及管理备份。您可以使用 Amazon CloudHSM 客户端和支持的软件库来查看、审计和管理 KMS 密钥的密钥材料。在自定义密钥存储断开后,Amazon KMS 无法访问它,并且用户无法使用自定义密钥存储中的 KMS 密钥执行加密操作。增加的控制层使自定义密钥存储成为需要它的组织的强大解决方案。

从何处开始?

要创建和管理 Amazon CloudHSM 密钥存储,请使用 Amazon KMS 和 Amazon CloudHSM 的功能。

  1. 在 Amazon CloudHSM 中开始。创建活动 Amazon CloudHSM 集群或选择现有集群。集群必须在不同的可用区中具有至少两个活动 HSM。然后,在该集群中为 Amazon KMS 创建一个专用加密用户 (CU) 账户

  2. 在 Amazon KMS 中,创建一个自定义密钥存储(与选定的 Amazon CloudHSM 集群关联)。Amazon KMS 提供一个完整的管理界面,使您能够创建、查看、编辑和删除您的自定义密钥存储。

  3. 在准备好使用您的自定义密钥存储后,将它连接到其关联的 Amazon CloudHSM 集群。Amazon KMS 创建其所需的网络基础设施来支持连接。之后,它将使用专用加密用户账户凭证登录集群,以便它可以在集群中生成和管理密钥材料。

  4. 现在,您可以在自定义密钥存储中创建对称加密 KMS 密钥。在创建 KMS 密钥时指定自定义密钥存储。

如果您在任何时候遇到困难,都可以在对自定义密钥存储进行故障排除主题中查找帮助。如果您的问题未得到解答,请使用本指南的每页底部的反馈链接或在 Amazon Key Management Service 开发论坛上发布问题。

配额

Amazon KMS 允许每个 Amazon Web Services 账户 和区域中存在多达 10 个自定义密钥存储,包括 Amazon CloudHSM 密钥存储外部密钥存储,无论这些密钥存储的连接状态如何。此外,在 Amazon CloudHSM 密钥存储中使用 KMS 密钥 存在 Amazon KMS 请求限额。

定价

有关自定义密钥存储中的 Amazon KMS 自定义密钥存储和客户托管密钥的成本的信息,请参阅 Amazon Key Management Service 定价。有关 Amazon CloudHSM 集群和 HSM 的成本的信息,请参阅 Amazon CloudHSM 定价

区域

Amazon KMS 在所有支持 Amazon KMS 的 Amazon Web Services 区域 中均支持 Amazon CloudHSM 密钥存储,亚太地区(墨尔本)、中国(北京)、中国(宁夏)和欧洲(西班牙)除外。

不支持的功能

Amazon KMS 在自定义密钥存储中不支持以下功能。

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 CLI 中使用 user create 命令在您的 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 密钥的密钥材料。但是,您可能需要从集群及其备份中手动删除孤立密钥材料