对 Storage Gateway 使用基于身份的策略(IAM 策略) - AmazonStorage Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

对 Storage Gateway 使用基于身份的策略(IAM 策略)

本主题提供了基于身份的策略的示例,在这些策略中,账户管理员可以向 IAM 身份(即:用户、组和角色)附加权限策略。

重要

我们建议您首先阅读以下介绍性主题,这些主题讲解了管理对 Storage Gateway 资源的访问权限的基本概念和选项。有关更多信息,请参阅概述如何管理对 Storage Gateway 的访问。

本主题的各个部分涵盖以下内容:

下面介绍权限策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowsSpecifiedActionsOnAllGateways", "Effect": "Allow", "Action": [ "storagegateway:ActivateGateway", "storagegateway:ListGateways" ], "Resource": "*" }, { "Sid": "AllowsSpecifiedEC2ActionsOnAllGateways", "Effect": "Allow", "Action": [ "ec2:DescribeSnapshots", "ec2:DeleteSnapshot" ], "Resource": "*" } ] }

该策略包含两个语句 (请注意两个语句中的 ActionResource 元素):

  • 第一条语句授予两个 Storage Gateway 操作的权限(storagegateway:ActivateGatewaystoragegateway:ListGateways) 在网关资源上。

    通配符 (*) 表示此语句可匹配任何资源。在这种情况下,该语句允许storagegateway:ActivateGatewaystoragegateway:ListGateways任何网关上的操作。此处使用通配符是因为您在创建网关之前不知道资源 ID。有关如何在策略中使用通配符 (*) 的信息,请参阅示例 2:允许对网关进行只读访问

    注意

    ARN 唯一地标识Amazon资源的费用。有关更多信息,请参阅 Amazon 一般参考中的 Amazon Resource Name(ARN)和 Amazon 服务命名空间

    要将执行某个特定操作的权限限制为仅针对某个特定网关,请在策略中为该操作创建一个单独的语句并在该语句中指定网关 ID。

     

  • 第二个语句授予执行 ec2:DescribeSnapshotsec2:DeleteSnapshot 操作的权限。需要具有权限才能执行这些 Amazon Elastic Compute Cloud (Amazon EC2) 操作,因为从 Storage Gateway 生成的快照存储在 Amazon Elastic Block Store (Amazon EBS) 中并作为 Amazon EC2 资源进行管理,因此,它们需要执行相应的 EC2 操作。有关更多信息,请参阅 。操作中的Amazon EC2 API 参考. 由于这些 Amazon EC2 操作不支持资源级权限,因此该策略将指定通配符 (*) 作为Resource值而不是指定网关 ARN。

有关显示所有 Storage Gateway API 操作及其适用于的资源的表,请参阅Storage Gateway API 权限:操作、资源和条件参考.

使用 Storage Gateway 控制台所需的权限

要使用 Storage Gateway 控制台,您需要授予只读权限。如果您计划描述快照,则还需要授予执行其他操作的权限,如以下权限策略中所示:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowsSpecifiedEC2ActionOnAllGateways", "Effect": "Allow", "Action": [ "ec2:DescribeSnapshots" ], "Resource": "*" } ] }

此额外权限之所以必需,因为从 Storage Gateway 生成的 Amazon EBS 快照将作为 Amazon EC2 资源进行管理。

要设置导航 Storage Gateway 控制台所需的最低权限,请参阅。示例 2:允许对网关进行只读访问.

AmazonStorage Gateway 的托管策略

Amazon Web Services 通过提供由创建和管理的独立 IAM 策略来满足许多常用案例的要求。Amazon. 托管策略可授予常用案例的必要权限,因此,您可以免去调查都需要哪些权限的工作。有关 的更多信息Amazon请参阅托管策略Amazon管理的策略中的IAM 用户指南.

以下Amazon托管策略(您可以将它们附加到您的账户中的用户)是特定于 Storage Gateway 的:

  • Amazon 存储网关只读访问权限— 授予对的只读访问权限Amazon Storage Gateway资源的费用。

  • Amazon 存储网关完全访问权限— 授予对的完全访问权限Amazon Storage Gateway资源的费用。

注意

您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些权限策略。

您还可以创建自定义 IAM 策略,以授予执行 Amazon Storage Gateway API 操作的相关权限。您可以将这些自定义策略附加到需要这些权限的 IAM 用户或组。

客户管理的策略示例

本节的用户策略示例介绍如何授予各 Storage Gateway 操作的权限。在使用时,可使用这些策略。Amazon开发工具包和Amazon CLI. 当您使用控制台时,您需要授予特定于控制台的其他权限,使用 Storage Gateway 控制台所需的权限中对此进行了讨论。

注意

所有示例都使用美国西部 (俄勒冈) 区域 (us-west-2) 并且包含虚构的账户 ID。

示例 1:允许所有网关上的任何 Storage Gateway 操作

以下策略允许用户执行所有 Storage Gateway 操作。该策略还允许用户执行 Amazon EC2 操作 (DescribeSnapshotsDeleteSnapshot) 在从 Storage Gateway 生成的 Amazon EBS 快照上。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowsAllAWSStorageGatewayActions", "Action": [ "storagegateway:*" ], "Effect": "Allow", "Resource": "*" }, {You can use Windows ACLs only with file shares that are enabled for Active Directory. "Sid": "AllowsSpecifiedEC2Actions", "Action": [ "ec2:DescribeSnapshots", "ec2:DeleteSnapshot" ], "Effect": "Allow", "Resource": "*" } ] }

示例 2:允许对网关进行只读访问

以下策略允许对全部资源的 List*Describe* 操作。请注意这些操作是只读操作。因此,该策略不允许用户更改任何资源的状态,也就是说,该策略不允许用户执行以下操作:DeleteGatewayActivateGateway, 和ShutdownGateway.

该策略还允许 DescribeSnapshots Amazon EC2 操作。有关更多信息,请参阅 。DescribeSnapshots中的Amazon EC2 API 参考.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadOnlyAccessToAllGateways", "Action": [ "storagegateway:List*", "storagegateway:Describe*" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "AllowsUserToDescribeSnapshotsOnAllGateways", "Action": [ "ec2:DescribeSnapshots" ], "Effect": "Allow", "Resource": "*" } ] }

在上一策略中,除使用通配符 (*) 外,您也可以将该策略涵盖的资源范围限定到某个特定网关,如下例所示。然后,该策略将仅在该特定网关上允许这些操作。

"Resource": [ "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/", "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/*" ]

在网关内,您可以进一步将资源范围仅限制到网关卷,如下例所示:

"Resource": "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/volume/*"

示例 3:允许访问特定的网关

下面的策略允许对具体网关的所有操作。该用户对您可能已部署的其他网关的访问受限制。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadOnlyAccessToAllGateways", "Action": [ "storagegateway:List*", "storagegateway:Describe*" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "AllowsUserToDescribeSnapshotsOnAllGateways", "Action": [ "ec2:DescribeSnapshots" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "AllowsAllActionsOnSpecificGateway", "Action": [ "storagegateway:*" ], "Effect": "Allow", "Resource": [ "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/", "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/*" ] } ] }

如果策略关联的用户使用 API 或Amazon用于访问网关的 SDK。但是,如果用户要使用 Storage Gateway 控制台,则您还必须授予权限以允许ListGateways操作,如以下示例所示。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowsAllActionsOnSpecificGateway", "Action": [ "storagegateway:*" ], "Effect": "Allow", "Resource": [ "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/", "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/*" ] }, { "Sid": "AllowsUserToUseAWSConsole", "Action": [ "storagegateway:ListGateways" ], "Effect": "Allow", "Resource": "*" } ] }

示例 4:允许用户访问特定卷

以下策略允许用户对网关上的某个特定卷执行所有操作。由于用户在默认情况下没有任何权限,该策略会将用户限定为仅能访问某个特定的卷。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantsPermissionsToSpecificVolume", "Action": [ "storagegateway:*" ], "Effect": "Allow", "Resource": "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/volume/volume-id" }, { "Sid": "GrantsPermissionsToUseStorageGatewayConsole", "Action": [ "storagegateway:ListGateways" ], "Effect": "Allow", "Resource": "*" } ] }

如果策略关联的用户使用 API 或Amazon用于访问卷的 SDK。但是,如果此用户要使用Amazon Storage Gateway控制台,还必须授予权限才能允许ListGateways操作,如以下示例所示。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantsPermissionsToSpecificVolume", "Action": [ "storagegateway:*" ], "Effect": "Allow", "Resource": "arn:aws:storagegateway:us-west-2:123456789012:gateway/gateway-id/volume/volume-id" }, { "Sid": "GrantsPermissionsToUseStorageGatewayConsole", "Action": [ "storagegateway:ListGateways" ], "Effect": "Allow", "Resource": "*" } ] }

示例 5:允许对具有特定前缀的网关进行所有操作

以下策略允许用户对名称以开头的网关执行所有 Storage Gateway 操作。DeptX. 该策略还允许DescribeSnapshots如果您计划描述快照,则需要执行 Amazon EC2 操作。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowsActionsGatewayWithPrefixDeptX", "Action": [ "storagegateway:*" ], "Effect": "Allow", "Resource": "arn:aws:storagegateway:us-west-2:123456789012:gateway/DeptX" }, { "Sid": "GrantsPermissionsToSpecifiedAction", "Action": [ "ec2:DescribeSnapshots" ], "Effect": "Allow", "Resource": "*" } ] }

如果策略关联的用户使用 API 或Amazon用于访问网关的 SDK。但是,如果此用户计划使用Amazon Storage Gateway如所述,您必须授予其他权限。示例 3:允许访问特定的网关.