更新时间:2026-05-08 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

参数解释

页面标记。

约束限制

不涉及。

取值范围

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

默认取值

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Language

String

参数解释

返回消息的语言。

约束限制

不涉及。

取值范围

  • zh-cn:中文

  • en-us:英文

默认取值

zh-cn:中文。

表3 请求Body参数

参数

是否必选

参数类型

描述

policy_document

String

参数解释

该策略JSON格式策略文档。

约束限制

不涉及。

取值范围

最小长度为0,最大长度为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

OK

{
  "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

错误码

请参见错误码

相关文档