本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制对 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服务相关角色。此策略向该角色授予以下权限:
-
cloudhsm: describe* — 检测连接到您的自定义密钥存储Amazon CloudHSM库的集群中的更改。
-
ec2: CreateSecurityGroup — 在连接Amazon CloudHSM密钥存储库以创建安全组时使用,该组允许Amazon CloudHSM集群Amazon KMS之间的网络流量流动。
-
ec2: AuthorizeSecurityGroupIngress — 当您连接Amazon CloudHSM密钥存储以允许网络访问包含您的Amazon CloudHSM集群的 VPC 时使用。Amazon KMS
-
ec2: CreateNetworkInterface — 在连接Amazon CloudHSM密钥库以创建用于Amazon CloudHSM集群Amazon KMS之间通信的网络接口时使用。
-
ec2: RevokeSecurityGroupEgress — 当您连接Amazon CloudHSM密钥存储库以从Amazon KMS创建的安全组中删除所有出站规则时使用。
-
ec2: DeleteSecurityGroup — 用于断开Amazon CloudHSM密钥存储的连接,以删除连接Amazon CloudHSM密钥库时创建的安全组。
-
ec2: DescribeSecurityGroups — 用于监控在包含您的Amazon CloudHSM集群的 VPC 中Amazon KMS创建的安全组中的更改,以便在出现故障时Amazon KMS可以提供清晰的错误消息。
-
ec2: DescribeVpcs — 用于监控包含您的Amazon CloudHSM集群的 VPC 中的更改,Amazon KMS以便在出现故障时提供清晰的错误消息。
-
ec2: DescribeNetworkAcls — 用于监控包含您的Amazon CloudHSM集群的 VPC 的网络 ACL 的变化,Amazon KMS以便在出现故障时提供清晰的错误消息。
-
ec2: DescribeNetworkInterfaces — 用于监控在包含您的Amazon CloudHSM集群的 VPC 中Amazon KMS创建的网络接口的变化,以便在出现故障时Amazon KMS可以提供清晰的错误消息。
{ "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 Quotas 和 Amazon 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密钥存储,否则不要代入该角色或使用其权限。