的身份和访问管理 AWS CloudHSM - AWS CloudHSM

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

的身份和访问管理 AWS CloudHSM

AWS使用安全证书来识别您的身份并授予您访问AWS资源的权限。你可以使用以下功能 AWS Identity and Access Management (IAM) 允许其他用户、服务和应用程序完全或以有限的方式使用您的AWS资源。您可以在不共享安全凭证的情况下执行此操作。

默认情况下,IAM用户无权创建、查看或修改AWS资源。要允许IAM用户访问诸如负载均衡器之类的资源并执行任务,您可以:

  1. 创建一项IAM策略,授予IAM用户使用他们所需的特定资源和API操作的权限。

  2. 将策略附加到IAM用户或该IAM用户所属的群组。

在将策略附加到一个用户或一组用户时,它会授权或拒绝用户使用指定资源执行指定任务。

例如,您可以使用IAM在您的AWS账户下创建用户和群组。IAM用户可以是个人、系统或应用程序。然后,您可以使用IAM策略向用户和组授予对指定资源执行特定操作的权限。

使用 IAM 策略授予权限

在将策略附加到一个用户或一组用户时,它会授权或拒绝用户使用指定资源执行指定任务。

IAM策略是由一个或多个声明组成的JSON文档。每个语句的结构如下例所示。

{ "Version": "2012-10-17", "Statement":[{ "Effect": "effect", "Action": "action", "Resource": "resource-arn", "Condition": { "condition": { "key":"value" } } }] }
  • 效果 - 效果可以是 AllowDeny。默认情况下,IAM用户无权使用资源和API操作,因此所有请求都将被拒绝。显式允许将覆盖默认规则。显式拒绝将覆盖任何允许。

  • 操作-操作是您授予或拒绝权限的特定API操作。有关指定 action(操作)的更多信息,请参阅API的行动 AWS CloudHSM

  • Resource(资源):受操作影响的资源。 AWS CloudHSM 不支持资源级权限。必须使用* 通配符指定全部 AWS CloudHSM 资源的费用。

  • 条件—— 您可以选择性地使用条件来控制策略的生效时间。有关更多信息,请参阅 的条件键 AWS CloudHSM

有关更多信息,请参阅《IAM用户指南》

API的行动 AWS CloudHSM

在IAM策略声明的操作元素中,您可以指定任何符合以下条件的API操作 AWS CloudHSM 优惠。如以下示例所示,您必须使用小写形式的字符串 cloudhsm: 作为操作名称的前缀。

"Action": "cloudhsm:DescribeClusters"

要在单个语句中指定多项操作,请使用方括号将操作括起来并以逗号分隔,如以下示例所示。

"Action": [ "cloudhsm:DescribeClusters", "cloudhsm:DescribeHsm" ]

您也可以使用 * 通配符指定多项操作。以下示例指定了的所有API操作名称 AWS CloudHSM 那一开始就是List

"Action": "cloudhsm:List*"

为以下各项指定所有API操作 AWS CloudHSM,使用* 通配符,如以下示例所示。

"Action": "cloudhsm:*"

有关API操作的列表 AWS CloudHSM,请参阅 AWS CloudHSM 行动

的条件键 AWS CloudHSM

在创建策略时,您可指定控制策略生效时间的条件。每个条件都包含一个或多个键值对。有全局条件键和特定于服务的条件键。

AWS CloudHSM 没有特定于服务的上下文密钥。

有关全局条件键的更多信息,请参阅IAM用户指南中的AWS全局条件上下文密钥

的预定义AWS托管策略 AWS CloudHSM

通过AWS授予常见用例所需的权限创建的托管策略。您可以根据IAM用户的访问权限将这些策略附加到您的用户 AWS CloudHSM 他们需要:

  • AWSCloudHSMFullAccess— 授予使用所需的完全访问权限 AWS CloudHSM 特征。

  • AWSCloudHSMReadOnlyAccess— 授予对的只读访问权限 AWS CloudHSM 特征。

客户管理的政策 AWS CloudHSM

我们建议您为创建IAM管理员组 AWS CloudHSM 只包含运行所需的权限 AWS CloudHSM。 将具有相应权限的策略附加到该群组。根据需要将IAM用户添加到群组。添加的每个用户将继承管理员组的策略。

此外,我们建议您根据用户所需的权限来创建其他用户组。这样可以确保只有受信任的用户才能访问关键API操作。例如,您可以创建一个用户组,用于向集群和授予只读访问权限HSMs。由于该组不允许用户删除集群HSMs,或者,不受信任的用户不能影响生产工作负载的可用性。

像新的一样 AWS CloudHSM 管理功能会随着时间的推移而增加,您可以确保只有受信任的用户才能立即获得访问权限。通过在创建时将有限权限分配给策略,您可以在以后手动为它们分配新的功能权限。

以下是以下政策的示例 AWS CloudHSM。 有关如何创建策略并将其附加到IAM用户组的信息,请参阅《IAM用户指南》JSON中的 “在选项卡上创建策略”。

示例:只读权限

此策略允许访问DescribeClustersDescribeBackupsAPI操作。它还包括针对特定 Amazon EC2 API 操作的额外权限。它不允许用户删除集群或HSMs。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "cloudhsm:DescribeClusters", "cloudhsm:DescribeBackups", "cloudhsm:ListTags" ], "Resource": "*" } }
示例:高级用户权限

此策略允许访问其中的一个子集 AWS CloudHSM API行动。它还包括针对特定 Amazon EC2 操作的额外权限。它不允许用户删除集群或HSMs。您必须包括允许的iam:CreateServiceLinkedRole操作 AWS CloudHSM 在您的账户中自动创建AWSServiceRoleForCloudHSM服务相关角色。这个角色允许 AWS CloudHSM 记录事件。有关更多信息,请参阅 的服务相关角色 AWS CloudHSM

注意

要查看每种权限的具体权限API,请参阅操作、资源和条件键 AWS CloudHSM在《服务授权参考》中。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "cloudhsm:DescribeClusters", "cloudhsm:DescribeBackups", "cloudhsm:CreateCluster", "cloudhsm:CreateHsm", "cloudhsm:RestoreBackup", "cloudhsm:CopyBackupToRegion", "cloudhsm:InitializeCluster", "cloudhsm:ListTags", "cloudhsm:TagResource", "cloudhsm:UntagResource", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DetachNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroups", "ec2:DeleteSecurityGroup", "ec2:CreateTags", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "iam:CreateServiceLinkedRole" ], "Resource": "*" } }
示例:管理员权限

此政策允许所有人访问 AWS CloudHSM API操作,包括要删除的操作HSMs和群集。它还包括针对特定 Amazon EC2 操作的额外权限。您必须包括允许的iam:CreateServiceLinkedRole操作 AWS CloudHSM 在您的账户中自动创建AWSServiceRoleForCloudHSM服务相关角色。这个角色允许 AWS CloudHSM 记录事件。有关更多信息,请参阅 的服务相关角色 AWS CloudHSM

{ "Version":"2012-10-17", "Statement":{ "Effect":"Allow", "Action":[ "cloudhsm:*", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DetachNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroups", "ec2:DeleteSecurityGroup", "ec2:CreateTags", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "iam:CreateServiceLinkedRole" ], "Resource":"*" } }