策略文档元素解析

最近更新时间:2021-06-01 18:38:19

查看PDF

金山云IAM的策略文档采用AWS的策略文档的语法和规范,但在支持的元素的数量上有所区别。

使用元素及规则

元素名称 是否必须 描述
Version(版本) 形如"Version":"2015-11-01",用于说明策略文档的版本。
目前金山云的策略文档版本只有一个取值,2015-11-01,如果策略中没有Version元素,其默认值为2015-11-01
Statement(授权规则) 形如"Statement":[{...},{...},{...}],策略的主元素,用于说明具体授权规则。
每个Statement元素可以包含多条语句,每条语句用{}括起来说明。
Sid 形如"Sid":"1",Statement的语句标识符,可被省略,在一个策略中需要保持唯一性。
Effect(效力) 形如"Effect":"Allow",Statement的授权规则的组成元素,每条授权规则必须包括该元素
(1)只有两种取值Allow或者Deny,分别表明“显示授权”和“显示拒绝”。
(2)权限策略中既有允许(Allow)又有拒绝(Deny)的授权语句时,遵循Deny优先的原则。
Action(操作) 形如"Action":"iam:CreateUser",Statement的授权规则的组成元素,每条授权规则必须包括该元素。
(1)操作支持多值,取值为:云服务所定义的API操作名称。
(2)格式::,其中service-name是金山云服务名称,而、action-name是相关API操作接口名称。
(3)service-name和action-name的值不区分大小写,操作名称可以包含通配符*
Resource(资源) 形如"Resource":"KRN",Resource是被授权的具体资源对象。
(1)每种service的resource各不相同,可以使用*来表示全体资源对象。
(2)同时也遵金山云KRN的统一命名规范,详细格式请查看金山云KRN.

策略语法说明

  • 每个策略文档可以包含多条策略语句
  • 每个策略组成元素中包含的同名称元素不能重复,只能出现一次,比如不能在一个策略语句中出现两次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" : "*"
    }
  ]
}

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈