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

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

的身份和访问管理 AWS CloudHSM

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

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

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

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

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

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

使用 IAM policy 授予权限

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

IAM 策略是包含一个或多个语句的 JSON 文档。每个语句的结构如下例所示。

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

  • 操作操作是对其授予或拒绝权限的特定 API 操作。有关指定 操作的更多信息,请参阅适用于 API 的操作 AWS CloudHSM

  • 资源-受操作影响的资源。 AWS CloudHSM 不支持资源级权限。必须使用* 通配符来指定所有 AWS CloudHSM 资源。

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

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

适用于 API 的操作 AWS CloudHSM

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

"Action": "cloudhsm:DescribeClusters"

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

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

您也可以使用 * 通配符指定多项操作。以下示例指定了以开头 AWS CloudHSM 的所有 API 操作名称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

我们建议您为其创建仅 AWS CloudHSM 包含运行所需权限的 IAM 管理员组 AWS CloudHSM。将具有适当权限的策略附加到此组。根据需要向组添加 IAM 用户。添加的每个用户将继承管理员组的策略。

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

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

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

示例:只读权限

此策略允许访问 DescribeClustersDescribeBackups API 操作。它还包括特定 Amazon EC2 API 操作的其他权限。它不允许用户删除集群或 HSM。

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

此策略允许访问一部分 AWS CloudHSM API 操作。它还包括特定 Amazon EC2 操作的其他权限。它不允许用户删除集群或 HSM。您必须包括 AWS CloudHSM 允许在您的账户中自动创建AWSServiceRoleForCloudHSM服务相关角色的iam:CreateServiceLinkedRole操作。此角色 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 操作,包括删除 HSM 和集群的操作。它还包括特定 Amazon EC2 操作的其他权限。您必须包括 AWS CloudHSM 允许在您的账户中自动创建AWSServiceRoleForCloudHSM服务相关角色的iam:CreateServiceLinkedRole操作。此角色 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":"*" } }