创建自定义身份策略
功能介绍
该接口可以用于创建一个默认版本为v1的新自定义身份策略。
URI
POST /v5/policies
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
policy_name |
是 |
String |
身份策略名称,长度为1到128个字符,只包含字母、数字、"_"、"+"、"="、"."、"@"和"-"的字符串。 |
path |
否 |
String |
资源路径,默认为空串。由若干段字符串拼接而成,每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-",并以"/"结尾,例如"foo/bar/"。 |
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 |
身份策略描述。 |
响应参数
状态码:201
参数 |
参数类型 |
描述 |
---|---|---|
policy |
Policy object |
身份策略。 |
参数 |
参数类型 |
描述 |
---|---|---|
policy_type |
String |
身份策略类型,可以为“自定义”(custom)或“系统预置”(system)。 |
policy_name |
String |
身份策略名称,长度为1到128个字符,只包含字母、数字、"_"、"+"、"="、"."、"@"和"-"的字符串。 |
policy_id |
String |
身份策略ID,长度为1到64个字符,只包含字母、数字和"-"的字符串。 |
urn |
String |
统一资源名称。 |
path |
String |
资源路径,默认为空串。由若干段字符串拼接而成,每段先包含一个或多个字母、数字、"."、","、"+"、"@"、"="、"_"或"-",并以"/"结尾,例如"foo/bar/"。 |
default_version_id |
String |
默认版本号。 |
attachment_count |
Integer |
附加了本身份策略的实体数量。 |
description |
String |
身份策略描述。 |
created_at |
String |
身份策略创建时间。 |
updated_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解密接口进行解密。 |
状态码:409
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
request_id |
String |
请求ID。 |
请求示例
创建一个名为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 |
请求冲突。 |
错误码
请参见错误码。