

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

# RCP 语法
<a name="orgs_manage_policies_rcps_syntax"></a>

资源控制策略 (RCPs) 使用的语法与[基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based)使用的语法类似。有关 IAM 策略及其语法的更多信息，请参阅《IAM 用户指南》[https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)中的 *IAM 策略概述*。

RCP 根据 [JSON](http://json.org) 的规则设置结构。它使用本主题中所述的元素。

**注意**  
RCP 中的所有字符都将计入其[最大大小](orgs_reference_limits.md#min-max-values)。本指南中的示例显示了带有额外空格以提高其可读性的 RCPs 格式化内容。但是，在您的策略大小接近最大大小时，可以删除任何空格（例如，引号之外的空格字符和换行符）来节省空间。

有关的一般信息 RCPs，请参见[资源控制策略 (RCPs)](orgs_manage_policies_rcps.md)。

## 元素摘要
<a name="rcp-elements-table"></a>

下表汇总了您可以在中使用的策略元素 RCPs。

**注意**  
**仅 `RCPFullAWSAccess` 策略支持 `Allow` 的影响**  
仅 `RCPFullAWSAccess` 策略支持 `Allow` 的影响。启用资源控制策略后，此策略将自动附加到组织根目录、每个 OU 和组织中的每个账户 (RCPs)。您无法分离此策略。此默认 RCP 允许所有委托人和操作访问权限通过 RCP 评估，这意味着在您开始创建和附加之前 RCPs，您的所有现有 IAM 权限将继续按原样运行。这样不会授予访问权限。


| Element | 用途 | 
| --- | --- | 
| [版本](#rcp-syntax-version) | 指定要用于处理策略的语言语法规则。 | 
| [Statement](#rcp-syntax-statement) | 充当策略元素的容器。中可以有多个语句 RCPs。 | 
| [Statement ID (Sid)](#rcp-syntax-sid) | （可选）提供语句的友好名称。 | 
| [效果](#rcp-syntax-effect) | 定义 RCP 语句是否拒绝访问账户中的资源。 | 
| [主体](#rcp-syntax-principal) | 指定允许或拒绝访问账户中资源的主体。 | 
|  [Action](#rcp-syntax-action)  |  指定 RCP 允许或拒绝的 AWS 服务和操作。  | 
| [资源](#rcp-syntax-resource) | 指定 RCP 适用的 AWS 资源。 | 
| [NotResource](#rcp-syntax-resource) |  指定免受 RCP 限制的 AWS 资源。用来代替 `Resource` 元素。  | 
| [Condition](#rcp-syntax-condition) | 指定语句何时生效的条件。 | 

**Topics**
+ [元素摘要](#rcp-elements-table)
+ [`Version` 元素](#rcp-syntax-version)
+ [`Statement` 元素](#rcp-syntax-statement)
+ [Statement ID (`Sid`) 元素](#rcp-syntax-sid)
+ [`Effect` 元素](#rcp-syntax-effect)
+ [`Principal` 元素](#rcp-syntax-principal)
+ [`Action` 元素](#rcp-syntax-action)
+ [`Resource` 和 `NotResource` 元素](#rcp-syntax-resource)
+ [`Condition` 元素](#rcp-syntax-condition)
+ [不支持的元素](#rcp-syntax-unsupported)

## `Version` 元素
<a name="rcp-syntax-version"></a>

每个 RCP 都必须包含 `Version` 元素，其值为 **"2012-10-17"**。此版本值与 IAM 权限策略的最新版本相同。

有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：版本](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html)。

## `Statement` 元素
<a name="rcp-syntax-statement"></a>

一个 RCP 可包含一个或多个 `Statement` 元素。一条策略中只能有一个 `Statement` 关键字，但其值可以是 JSON 语句数组 (使用 [ ] 字符括起)。

以下示例展示了包含单个 `Effect`、`Principal`、`Action` 和 `Resource` 元素的单个语句。

```
 {
    "Statement": {
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:PutBucketPublicAccessBlock",
        "Resource": "*"
    }
}
```

有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：语句](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_statement.html)。

## Statement ID (`Sid`) 元素
<a name="rcp-syntax-sid"></a>

`Sid` 是您针对策略语句提供的可选标识符。您可以为语句数组中的每个语句指定 `Sid` 值。以下示例 RCP 展示了一个示例 `Sid` 语句。

```
{
    "Statement": {
        "Sid": "DenyBPAConfigurations",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:PutBucketPublicAccessBlock",
        "Resource": "*"
    }
}
```

有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：Sid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html)。

## `Effect` 元素
<a name="rcp-syntax-effect"></a>

每个语句必须包含一个 `Effect` 元素。使用`Effect`元素`Deny`中的值，您可以限制对特定资源的访问权限或定义何时生效 RCPs 的条件。为 RCPs 此，您创建的值必须是`Deny`。有关更多信息，请参阅 [RCP 评估](orgs_manage_policies_rcps_evaluation.md)和《IAM 用户指南》**中的 [IAM JSON 策略元素：Effect](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html)。

## `Principal` 元素
<a name="rcp-syntax-principal"></a>

每个语句都必须包含 `Principal` 元素。您只能在 RCP 的 `Principal` 元素中指定“`*`”。使用 `Conditions` 元素来限制特定主体。

有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。

## `Action` 元素
<a name="rcp-syntax-action"></a>

每个语句都必须包含 `Action` 元素。

`Action`元素的值是一个字符串或字符串列表（JSON 数组），用于标识语句允许或拒绝的 AWS 服务和操作。

所有字符串均包含服务简写（例如“s3”“sqs”或“sts”），全部为小写，后跟冒号，然后是该服务的操作。通常，其输入方式为每个单词的开头是大写字母，其余为小写字母。例如：`"s3:ListAllMyBuckets"`。

您也可以在 RCP 中使用星号（\$1）或问号（?）等通配符：
+ 使用星号（\$1）通配符以匹配名称中包含相同部分的多个操作。值 `"s3:*"` 表示 Amazon S3 服务中的所有操作。该值仅`"sts:Get*"`匹配以 “Get” 开头的 AWS STS 操作。
+ 使用问号（?）通配符来匹配单个字符。

**注意**  
**通配符（\$1）和问号（?）可用在操作名称中的任何位置**  
在客户管理的 RCP 的 Action 元素中，您不能使用“\$1”，并且必须指定要限制访问的服务的缩写（例如“s3”“sqs”或“sts”）。

有关支持的服务的列表 RCPs，请参阅[AWS 服务 该支持清单 RCPs](orgs_manage_policies_rcps.md#rcp-supported-services)。有关 AWS 服务 支持的操作列表，请参阅《服务*授权参考*》中的 “[AWS 服务操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html.html)”。

有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：操作](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html)。

## `Resource` 和 `NotResource` 元素
<a name="rcp-syntax-resource"></a>

每个语句都必须包含 `Resource` 或 `NotResource` 元素。

您可以在资源元素中使用星号（\$1）或问号（?）等通配符：
+ 使用星号（\$1）作为通配符来匹配名称中包含相同部分的多个资源。
+ 使用问号（?）通配符来匹配单个字符。

有关更多信息，请参阅 [IAM 用户指南中的 IAM JSON 策略元素： NotResource资源](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)[和参阅 I](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html) *AM* JSON 策略元素：。

## `Condition` 元素
<a name="rcp-syntax-condition"></a>

 您可以在 RCP 中的 Deny 语句中指定 `Condition` 元素。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:SecureTransport": "false"
                }
            }
        }
    ]
}
```

------

除非通过安全传输发出请求（通过 TLS 发送请求），否则此 RCP 会拒绝访问 Amazon S3 的操作和资源。

有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。

## 不支持的元素
<a name="rcp-syntax-unsupported"></a>

中不支持以下元素 RCPs：
+ `NotPrincipal`
+ `NotAction`