本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Storage Gateway 访问权限管理概述
每个 AWS 资源都归某个 AWS 账户所有,创建和访问资源的权限由权限策略进行管理。账户管理员可以向 IAM 身份(即:用户、组和角色)附加权限策略,某些服务(如 AWS Lambda)也支持向资源附加权限策略。
账户管理员 (或管理员用户) 是具有管理员权限的用户。有关更多信息,请参阅IAM 用户指南 中的 IAM 最佳实践。
在授予权限时,您要决定谁获得权限,获得对哪些资源的权限,以及您允许对这些资源执行的具体操作。
AWS Storage Gateway 的资源和操作
在 AWS Storage Gateway 中,主要资源为网关。Storage Gateway 还支持以下其他资源类型:文件共享、卷、虚拟磁带、iSCSI 目标和虚拟磁带库 (VTL) 设备。这些称为子资源,除非它们与网关关联,否则视为不存在。
这些资源和子资源具有与其关联的唯一 Amazon 资源名称 (ARN),如下表所示。
资源类型 | ARN 格式 |
---|---|
网关 ARN |
|
文件共享 ARN |
|
卷 ARN |
|
磁带 ARN |
|
目标 ARN (iSCSI 目标) |
|
VTL 设备 ARN |
|
Storage Gateway 资源 IDs 为大写。当您使用这些资源时, IDs 与 Amazon EC2 API, Amazon EC2 期望资源 IDs 小写。您必须将资源
ID 更改为小写才能将其与 EC2 API 结合使用。例如,在 Storage Gateway 卷的ID可能是 vol-1122AABB
。当将此ID与EC2API一起使用时,必须将其更改为 vol-1122aabb
。否则,EC2API可能无法按预期运行。
ARNs 对于2015年9月2日之前激活的网关,包含网关名称,而不是网关ID。要获取网关的 ARN,请使用 DescribeGatewayInformation
API 操作。
为了授予执行特定 API 操作(如创建磁带)的权限,Storage Gateway 为您提供一组 API 操作以创建和管理这些资源和子资源。有关API操作的列表,请参阅 操作 在 AWS Storage Gateway API Reference.
为了授予执行特定 API 操作(如创建磁带)的权限,Storage Gateway 定义一组操作,您可以在权限策略中指定这些操作以授予执行特定 API 操作的权限。一个 API 操作可能需要执行多个操作的权限。有关显示所有 Storage Gateway API 操作及其适用的资源的表,请参阅 Storage Gateway API权限: 操作、资源和条件参考。
了解资源所有权
资源所有者 是创建资源的 AWS 账户。也就是说,资源所有者是委托人实体(根账户、IAM 用户或 IAM 角色)的 AWS 账户。以下示例说明了它的工作原理:
-
如果使用您的 AWS 账户的根账户凭证激活网关,则您的 AWS 账户是该资源的所有者(在 Storage Gateway 中,资源是网关)。
-
如果您在 AWS 账户中创建 IAM 用户并对该用户授予执行
ActivateGateway
操作的权限,则该用户可激活网关。但是,该用户所属的 AWS 账户拥有这些网关资源。 -
如果您在您的 AWS 账户中创建具有激活网关的权限的 IAM 角色,则能够代入该角色的任何人均可激活网关。角色所属的 AWS 账户拥有网关资源。
管理对资源的访问
权限策略 规定谁可以访问哪些内容。下一节介绍创建权限策略时的可用选项。
本节讨论如何在 Storage Gateway 范围内使用 IAM。这里不提供有关 IAM 服务的详细信息。有关完整的IAM文档,请参阅 什么是IAM 在 IAM用户指南。 有关IAM策略语法和描述的信息,请参阅 AWSIAM政策参考 在 IAM用户指南。
附加到 IAM 身份的策略称为基于身份的 策略(IAM 策略),而附加到资源的策略称为基于资源的 策略。Storage Gateway 仅支持基于身份的策略(IAM 策略)。
基于身份的策略(IAM 策略)
您可以向 IAM 身份挂载策略。例如,您可以执行以下操作:
-
将权限策略附加到您的账户中的用户或组 – 账户管理员可以使用与特定用户关联的权限策略,为该用户授予创建 Storage Gateway 资源(如网关、卷或磁带)的权限。
-
向角色附加权限策略(授予跨账户权限)– 您可以向 IAM 角色附加基于身份的权限策略,以授予跨账户的权限。例如,账户 A 中的管理员可以创建一个角色,以向其他 AWS 账户(如账户 B)或某项 AWS 服务授予跨账户权限,如下所述:
-
账户 A 管理员创建一个 IAM 角色,向该角色挂载授权其访问账户 A 中资源的权限策略。
-
账户 A 管理员可以向将账户 B 标识为能够代入该角色的委托人的角色附加信任策略。
-
之后,账户 B 管理员可以委托权限,指派账户 B 中的任何用户代入该角色。这样,账户 B 中的用户就可以创建或访问账户 A 中的资源了。如果您需要授予 AWS 服务权限来代入该角色,则信任策略中的委托人也可以是 AWS 服务委托人。
有关使用 IAM 委派权限的更多信息,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/access.html 中的IAM 用户指南访问权限管理。
-
以下示例策略授予对所有资源执行所有 List*
操作的权限。此操作是只读操作。因此,该策略不允许用户更改资源的状态。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllListActionsOnAllResources", "Effect": "Allow", "Action": [ "storagegateway:List*" ], "Resource": "*" } ] }
有关对 Storage Gateway使用基于身份的策略的更多信息,请参阅为 Storage Gateway 使用基于身份的策略(IAM 策略)。有关用户、组、角色和权限的更多信息,请参阅 身份(用户、组和角色) 在 IAM 用户指南.
基于资源的策略
其他服务(如 Amazon S3)也支持基于资源的权限策略。例如,您可以将基于资源的策略附加到 S3 存储桶以管理对该存储桶的访问权限。Storage Gateway 不支持基于资源的策略。
指定策略元素: 行动、影响、资源和负责人
对于每个 Storage Gateway 资源(请参阅 Storage Gateway API权限: 操作、资源和条件参考),该服务都定义了一组 API 操作(请参阅操作)。为了授予执行这些 API 操作的权限,Storage Gateway 定义了一组您可以在策略中指定的操作。例如,对于 Storage Gateway 网关资源,则定义以下操作:
ActivateGateway
, DeleteGateway
,和 DescribeGatewayInformation
。请注意,执行API操作可能需要多个操作的权限。
以下是最基本的策略元素:
-
Resource – 在策略中,您可以使用 Amazon 资源名称 (ARN) 标识策略应用到的资源。对于 Storage Gateway 资源,应始终在 IAM 策略中使用通配符
(*)
。有关更多信息,请参阅AWS Storage Gateway 的资源和操作。 -
操作 – 您可以使用操作关键字标识要允许或拒绝的资源操作。例如,根据指定的
Effect
,storagegateway:ActivateGateway
权限允许或拒绝执行 Storage GatewayActivateGateway
操作的用户权限。 -
Effect – 您可以指定当用户请求特定操作(可以是允许或拒绝)时的效果—。如果没有显式授予(允许)对资源的访问权限,则隐式拒绝访问。您也可显式拒绝对资源的访问,这样可确保用户无法访问该资源,即使有其他策略授予了访问权限的情况下也是如此。
-
Principal – 在基于身份的策略(IAM 策略)中,附加了策略的用户是隐式委托人。对于基于资源的策略,您可以指定要接收权限的用户、账户、服务或其他实体(仅适用于基于资源的策略)。Storage Gateway 不支持基于资源的策略。
有关 IAM 策略语法和说明的更多信息,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies.html 中的 IAM 用户指南AWS IAM 策略参考。
有关显示所有 Storage Gateway API 操作的表,请参阅 Storage Gateway API权限: 操作、资源和条件参考。
在策略中指定条件
当您授予权限时,可使用 IAM 策略语言指定一些条件,这些条件规定在授予权限时策略何时生效。例如,您可能希望策略仅在特定日期后应用。有关以策略语言指定条件的更多信息,请参阅 条件 在 IAM 用户指南.
要表示条件,您可以使用预定义的条件键。没有特定于 Storage Gateway 的条件密钥。但有 AWS 范围内的条件密钥,您可以根据需要使用。有关 AWS 范围内的键的完整列表,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys 中的IAM 用户指南可用键。