

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

# AWS Organizations 和的服务控制策略示例 AWS RAM
<a name="security-scp"></a>

AWS RAM 支持服务控制策略 (SCPs)。 SCPs 是您附加到组织中元素的策略，用于管理该组织内的权限。SCP 适用于[您附加 SCP 的元素 AWS 账户 下](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_inheritance_auth.html)的所有内容。 SCPs 提供对组织中所有账户的最大可用权限的集中控制。它们可以帮助您确保 AWS 账户 遵守组织的访问控制准则。有关更多信息，请参阅 *AWS Organizations 用户指南*中的[服务控制策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_type-auth.html)。

## 先决条件
<a name="scp-prereqs"></a>

要使用 SCPs，必须先执行以下操作：
+ 启用组织中的所有功能。有关更多信息，请参阅《AWS Organizations 用户指南》**中的[启用组织中的所有功能](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)。
+ 启用 SCPs 以便在您的组织内使用。有关更多信息，请参阅《AWS Organizations 用户指南》**中的[启用和禁用策略类型](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_enable-disable.html)。
+ 创建你 SCPs 需要的。有关创建的更多信息 SCPs，请参阅《*AWS Organizations 用户指南》 SCPs*中的[创建和更新](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp-create.html)。

## 示例服务控制策略
<a name="scp-examples"></a>

**Contents**
+ [示例 1：阻止外部共享](#example-one)
+ [示例 2：阻止用户接受来自组织外部账户的资源共享邀请](#example-two)
+ [示例 3：允许特定账户共享特定资源类型](#example-three)
+ [示例 4：阻止与整个组织或组织单位共享](#example-four)
+ [示例 5：仅允许与特定主体共享](#example-five)
+ [示例 6： RetainSharingOnAccountLeaveOrganization 启用后禁止资源共享](#example-six)

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

### 示例 1：阻止外部共享
<a name="example-one"></a>

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

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

------
#### [ JSON ]

****  

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

------

### 示例 2：阻止用户接受来自组织外部账户的资源共享邀请
<a name="example-two"></a>

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

------
#### [ JSON ]

****  

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

------

### 示例 3：允许特定账户共享特定资源类型
<a name="example-three"></a>

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

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

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

有关何时以及为何使用`...IfExists`运算符的更多信息，请参阅[... IfExists *IAM 用户指南*中的条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IfExists)。

------
#### [ 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：阻止与整个组织或组织单位共享
<a name="example-four"></a>

以下 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：仅允许与特定主体共享
<a name="example-five"></a>

以下示例 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"
        }
      }
    }
  ]
}
```

------

### 示例 6： RetainSharingOnAccountLeaveOrganization 启用后禁止资源共享
<a name="example-six"></a>

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

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