身份策略语法-j9九游会登录
下面以obs的自定义身份策略为例,说明身份策略的语法。
{
"version": "5.0",
"statement": [
{
"effect": "allow",
"action": [
"obs:bucket:getbucketlocation",
"obs:bucket:headbucket",
"obs:bucket:listallmybuckets",
"obs:bucket:listbucket"
],
"condition": {
"stringendwithifexists": {
"g:username": [
"specialcharacter"
]
},
"bool": {
"g:mfapresent": [
"true"
]
}
}
}
]
}
当您使用iam控制台创建或编辑身份策略时,iam会自动检查它们,以确保它们符合身份策略语法。如果iam确定身份策略不符合语法,则会提示您进行修复。
iam访问分析器(iam access analyzer,iaa)还提供额外的身份策略检查和建议,以帮助您进一步优化身份策略。要了解有关iam访问分析器的策略检查和可执行建议的更多信息,请参考iam access analyzer策略验证。
身份策略结构
身份策略结构包括version(身份策略版本号)和statement(身份策略权限语句)两部分,其中statement可以有多个,表示不同的授权项。
身份策略参数
身份策略参数包含version和statement两部分,下面介绍身份策略参数详细说明。了解身份策略参数后,您可以根据场景自定义身份策略,如表1。身份策略是由json元素组成,例如version、statement、sid、effect、action、condition、resource元素等,如需了解这些元素的更多信息,请参见json元素参考。
|
参数 |
含义 |
值 |
|
|---|---|---|---|
|
version |
身份策略的版本。 |
固定为5.0,不支持修改:代表身份策略json语法的版本号。 |
|
|
statement: 身份策略的授权语句 |
sid:语句id |
sid(statement id)表示语句的可选标识符。 |
为一个由零个或多个字符组成的字符串。 |
|
effect:作用 |
定义action中的操作权限是否允许执行。 |
说明:
当同一个action的effect既有allow又有deny时,遵循deny优先的原则。 |
|
|
action/notaction:授权项 |
操作权限。 |
格式为“服务名:资源类型:操作”。授权项支持*和?,*表示任意个字符,?表示恰好一个字符。action/notaction不区分大小写。action表示匹配列表中的所有授权项,notaction表示匹配列表之外的所有授权项。 示例: "obs:bucket:listallmybuckets":表示查看obs桶列表权限,其中obs为服务名,bucket为资源类型,listallmybuckets为操作。 您可以打开身份策略授权参考,导航至云服务的的“操作”小节,查看该服务所有授权项。 |
|
|
resource: 资源类型 |
身份策略所作用的资源。 |
资源类型用资源urn表示,格式为“ 示例:
|
|
|
condition:条件 |
格式为“运算符:{条件键:[条件值1,条件值2]}”。其中,条件键不区分大小写。 如果您设置多个条件,同时满足所有条件时,该身份策略才生效。 示例: "stringendwithifexists":{"g:username":["specialcharacter"]}:表示当用户输入的用户名以"specialcharacter"结尾时该条statement生效。 |
||
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨