View a markdown version of this page

的服务控制策略示例 AWS Organizations and AWS RAM - AWS Resource Access Manager

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

的服务控制策略示例 AWS Organizations and AWS RAM

AWS RAM 支持服务控制策略 (SCP)。SCP 是您附加到组织中元素的策略,用于对该组织内的权限进行管理。SCP 适用于您附加 SC P 的元素 AWS 账户下的所有元素。SCP 为您组织中的所有账户提供对最大可用权限的集中控制。他们可以帮助您确保 AWS 账户 遵守组织的访问控制准则。有关更多信息,请参阅 AWS Organizations 用户指南中的服务控制策略。

先决条件

要使用 SCP,您必须先执行以下操作:

  • 启用组织中的所有功能。有关更多信息,请参阅《AWS Organizations 用户指南》中的启用组织中的所有功能。

  • 启用 SCP 以在您的组织内使用。有关更多信息,请参阅《AWS Organizations 用户指南》中的启用和禁用策略类型。

  • 创建您需要的 SCP。有关创建 SCP 的更多信息,请参阅《AWS Organizations 用户指南》中的创建和更新 SCP。

示例服务控制策略

以下示例展示如何能控制组织中资源共享的各个方面。

示例 1:阻止外部共享

以下 SCP 阻止用户创建允许与不属于共享用户所在组织的主体共享的资源共享。

AWS RAM 为调用中列出的每个主体和资源分别授权 API。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:CreateResourceShare", "ram:UpdateResourceShare" ], "Resource": "*", "Condition": { "Bool": { "ram:RequestedAllowsExternalPrincipals": "true" } } } ] }

示例 2:阻止用户接受来自组织外部账户的资源共享邀请

以下 SCP 阻止受影响账户中的任何主体接受使用资源共享的邀请。共享给与共享账户所在组织中的其他账户的资源共享不会生成邀请,因此不受此 SCP 的影响。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ram:AcceptResourceShareInvitation", "Resource": "*" } ] }

示例 3:允许特定账户共享特定资源类型

以下 SCP 仅 允许账户 111111111111 和 222222222222 创建共享 Amazon EC2 前缀列表的新资源共享,或将前缀列表与现有资源共享相关联。

AWS RAM 为调用中列出的每个主体和资源分别授权 API。

如果一个请求不包含资源类型参数或包含该参数,且其值与指定的资源类型完全匹配,则运算符 StringEqualsIfExists 允许该请求。如果要包含主体,您必须有 ...IfExists。

有关何时以及为何使用...IfExists运算符的更多信息,请参阅...IfExists IAM 用户指南中的条件运算符。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:AssociateResourceShare", "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalAccount": [ "111111111111", "222222222222" ] }, "StringEqualsIfExists": { "ram:RequestedResourceType": "ec2:PrefixList" } } } ] }

示例 4:阻止与整个组织或组织单位共享

以下 SCP 阻止用户创建与整个组织或任何组织单位共享资源的资源共享。用户可以与组织 AWS 账户 中的个人共享,也可以与 IAM 角色或用户共享。

AWS RAM 为调用中列出的每个主体和资源分别授权 API。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceShare" ], "Resource": "*", "Condition": { "StringLike": { "ram:Principal": [ "arn:aws:organizations::*:organization/*", "arn:aws:organizations::*:ou/*" ] } } } ] }

示例 5:仅允许与特定主体共享

以下示例 SCP 允许用户仅 与组织 o-12345abcdef,、组织单位 ou-98765fedcba 和 AWS 账户 111111111111 共享资源。

如果您使用带有否定条件运算符(如 StringNotEqualsIfExists)的 "Effect": "Deny" 元素,则即使条件键不存在,请求仍会被拒绝。使用 Null 条件运算符检查授权时是否缺少条件键。

AWS RAM 为调用中列出的每个主体和资源分别授权 API。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:AssociateResourceShare", "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringNotEquals": { "ram:Principal": [ "arn:aws:organizations::123456789012:organization/o-12345abcdef", "arn:aws:organizations::123456789012:ou/o-12345abcdef/ou-98765fedcba", "111111111111" ] }, "Null": { "ram:Principal": "false" } } } ] }

示例 6: RetainSharingOnAccountLeaveOrganization 启用后阻止资源共享

当ram:RetainSharingOnAccountLeaveOrganization条件键设置为时,以下 SCP 可防止用户创建或修改资源共享。true

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceShare", "ram:DisassociateResourceShare" ], "Resource": "*", "Condition": { "Bool": { "ram:RetainSharingOnAccountLeaveOrganization": "true" } } } ] }