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

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

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

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

先决条件

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

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

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

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

示例服务控制策略

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

示例 1:阻止外部共享

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

AWS RAM APIs 分别对通话中列出的每位委托人和资源进行授权。

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:允许特定账户共享特定资源类型

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

AWS RAM APIs 分别对通话中列出的每位委托人和资源进行授权。

如果一个请求不包含资源类型参数或包含该参数,且其值与指定的资源类型完全匹配,则运算符 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 APIs 分别对通话中列出的每位委托人和资源进行授权。

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 APIs 分别对通话中列出的每位委托人和资源进行授权。

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" } } } ] }