为指定身份策略创建一个新版本
功能介绍
该接口可以用于为指定身份策略创建一个新版本。
URI
POST /v5/policies/{policy_id}/versions
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
policy_id |
是 |
String |
身份策略ID,长度为1到64个字符,只包含字母、数字和"-"的字符串。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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" |
set_as_default |
否 |
Boolean |
是否设置为默认版本。 缺省值:false |
响应参数
状态码:201
参数 |
参数类型 |
描述 |
---|---|---|
policy_version |
PolicyVersion object |
身份策略版本信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
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" |
version_id |
String |
身份策略版本号,以"v"开头后跟数字,例如"v5"。 |
is_default |
Boolean |
是否为默认版本。 |
created_at |
String |
身份策略版本创建时间。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
状态码:403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
encoded_authorization_message |
String |
加密后的认证失败信息,可以通过STS5解密接口进行解密。 |
状态码:404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
状态码:409
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
请求示例
为指定身份策略创建一个新版本,并置为默认版本。
POST https://{endpoint}/v5/policies/{policy_id}/versions { "policy_document" : "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"*\"]}]}", "set_as_default" : true }
响应示例
状态码:201
请求成功。
{ "policy_version" : { "document" : "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"*\"]}]}", "version_id" : "v2", "is_default" : true, "created_at" : "2023-09-25T08:00:51.537Z" } }
状态码
状态码 |
描述 |
---|---|
201 |
请求成功。 |
400 |
请求体异常。 |
403 |
没有操作权限。 |
404 |
未找到相应的资源。 |
409 |
请求冲突。 |
错误码
请参见错误码。