更新时间:2026-09-18 GMT+08:00
分享

校验策略 - ValidatePolicy

功能介绍

校验策略并返回结果列表。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项。

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

AccessAnalyzer::validatePolicy

Read

-

-

-

-

URI

POST /v5/policies/validate

表1 Query参数

参数

是否必选

参数类型

描述

limit

否

Integer

参数解释:

单页最大结果数。

约束限制:

不涉及。

取值范围:

最小值为1,最大值为200。

默认取值:

100

marker

否

String

参数解释:

页面标记,从上一次查询响应中的next_marker字段获取,首次查询不传入。

约束限制:

不涉及。

取值范围:

最小长度为4,最大长度为400。仅支持包含大小写字母、数字及特殊字符(+、/、=、-、_)。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Language

否

String

参数解释:

返回消息的语言。

约束限制:

不涉及。

取值范围:

  • zh-cn:中文

  • en-us:英文

默认取值:

zh-cn:中文。

表3 请求Body参数

参数

是否必选

参数类型

描述

policy_document

是

String

参数解释:

策略的JSON格式文档内容,用于校验策略语法的正确性。

约束限制:

不涉及。

取值范围:

最小长度为1,最大长度为131072。

默认取值:

不涉及。

policy_type

是

String

参数解释:

要校验的策略类型。

约束限制:

不涉及。

取值范围:

  • identity_policy:身份策略

  • resource_policy:资源策略

  • service_control_policy:服务控制策略

  • resource_control_policy:资源控制策略

  • network_control_policy:网络控制策略

默认取值:

不涉及。

validate_policy_resource_type

否

String

参数解释:

要附加到资源策略的资源类型。

约束限制:

不涉及。

取值范围:

  • iam:agency:IAM委托

默认取值:

不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

findings

Array of ValidatePolicyFinding objects

参数解释:

可用于改进策略的可操作建议。

取值范围:

不涉及。

page_info

PageInfo object

参数解释:

分页查询信息,包含当前页的项数和下一页标记。

取值范围:

不涉及。

表5 ValidatePolicyFinding

参数

参数类型

描述

finding_details

String

参数解释:

一条消息提供了如何解决该问题的指导。

取值范围:

不涉及。

finding_type

String

参数解释:

影响级别。

取值范围:

  • security_warning 安全:策略存在安全风险,可能是允许访问的权限过于宽松等导致。

  • error 错误:存在策略无法运行的错误,如语法错误、参数错误等。存在错误的情况下策略无法创建。

  • warning 警告:存在策略无法运行的警告,如参数取值类型不匹配等。存在警告的情况下策略可以创建。

  • suggestion 建议:不影响策略运行,但策略可能不能达到预期的效果。如存在空数组、空对象条件等。

issue_code

String

参数解释:

问题码提供了与此校验结果关联的问题的标识符。

取值范围:

不涉及。

learn_more_link

String

参数解释:

指向与此校验结果关联的相关文档的链接。

取值范围:

不涉及。

locations

Array of Location objects

参数解释:

策略文档中与校验结果相关的位置列表。

取值范围:

不涉及。

表6 Location

参数

参数类型

描述

path

Array of PathElement objects

参数解释:

策略中的路径,表示为路径元素的有序序列。

取值范围:

不涉及。

span

Span object

参数解释:

光标在策略文本中的范围。范围由开始位置(含)和结束位置(不含)组成。

取值范围:

不涉及。

表7 PathElement

参数

参数类型

描述

index

Integer

参数解释:

数组中的索引,从0开始。

取值范围:

不涉及。

key

String

参数解释:

对象中的键。

取值范围:

不涉及。

substring

Substring object

参数解释:

JSON反序列化后的字符串的子串。

取值范围:

不涉及。

value

String

参数解释:

与对象中给定键关联的值。

取值范围:

不涉及。

表8 Substring

参数

参数类型

描述

start

Integer

参数解释:

子字符串的起始索引,从0开始。0表示第一个字符。

取值范围:

不涉及。

length

Integer

参数解释:

子字符串的长度。

取值范围:

不涉及。

表9 Span

参数

参数类型

描述

start

Position object

参数解释:

策略中的位置。

取值范围:

不涉及。

end

Position object

参数解释:

策略中的位置。

取值范围:

不涉及。

表10 Position

参数

参数类型

描述

line

Integer

参数解释:

位置的行号,从1开始。

取值范围:

不涉及。

column

Integer

参数解释:

位置的列号,从0开始。

取值范围:

不涉及。

offset

Integer

参数解释:

策略中与位置对应的偏移量,从0开始。

取值范围:

不涉及。

表11 PageInfo

参数

参数类型

描述

current_count

Integer

参数解释:

当前页中的项数。

取值范围:

不涉及。

next_marker

String

参数解释:

如果存在更多可用的输出,那么该值表示可用输出比当前响应中包含的更多。在后续调用此操作时,您可以在标记请求参数中使用此值,以获取输出的下一部分。您应该重复这个过程,直到next_marker返回为null。

取值范围:

仅支持包含字母、数字、加号(+)、斜线(/)、等号(=)、下划线(_)和中划线(-)。

请求示例

校验策略并返回结果列表。

POST https://{hostname}/v5/policies/validate

{
  "policy_document" : "",
  "policy_type" : "identity_policy"
}

响应示例

状态码:200

{
  "findings" : [ {
    "finding_details" : "修复索引 0 第 1 行第 0 列的 JSON 语法错误。",
    "finding_type" : "error",
    "issue_code" : "JSON_SYNTAX_ERROR",
    "learn_more_link" : "https://{endpoint}/section0",
    "locations" : [ {
      "path" : [ ],
      "span" : {
        "start" : {
          "line" : 1,
          "column" : 0,
          "offset" : 0
        },
        "end" : {
          "line" : 1,
          "column" : 1,
          "offset" : 1
        }
      }
    } ]
  } ],
  "page_info" : {
    "current_count" : 1,
    "next_marker" : null
  }
}

状态码

状态码

描述

200

OK

错误码

请参见错误码。

相关文档