本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon RAM 如何与 IAM 协同工作
默认情况下,IAM 委托人没有创建或修改Amazon RAM资源的权限。要允许 IAM 委托人创建或修改资源和执行任务,您可以执行以下步骤之一。这些操作授予使用特定资源和 API 操作的权限。
要提供访问权限,请为您的用户、组或角色添加权限:
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中为第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
Amazon RAM提供了多种Amazon托管策略,您可以使用这些策略来满足许多用户的需求。有关这些规则组的更多信息,请参阅 Amazon适用于 Amazon RAM 的托管策略。
如果您需要更好地控制授予用户的权限,可以在 IAM 控制台中创建自己的策略。有关创建策略并将其附加到您的 IAM 角色和用户的信息,请参阅Amazon Identity and Access Management用户指南中的 IAM 中的策略和权限。
以下部分提供了构建 IAM 权限策略的Amazon RAM具体细节。
策略结构
IAM 权限策略是一个 JSON 文档,包含以下语句:效果、操作、资源和条件。IAM 策略语句语句采用以下形式。
{ "Statement":[{ "Effect":"<effect>", "Action":"<action>", "Resource":"<arn>", "Condition":{ "<comparison-operator>":{ "<key>":"<value>" } } }] }
效果
效果声明表明策略是允许还是拒绝委托人执行某项操作的权限。可能的值包括:Allow
和Deny
。
操作
操作语句指定了策略允许或拒绝权限的Amazon RAM API 操作。有关允许操作的完整列表,请参阅 IAM 用户指南Amazon Resource Access Manager中定义的操作。
资源
资源语句指定了受策略影响的Amazon RAM资源。要在语句语句语句语句语句语句语句语语句语句语句语句语句语句语句语句语句语句语句语句语句 有关允许资源的完整列表,请参阅 IAM 用户指南Amazon Resource Access Manager中定义的资源。
条件
条件语句是可选的。它们可以用来进一步细化该策略语句的适用条件。 Amazon RAM支持以下条件键:
-
aws:RequestTag/${TagKey}
— 测试服务请求是否包含具有指定标签键的标签是否存在且具有指定值。 -
aws:ResourceTag/${TagKey}
— 测试服务请求所处理的资源是否附加了带有您在策略中指定的标签密钥的标签。以下示例条件检查服务请求中引用的资源是否附加了密钥名为 “Owner” 且值为 “Dev Team” 的标签。
"Condition" : { "StringEquals" : { "aws:ResourceTag/Owner" : "Dev Team" } }
-
aws:TagKeys
— 指定必须用于创建或标记资源共享的标签键。 -
ram:AllowsExternalPrincipals
— 测试服务请求中的资源共享是否允许与外部主体共享。外部校长是您组织Amazon Web Services 账户外部的Amazon 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 号是否与您在策略中指定的字符串相匹配。