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

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

控制对 Amazon CloudHSM 密钥存储的访问

您可以使用 IAM policy 控制对 Amazon CloudHSM 密钥存储和 Amazon CloudHSM 集群的访问。您可以使用密钥策略、IAM policy 和授权来控制对 Amazon CloudHSM 密钥存储中的 Amazon KMS keys 的访问。我们建议您仅向用户、组和角色提供他们可能执行的任务所需的权限。

向 Amazon CloudHSM 密钥存储管理员和用户授权

在设计您的 Amazon CloudHSM 密钥存储时,请确保使用和管理它的主体仅具有其所需的权限。以下列表描述了 Amazon CloudHSM 密钥存储管理员和用户所需的最低权限。

  • 创建和管理 Amazon CloudHSM 密钥存储的主体需要以下权限才能使用 Amazon CloudHSM 密钥存储 API 操作。

    • cloudhsm:DescribeClusters

    • kms:CreateCustomKeyStore

    • kms:ConnectCustomKeyStore

    • kms:DeleteCustomKeyStore

    • kms:DescribeCustomKeyStores

    • kms:DisconnectCustomKeyStore

    • kms:UpdateCustomKeyStore

    • iam:CreateServiceLinkedRole

  • 创建和管理与您的 Amazon CloudHSM 密钥存储关联的 Amazon CloudHSM 集群的主体需要创建和初始化 Amazon CloudHSM 集群的权限。这包括创建或使用 Amazonn 虚拟私有云(VPC)、创建子网和创建 Amazon EC2 实例所需的权限。他们可能还需要创建和删除 HSM 以及管理备份。有关所需权限的列表,请参阅 Amazon CloudHSM User Guide(《Amazon CloudHSM 用户指南》)中的 Identity and access management for Amazon CloudHSM(适用于 Amazon CloudHSM 的身份和访问管理)。

  • 在您的 Amazon CloudHSM 密钥存储中创建和管理 Amazon KMS keys 的主体需要具有与在 Amazon KMS 中创建和管理任何 KMS 密钥的人员相同的权限。Amazon CloudHSM 密钥存储中的 KMS 密钥的默认密钥策略与 Amazon KMS 中的 KMS 密钥的默认密钥策略相同。基于属性的访问权限控制(ABAC)使用标签和别名来控制对 KMS 密钥的访问,对 Amazon CloudHSM 密钥存储中的 KMS 密钥也有效。

  • 使用 Amazon CloudHSM 密钥存储中的 KMS 密钥进行加密操作的主体需要使用 KMS 密钥执行加密操作的权限,如 kms:Decrypt。您可以在密钥策略或 IAM policy 中提供这些权限。但是,他们无需任何额外权限即可在 Amazon CloudHSM 密钥存储中使用 KMS 密钥。

授权 Amazon KMS 管理 Amazon CloudHSM 和 Amazon EC2 资源

为了支持您的 Amazon CloudHSM 密钥存储,Amazon KMS 需要获取有关您的 Amazon CloudHSM 集群的信息的权限。它还需要创建将您的 Amazon CloudHSM 密钥存储连接到其 Amazon CloudHSM 集群的网络基础设施的权限。要获得这些权限,Amazon KMS 会在您的 Amazon Web Services 账户 中创建 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色。创建 Amazon CloudHSM 密钥存储的用户必须具有能让其创建服务相关角色的 iam:CreateServiceLinkedRole 权限。

关于 Amazon KMS 服务相关角色

服务相关角色是一种 IAM 角色,该角色可向一个 Amazon 服务提供代表您调用其他 Amazon 服务的权限。该角色旨在使您能够更轻松地使用多项集成式 Amazon 服务的功能,而无需创建和维护复杂的 IAM policy。

对于 Amazon CloudHSM 密钥存储,Amazon KMS 使用 AWSKeyManagementServiceCustomKeyStoresServiceRolePolicy 策略创建 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色。此策略向该角色授予以下权限:

由于 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色仅信任 cks.kms.amazonaws.com,所以只有 Amazon KMS 可以代入此服务相关角色。该角色受限于 Amazon KMS 查看您的 Amazon CloudHSM 集群并将 Amazon CloudHSM 密钥存储连接到其关联 Amazon CloudHSM 集群所需的操作。它不会向 Amazon KMS 提供任何额外权限。例如,Amazon KMS 无权创建、管理或删除您的 Amazon CloudHSM 集群、HSM 或备份。

区域

与 Amazon CloudHSM 密钥存储功能一样,AWSServiceRoleForKeyManagementServiceCustomKeyStores 角色在提供 Amazon KMS 和 Amazon CloudHSM 的所有 Amazon Web Services 区域 中受到支持。有关每项服务支持的 Amazon Web Services 区域 的列表,请参阅《Amazon Web Services一般参考》中的 Amazon Key Management Service 端点和限额Amazon CloudHSM 端点和限额

有关 Amazon 服务如何使用服务相关角色的更多信息,请参阅《IAM 用户指南》中的使用服务相关角色

创建服务相关角色

如果 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色尚不存在,当您创建 Amazon CloudHSM 密钥存储时,Amazon KMS 会在您的 Amazon Web Services 账户 中自动创建该角色。您无法直接创建或重新创建此服务相关角色。

编辑服务相关角色描述

您无法在 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色中编辑角色名称或策略语句,但可以编辑角色描述。有关说明,请参阅《IAM 用户指南》中的编辑服务相关角色

删除服务相关角色

即使您已经删除了所有 Amazon CloudHSM 密钥存储,Amazon KMS 也不会从您的 Amazon Web Services 账户 删除 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色。尽管目前没有删除 AWSServiceRoleForKeyManagementServiceCustomKeyStores 服务相关角色的过程,但是 Amazon KMS 不会代入此角色或使用其权限,除非您有活动的 Amazon CloudHSM 密钥存储。