本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何AWS RAM与 IAM 配合使用
默认情况下,IAM 委托人无权创建或修改AWS RAM资源。要允许 IAM 主体创建或修改资源和执行任务,需执行以下一个步骤。这些操作授予使用特定资源和 API 操作的权限。
要提供访问权限,请为您的用户、组或角色添加权限:
-
中的用户和群组AWS IAM Identity Center:
创建权限集合。按照《AWS IAM Identity Center用户指南》中创建权限集的说明进行操作。
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中针对第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
AWS RAM提供了多种AWS托管策略,您可以使用这些策略来满足许多用户的需求。有关这些规则组的更多信息,请参阅 AWS的托管策略AWS RAM。
如果您需要对授予用户的权限进行更精细的控制,可以在 IAM 控制台中创建自己的策略。有关创建策略并将其附加到 IAM 角色和用户的信息,请参阅《AWS Identity and Access Management用户指南》中的 IAM 中的策略和权限。
以下各节提供了构建 IAM 权限策略的AWS RAM具体细节。
策略结构
IAM 权限策略是一个 JSON 文档,其中包含以下语句:Effect、Action、Resource 和 Condition。IAM 策略通常采用以下形式。
{ "Statement":[{ "Effect":"<effect>", "Action":"<action>", "Resource":"<arn>", "Condition":{ "<comparison-operator>":{ "<key>":"<value>" } } }] }
效果
Effect 语句指定策略是允许还是拒绝主体执行操作的权限。可能的值包括:Allow 和 Deny。
Action
Acti on 语句指定了策略允许或拒绝权限的AWS RAM API 操作。有关所允许操作的完整列表,请参阅《IAM 用户指南》中的 AWS Resource Access Manager定义的操作。
资源
R esou rce 语句指定了受策略影响的AWS RAM资源。要在语句中指定资源,您需要使用其唯一的 Amazon 资源名称(ARN)。有关所允许操作的完整列表,请参阅《IAM 用户指南》中的 AWS Resource Access Manager定义的资源。
条件
Condition 语句是可选语句。它们可以用来进一步完善政策的适用条件。AWS RAM支持以下条件键:
-
aws:RequestTag/${TagKey}- 测试服务请求是否包含具有指定标签键的标签并具有指定值。 -
aws:ResourceTag/${TagKey}- 测试服务请求处理的资源是否附加了标签(其中包含您在策略中指定的标签键)。以下示例条件检查服务请求中引用的资源是否附加键名称为“Owner”、值为“Dev Team”的标签。
"Condition" : { "StringEquals" : { "aws:ResourceTag/Owner" : "Dev Team" } } -
aws:TagKeys- 指定在创建或标记资源共享时必须使用的标签键。 -
ram:AllowsExternalPrincipals- 测试服务请求中的资源共享是否允许与外部主体共享。外部委托人是指您的组织AWS 账户外部AWS Organizations。如果其评估结果为False,则您只能与同一组织中的账户共享此资源共享。 -
ram:PermissionArn- 测试在服务请求中指定的权限 ARN 是否与您在策略中指定的 ARN 字符串相匹配。 -
ram:PermissionResourceType- 测试在服务请求中指定的权限是否对您在策略中指定的资源类型有效。使用可共享资源类型列表中显示的格式指定资源类型。 -
ram:Principal- 测试在服务请求中指定的主体 ARN 是否与您在策略中指定的 ARN 字符串相匹配。 -
ram:RequestedAllowsExternalPrincipals- 测试服务请求是否包含allowExternalPrincipals参数以及其参数是否与您在策略中指定的值相匹配。 -
ram:RequestedResourceType- 测试正在处理的资源的资源类型是否与您在策略中指定的资源类型字符串相匹配。使用可共享资源类型列表中显示的格式指定资源类型。 -
ram:ResourceArn- 测试服务请求正在处理的资源的 ARN 是否与您在策略中指定的 ARN 相匹配。 -
ram:ResourceShareName- 测试服务请求正在处理的资源共享的名称是否与您在策略中指定的字符串相匹配。 -
ram:ShareOwnerAccountId- 测试服务请求正在处理的资源共享的账户 ID 编号是否与您在策略中指定的字符串相匹配。