# 为指定身份策略创建一个新版本 - CreatePolicyVersionV5
#### 功能介绍
该接口可以用于为指定身份策略创建一个新版本。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IAM/doc?api=CreatePolicyVersionV5&version=v5)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-iam5/iam_02_1124.html)。
| 授权项                          | 访问级别                  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| iam:policies:createVersionV5 | Permission_management | policy \*   | -   | -  | -      |
   
#### URI
POST /v5/policies/{policy_id}/versions
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| policy_id | 是    | String | **参数解释**： 身份策略ID。获取方式请参见查询身份策略列表接口（ListPoliciesV5）获取或在IAM控制台的身份策略列表页查看。 **约束限制**： 不涉及。 **取值范围**： 长度为1到64个字符，只包含字母、数字和"-"的字符串。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数              | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| 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 | **参数解释**： 是否设置为默认版本。 **约束限制**： 不涉及。 **取值范围**： 取值范围为\[true,false\]。 **默认取值**： 默认值false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 响应参数
**状态码：201**
表3响应Body参数 
| 参数             | 参数类型                                                                     | 描述                                                                                                                                                            |
|:---|:---|:---|
| policy_version | [policy_version] object | **参数解释**： 身份策略版本信息。 **取值范围**： 不涉及。 |
   
 表4policy_version 
| 参数         | 参数类型    | 描述                                                                                                                                                                                                                                 |
|:---|:---|:---|
| document   | String  | **参数解释**： 自定义身份策略或系统预置身份策略的策略文档的json格式。 **取值范围**： 不涉及。                                                  |
| version_id | String  | **参数解释**： 身份策略版本号。 **取值范围**： 不涉及。                                                                       |
| is_default | Boolean | **参数解释**： 是否为默认版本。 **取值范围**： 不涉及。                                                                       |
| created_at | String  | **参数解释**： 身份策略版本创建时间。使用UTC+0时间格式，格式为yyyy-MM-ddTHH:mm:ss.SSSZ，例如2023-09-13T06:51:20.550Z。 **取值范围**： 不涉及。 |
   
**状态码：400**
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如 PAP5.0012。 |
| error_msg  | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                     |
| request_id | String | **参数解释**： API 请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                      |
   
**状态码：403**
表6响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如PAP5.0012。                                    |
| error_msg                     | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                                                       |
| request_id                    | String | **参数解释**： API请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                                                         |
| encoded_authorization_message | String | **参数解释**： 认证失败时返回的加密详细信息，用于定位认证问题。 可以通过STS5解密接口进行解密，请参见[接口链接](https://support.huaweicloud.com/api-iam5/DecodeAuthorizationMessage.html)。 **取值范围**： 不涉及。 |
   
**状态码：404**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如 PAP5.0012。 |
| error_msg  | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                     |
| request_id | String | **参数解释**： API 请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                      |
   
**状态码：409**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码，请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 格式为PAP5.XXXX，例如 PAP5.0012。 |
| error_msg  | String | **参数解释**： 错误信息，请参见[错误信息](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。 **取值范围**： 不涉及。                     |
| request_id | String | **参数解释**： API 请求的唯一标识，用于排查接口调用异常。 **取值范围**： 不涉及。                                                                      |
   
#### 请求示例
为指定身份策略创建一个新版本，并置为默认版本。
```
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 | 请求冲突。     |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iam5/ErrorCode.html)。
