最近更新时间:2025-12-22 16:57:36
本文介绍IAM中权限策略的语法和结构,帮助您正确理解权限策略语法,以完成创建或更新权限策略。
运用策略语法前,您应了解策略字符及其使用规则。
权限策略中所包含的JSON字符:{ } [ ] " , :。
描述语法使用的特殊字符:= < > ( ) |。
当一个元素允许多值时,可以使用下述两种方式表达,效果相同。
使用半角逗号(,)和省略号(…)进行表达。例如:[ <action_string>, <action_string>, ...]。
使用单值进行表达。例如:"Action": [<action_string>] 和 "Action": <action_string>。
元素带有半角问号(?)表示此元素是一个可选元素。例如:<condition_block?>。
多值之间用竖线(|)隔开,表示取值只能选取这些值中的某一个。例如:("Allow" | "Deny")。
使用双引号("")的元素,表示此元素是文本串。例如:<version_block> = "Version" : ("1")。
元素名称 | 是否必须 | 描述 |
|---|---|---|
Version(版本) | 否 | 形如 |
Statement(授权规则) | 是 | 形如 |
Sid | 否 | 形如 |
Effect(效力) | 是 | 形如 |
Action(操作) | 是 | 形如 支持格式:
通配符支持:
示例: |
Resource(资源) | 是 | 形如 通配符支持:
示例: |
Condition(条件) | 否 | 条件运算符用于指定策略生效的附加约束条件。 基本结构: |
每个策略文档可以包含多条策略语句
每个策略组成元素中包含的同名称元素不能重复,只能出现一次,比如不能在一个策略语句中出现两次Effect元素块
策略文档中各元素块的显示顺序无限制
策略文档中的白空格(whiteSpace)被忽略
权限策略结构包括:
policy = {
<version_block?>
<statment_block>
}
<version_block> = "Version" : "2015-11-01"
<statement_block> = "Statement" : [<statement>, <statement>, ...]
<statement> = {
<sid_block?>,
<effect_block>,
<action_block>,
<resoure_block>
}
<sid_block> = "Sid" : <sid_string>
<effect_block> = "Effect" : ("Allow" | "Deny")
<action_block> = "Action" : ( "*" | [<action_string>, <action_string>, ...])
<resoure_block> = "Resource" : ( "*" | [<resoure_string>, <resoure_string>, ...])
<action_string> = "service_name : action_name"
<resource_string> = "KRN" 如:云主机(KEC)管理员的权限的策略文档示例
{
"Version" : "2015-11-01",
"Statement" : [
{
"Effect" : "Allow",
"Action" : "KEC:*",
"Resource" : "*"
}
]
}
纯净模式
