本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
RCP 语法
资源控制策略 (RCPs) 使用的语法与基于资源的策略使用的语法类似。有关 IAM 策略及其语法的更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html中的 IAM 策略概述。
RCP 根据 JSON
注意
RCP 中的所有字符都将计入其最大大小。本指南中的示例显示了带有额外空格以提高其可读性的 RCPs 格式化内容。但是,在您的策略大小接近最大大小时,可以删除任何空格(例如,引号之外的空格字符和换行符)来节省空间。
有关的一般信息 RCPs,请参见资源控制策略 (RCPs)。
元素摘要
下表汇总了您可以在中使用的策略元素 RCPs。
注意
仅 RCPFullAWSAccess 策略支持 Allow 的影响
仅 RCPFullAWSAccess 策略支持 Allow 的影响。启用资源控制策略后,此策略将自动附加到组织根目录、每个 OU 和组织中的每个账户 (RCPs)。您无法分离此策略。此默认 RCP 允许所有委托人和操作访问权限通过 RCP 评估,这意味着在您开始创建和附加之前 RCPs,您的所有现有 IAM 权限将继续按原样运行。这样不会授予访问权限。
| 元素 | 用途 |
|---|---|
| 版本 | 指定要用于处理策略的语言语法规则。 |
| Statement | 充当策略元素的容器。中可以有多个语句 RCPs。 |
| Statement ID (Sid) | (可选)提供语句的友好名称。 |
| 效果 | 定义 RCP 语句是否拒绝访问账户中的资源。 |
| 主体 | 指定允许或拒绝访问账户中资源的主体。 |
|
指定 RCP 允许或拒绝的 AWS 服务和操作。 |
|
| 资源 | 指定 RCP 适用的 AWS 资源。 |
| NotResource |
指定免受 RCP 限制的 AWS 资源。用来代替 |
| Condition | 指定语句何时生效的条件。 |
主题
Version 元素
每个 RCP 都必须包含 Version 元素,其值为 "2012-10-17"。此版本值与 IAM 权限策略的最新版本相同。
有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:版本。
Statement 元素
一个 RCP 可包含一个或多个 Statement 元素。一条策略中只能有一个 Statement 关键字,但其值可以是 JSON 语句数组 (使用 [ ] 字符括起)。
以下示例展示了包含单个 Effect、Principal、Action 和 Resource 元素的单个语句。
{ "Statement": { "Effect": "Deny", "Principal": "*", "Action": "s3:PutBucketPublicAccessBlock", "Resource": "*" } }
有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:语句。
Statement ID (Sid) 元素
Sid 是您针对策略语句提供的可选标识符。您可以为语句数组中的每个语句指定 Sid 值。以下示例 RCP 展示了一个示例 Sid 语句。
{ "Statement": { "Sid": "DenyBPAConfigurations", "Effect": "Deny", "Principal": "*", "Action": "s3:PutBucketPublicAccessBlock", "Resource": "*" } }
有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Sid。
Effect 元素
每个语句必须包含一个 Effect 元素。使用Effect元素Deny中的值,您可以限制对特定资源的访问权限或定义何时生效 RCPs 的条件。为 RCPs 此,您创建的值必须是Deny。有关更多信息,请参阅 RCP 评估和《IAM 用户指南》中的 IAM JSON 策略元素:Effect。
Principal 元素
每个语句都必须包含 Principal 元素。您只能在 RCP 的 Principal 元素中指定“*”。使用 Conditions 元素来限制特定主体。
有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Principal。
Action 元素
每个语句都必须包含 Action 元素。
Action元素的值是一个字符串或字符串列表(JSON 数组),用于标识语句允许或拒绝的 AWS 服务和操作。
所有字符串均包含服务简写(例如“s3”“sqs”或“sts”),全部为小写,后跟冒号,然后是该服务的操作。通常,其输入方式为每个单词的开头是大写字母,其余为小写字母。例如:"s3:ListAllMyBuckets"。
您也可以在 RCP 中使用星号(*)或问号(?)等通配符:
-
使用星号(*)通配符以匹配名称中包含相同部分的多个操作。值
"s3:*"表示 Amazon S3 服务中的所有操作。该值仅"sts:Get*"匹配以 “Get” 开头的 AWS STS 操作。 -
使用问号(?)通配符来匹配单个字符。
注意
通配符(*)和问号(?)可用在操作名称中的任何位置
在客户管理的 RCP 的 Action 元素中,您不能使用“*”,并且必须指定要限制访问的服务的缩写(例如“s3”“sqs”或“sts”)。
有关支持的服务的列表 RCPs,请参阅AWS 服务 该支持清单 RCPs。有关 AWS 服务 支持的操作列表,请参阅《服务授权参考》中的 “AWS 服务操作、资源和条件密钥”。
有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:操作。
Resource 和 NotResource 元素
每个语句都必须包含 Resource 或 NotResource 元素。
您可以在资源元素中使用星号(*)或问号(?)等通配符:
-
使用星号(*)作为通配符来匹配名称中包含相同部分的多个资源。
-
使用问号(?)通配符来匹配单个字符。
有关更多信息,请参阅 IAM 用户指南中的 IAM JSON 策略元素: NotResource资源和参阅 I AM JSON 策略元素:。
Condition 元素
您可以在 RCP 中的 Deny 语句中指定 Condition 元素。
除非通过安全传输发出请求(通过 TLS 发送请求),否则此 RCP 会拒绝访问 Amazon S3 的操作和资源。
有关更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:条件。
不支持的元素
中不支持以下元素 RCPs:
-
NotPrincipal -
NotAction