控制对 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》中的 Identity and access management for 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 KMS

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudhsm:Describe*", "ec2:CreateNetworkInterface", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:DeleteSecurityGroup", "ec2:DescribeVpcs", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" } ] }

由于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 Web Services 区域的地方Amazon KMSAmazon CloudHSM都受支持。有关每项服务支持的 Amazon Web Services 区域 的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon Key Management Service Endpoints and QuotasAmazon CloudHSM endpoints and quotas

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

创建服务相关角色

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

编辑服务相关角色描述

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

删除服务相关角色

Amazon KMSAmazon Web Services 账户即使您已经删除了所有Amazon CloudHSM密钥库,也不会从中删除AWSServiceRoleForKeyManagementServiceCustomKeyStores服务相关角色。尽管目前没有删除AWSServiceRoleForKeyManagementServiceCustomKeyStores服务相关角色的程序,Amazon KMS但除非您有有效的Amazon CloudHSM密钥存储,否则不要代入该角色或使用其权限。