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

Amazon S3 文件网关文档已移至什么是 Amazon S3 文件网关

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

为 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 资源名称 (ARN) 和Amazon服务命名空间中的Amazon一般参考.

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

     

  • 第二个语句授予执行 ec2:DescribeSnapshotsec2:DeleteSnapshot 操作的权限。这些 Amazon S3 操作需要具有权限才能执行这些 Amazon S3 操作,因为从存 Storage Gateway 生成的快照存储在 Amazon S3 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 S3 快照将作为 Amazon EC2 资源进行管理。

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

AmazonStorage Gateway 的托管策略

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

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

  • AWSS 存储网关只读访问— 授予对的只读访问权限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) 上的 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 或AmazonSDK 访问网关。但是,如果用户打算使用 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软件开发工具包访问卷。但是,如果此用户要使用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如果您计划描述快照,则需要执行此操作。

{ "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 或AmazonSDK 访问网关。但是,如果此用户计划使用Storage Gateway控制台时,您必须授予中所述的其他权限示例 3:允许访问特定网关.