更新时间:2026-05-14 GMT+08:00
分享

创建自定义身份策略 - CreatePolicyV5

功能介绍

该接口可以用于创建一个默认版本为v1的新自定义身份策略。

调试

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

授权信息

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

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

iam:policies:createV5

Permission_management

policy *

-

-

-

URI

POST /v5/policies

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

policy_name

String

参数解释

身份策略名称。

约束限制

长度为1到128个字符,只包含字母、数字、"_"、"+"、"="、"."、"@"和"-"的字符串。

取值范围

不涉及。

默认取值

不涉及。

path

String

参数解释

资源路径。

约束限制

由若干段字符串拼接而成,每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-",并以"/"结尾,例如"foo/bar/"。

长度范围为[0,512]。

取值范围

不涉及。

默认取值

默认为空字符串。

policy_document

String

参数解释

自定义身份策略或系统预置身份策略的策略文档的json格式。

约束限制

下面的字符= < > ( ) |是语法中的特殊字符,不包含在身份策略中。

问号?表示元素是可选的。例如sid_block?

竖线|表示可选项,括号定义了可选项的范围。例如("Allow" | "Deny")

当一个元素允许多个值时,使用重复值,以及...表示。例如[ <policy_statement>, <policy_statement>, ... ]

下面的递归文法描述了身份策略的语法:

policy = {
  <version_block>,
  <statement_block>
}

<version_block> = "Version" : ("5.0")

<statement_block> = "Statement" : [ <policy_statement>, <policy_statement>, ... ]

<policy_statement> = {
  <sid_block?>,
  <effect_block>,
  <action_block>,
  <resource_block?>,
  <condition_block?>
}

<sid_block> = "Sid" : <sid_string>

<effect_block> = "Effect" : ("Allow" | "Deny")

<action_block> = ("Action" | "NotAction") : [ <action_string>, <action_string>, ... ]

<resource_block> = ("Resource" | "NotResource") : [ <resource_string>, <resource_string>, ... ]

<condition_block> = "Condition" : { <condition_map> }

<condition_map> = {
  <condition_type_string> : { <condition_key_string> : <condition_value_list> },
  <condition_type_string> : { <condition_key_string> : <condition_value_list> },
  ...
}

<condition_value_list> = ( <condition_value> | [ <condition_value>, <condition_value>, ... ] )

<condition_value> = "string"

取值范围

不涉及。

默认取值

不涉及。

description

String

参数解释

身份策略描述。

约束限制

长度范围为[0,1000]。

取值范围

不涉及。

默认取值

不涉及。

响应参数

状态码:201

表2 响应Body参数

参数

参数类型

描述

policy

policy object

参数解释

身份策略。

取值范围

不涉及。

表3 policy

参数

参数类型

描述

policy_type

String

参数解释

身份策略类型。

取值范围

“自定义”(custom)或“系统预置”(system)。

policy_name

String

参数解释

身份策略名称。

取值范围

不涉及。

policy_id

String

参数解释

身份策略ID。

取值范围

不涉及。

urn

String

参数解释

URN(Uniform Resource Name)统一资源名称, 参考链接

取值范围

不涉及。

path

String

参数解释

资源路径。

取值范围

不涉及。

default_version_id

String

参数解释

默认版本号,表示当前生效的策略版本号。

取值范围

不涉及。

attachment_count

Integer

参数解释

附加了本身份策略的实体数量。

取值范围

不涉及。

description

String

参数解释

身份策略描述。

取值范围

不涉及。

created_at

String

参数解释

身份策略创建时间。

取值范围

不涉及。

updated_at

String

参数解释

身份策略最近一次的更新时间。

取值范围

不涉及。

状态码:400

表4 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如 PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API 请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

状态码:403

表5 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误消息

取值范围

不涉及。

request_id

String

参数解释

API请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

encoded_authorization_message

String

参数解释

认证失败时返回的加密详细信息,用于定位认证问题。 可以通过STS5解密接口进行解密,请参见接口链接

取值范围

不涉及。

状态码:409

表6 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如 PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API 请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

请求示例

创建一个名为name的新自定义身份策略。

POST https://{endpoint}/v5/policies

{
  "policy_name" : "name",
  "path" : "",
  "policy_document" : "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"*\"]}]}",
  "description" : "description"
}

响应示例

状态码:201

请求成功。

{
  "policy" : {
    "policy_type" : "custom",
    "policy_name" : "name",
    "policy_id" : "string",
    "urn" : "iam::accountid:policy:name",
    "path" : "",
    "default_version_id" : "v1",
    "attachment_count" : 0,
    "description" : "description",
    "created_at" : "2023-09-25T07:49:11.582Z",
    "updated_at" : "2023-09-25T07:49:11.582Z"
  }
}

状态码

状态码

描述

201

请求成功。

400

请求体异常。

403

没有操作权限。

409

请求冲突。

错误码

请参见错误码

相关文档