当您创建权限策略时,系统会根据权限策略语法和安全最佳实践自动检查权限策略内容是否正确。您可以实时查看检查结果,包括错误(Error)、安全警告(Security Warning)、警告(General Warning)和建议(Suggestion),而且,您可以参考提供的解决方案快速修正权限策略内容,使其正确且符合安全最佳实践。
Error:数据类型不匹配
错误码:Data type mismatch
错误信息:数据类型不匹配
解决方案:字段的值与预期的JSON数据类型不匹配,请修改数据类型。
Error:无效的操作格式
错误码:Invalid action format
错误信息:无效的操作格式
解决方案:操作(Action)的格式不正确,使用格式 <ram-code>:<action-name>
。
Error:无效的 ARN 前缀
错误码:Invalid ARN prefix
错误信息:无效的ARN前缀
解决方案:资源ARN是阿里云为每个资源定义的全局资源名称,需要包含固定前缀acs
。
Error:无效的条件键格式
错误码:Invalid condition key format
错误信息:无效的条件键格式
解决方案:条件键(key)的格式不正确,使用格式<ram-code>:<condition-key>
。
Error:条件有多个布尔值
错误码:Invalid condition multiple Boolean
错误信息:条件有多个布尔值
解决方案:条件键(key)不支持多个布尔值,请使用单一的布尔值。
Error:无效的条件运算符
错误码:Invalid condition operator
错误信息:无效的条件运算符
解决方案:条件运算符(operator)不正确,请使用有效的条件运算符。支持的条件运算符,请参见条件(Condition)。
Error:无效的效果
错误码:Invalid effect
错误信息:无效的效果
解决方案:效果(Effect)的值不正确,请使用Allow
或Deny
。
Error:无效的策略元素
错误码:Invalid policy element
错误信息:无效的策略元素
解决方案:策略元素(element)无效,请使用有效的策略元素。支持的策略元素,请参见权限策略基本元素。
Error:无效的版本
错误码:Invalid version
错误信息:无效的版本
解决方案:策略版本(Version)取值无效,请将Version
设置成1
。
Error:JSON语法错误
错误码:Json syntax error
错误信息:JSON语法错误
解决方案:策略包含语法错误,请检查您的JSON语法。关于JSON语法标准,请参见RFC 7159。
Error:缺少操作
错误码:Missing action
错误信息:缺少操作
解决方案:在策略语句中添加Action
或NotAction
元素。
Error:缺少 ARN 字段
错误码:Missing ARN field
错误信息:缺少ARN字段
解决方案:资源ARN是阿里云为每个资源定义的全局资源名称,包含5个字段,格式为:acs:<ram-code>:<region>:<account-id>:<relative-id>
。各字段含义如下:
acs
:Alibaba Cloud Service的首字母缩写,表示阿里云的公共云平台。ram-code
:云服务的RAM代码。更多信息,请参见支持RAM的云服务的RAM代码列。region
:地域信息。对于全局资源(无需指定地域就可以访问的资源),该字段用星号(*)表示。更多信息,请参见地域和可用区。account-id
:阿里云账号ID。例如:123456789012****
。relative-id
:与云服务相关的资源描述部分,其语义由具体云服务指定。这部分的格式支持树状结构(类似文件路径)。以OSS为例,表示一个OSS对象的格式为:relative-id = "mybucket/dir1/object1.jpg"
。
Error:缺少效果
错误码:Missing effect
错误信息:缺少效果
解决方案:在策略语句中添加效果(Effect)元素,其值为Allow
或Deny
。
Error:缺少限定词
错误码:Missing qualifier
错误信息:缺少限定词
解决方案:条件键(key)是多值键,在请求上下文中有多个值。在策略中使用ForAllValues
或ForAnyValue
条件键限定词添加集合运算功能。
Error:缺少资源
错误码:Missing resource
错误信息:缺少资源
解决方案:在策略语句中添加资源(Resource)元素。
Error:缺少语句
错误码:Missing statement
错误信息:缺少语句
解决方案:策略文档缺少Statement字段,请在策略JSON中添加至少一个包含Effect、Action、Resource属性的语句块。
Error:不支持的元素组合
错误码:Unsupported element combination
错误信息:不支持的元素组合
解决方案:策略元素element1和element2不能在同一语句中使用,请删除其中一个元素。
Error:缺少版本
错误码:Missing version
错误信息:缺少版本
解决方案:在策略语句中添加版本(Version)元素,并将值设置为1
。
Error:IP范围不匹配
错误码:Type mismatch IP range
错误信息:IP范围不匹配
解决方案:为条件运算符(operator)添加有效的IP范围值,请使用标准CIDR格式指定IP范围。
Error:操作为空数组
错误码:Empty array action
错误信息:操作为空数组
解决方案:语句不包含任何操作,请指定操作。
Error:资源为空数组
错误码:Empty array resource
错误信息:资源为空数组
解决方案:语句不包含任何资源,请指定资源。
Security Warning:单值键使用ForAllValues
错误码:ForAllValues with single valued key
错误信息:单值键使用ForAllValues
解决方案:将ForAllValues
限定符用于单值键(key)可能会过度授权,建议移除ForAllValues
。
General Warning:通配符未使用like运算符
错误码:Wildcard without like operator
错误信息:通配符未使用like运算符
解决方案:条件值包含*
或?
字符。如果您预计使用通配符(*
,?
),请使用like
条件运算符。
General Warning:布尔值类型不匹配
错误码:Type mismatch Boolean
错误信息:布尔值类型不匹配
解决方案:为条件运算符添加有效的布尔值true
或false
。
General Warning:日期类型不匹配
错误码:Type mismatch date
错误信息:日期类型不匹配
解决方案:条件值与日期条件运算符不匹配,请使用有效的日期格式。
General Warning:数字类型不匹配
错误码:Type mismatch number
错误信息:数字类型不匹配
解决方案:为条件运算符添加有效的数值。
Suggestion:条件键为空数组
错误码:Empty array condition
错误信息:条件键为空数组
解决方案:条件键(key)没有值,请指定条件值。
Suggestion:条件块为空
错误码:Empty object condition
错误信息:条件块为空
解决方案:条件块(Condition)为空,请指定条件。
Suggestion:优化IP范围
错误码:Improve IP range
错误信息:优化IP范围
解决方案:IP地址中掩码后非零位会被忽略,请优化IP范围。
Suggestion:服务名称包含通配符
错误码:Wildcard in service name
错误信息:服务名称包含通配符
解决方案:避免在服务名称中使用通配符(*
,?
),以防止意外授予对名称相似服务的访问权限。