
# 查询自定义策略列表 - ListCustomPolicies
#### 功能介绍
该接口可以用于++[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)++ 查询自定义策略列表。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见：[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IAM/doc?api=ListCustomPolicies)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-iam/iam_19_0001.html)。
#### URI
GET /v3.0/OS-ROLE/roles
表1Query参数 
| 参数       | 是否必选 | 参数类型    | 描述                                       |
|:---|:---|:---|:---|
| page     | 否    | Integer | 分页查询时数据的页数，查询值最小为1。需要与per_page同时存在。      |
| per_page | 否    | Integer | 分页查询时每页的数据个数，取值范围为\[1,300\]。需要与page同时存在。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                              |
|:---|:---|:---|:---|
| Content-Type | 是    | String | 该字段内容填为"application/json;charset=utf8"。                                                                                         |
| X-Auth-Token | 是    | String | 访问令牌，承载用户的身份、权限等信息。 token所需权限请参见[授权项](https://support.huaweicloud.com/api-iam/iam_19_0001.html)。 |
   
#### 响应参数
表3响应Body参数 
| 参数                                                                       | 参数类型             | 描述           |
|:---|:---|:---|
| [links]        | Object           | 资源链接信息。      |
| [roles] | Array of objects | 自定义策略信息列表。   |
| total_number                                                             | Integer          | 返回自定义策略的总条数。 |
   
 表4links 
| 参数       | 参数类型   | 描述                    |
|:---|:---|:---|
| self     | String | 资源链接地址。               |
| previous | String | 前一邻接资源链接地址，不存在时为null。 |
| next     | String | 后一邻接资源链接地址，不存在时为null。 |
   
 表5roles 
| 参数                                                                              | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| domain_id                                                                       | String | 自定义策略所属账号ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| updated_time                                                                    | String | 自定义策略更新时间。 说明： UNIX时间戳格式，单位是毫秒，时间戳格式如：1687913793000。                                                                                                                                                                                                                                                                                                                                                                                                                 |
| created_time                                                                    | String | 自定义策略创建时间。 说明： UNIX时间戳格式，单位是毫秒，时间戳格式如：1687913793000。                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description_cn                                                                  | String | 自定义策略的中文描述信息，仅创建自定义策略时传入了description_cn参数，响应体中才会返回此字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| catalog                                                                         | String | 自定义策略所在目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| name                                                                            | String | 自定义策略名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description                                                                     | String | 自定义策略的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [links]   | Object | 自定义策略的资源链接信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| id                                                                              | String | 自定义策略ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| display_name                                                                    | String | 自定义策略展示名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| type                                                                            | String | 自定义策略的显示模式。 说明： - AX：全局服务。  - XA：区域级项目。  - 自定义策略的显示模式只能为AX或者XA，不能同时在全局服务和区域级项目生效（AA），或者在全局服务和区域级项目都不生效（XX）。   |
| [policy] | Object | 自定义策略的具体内容。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表6roles.links 
| 参数   | 参数类型   | 描述      |
|:---|:---|:---|
| self | String | 资源链接地址。 |
   
 表7roles.policy 
| 参数                                                                                                 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| Version                                                                                            | String           | 权限版本号。 说明： - 1.0：系统预置的角色。以服务为粒度，提供有限的服务相关角色用于授权。  - 1.1：策略。IAM最新提供的一种细粒度授权的能力，可以精确到具体服务的操作、资源以及请求条件等。   |
| [Statement] | Array of objects | 授权语句，描述自定义策略的具体内容。                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表8roles.policy.Statement 
| 参数        | 参数类型                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| Action    | Array of strings                            | 授权项，指对资源的具体操作权限。支持的授权项请参考各云服务《API参考》中"权限和授权项"章节。 说明： - 格式为：服务名:资源类型:操作，例：vpc:ports:create。  - 服务名为产品名称，例如ecs、evs和vpc等，服务名仅支持小写。 资源类型和操作没有大小写，要求支持通配符号\*，无需罗列全部授权项。  - 当自定义策略为委托自定义策略时，该字段值为：*"Action": \["iam:tokens:assume"\]*。                                        |
| Effect    | String                                      | 作用。包含两种：允许（Allow）和拒绝（Deny），既有Allow又有Deny的授权语句时，遵循Deny优先的原则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Condition | Map\<String,Map\<String,Array\<String\>\>\> | 限制条件。如果创建此策略未传入此字段，则返回结果中也无此字段。 说明： 以请求示例中的Condition为例：条件键（obs:prefix）和字符串（public）需相等（StringEquals）。 ``` "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Resource  | Object                                      | 资源，如果创建此策略时未传入此字段，则返回结果中也无此字段。 规则如下： 说明： - 可填 \* 的五段式：::::，例："obs:*:*:bucket:\*"。  - region字段为\*或用户可访问的region。service必须存在且resource属于对应service。  - 当该自定义策略为委托自定义策略时，该字段类型为Object，值为：*"Resource": {"uri": \["/iam/agencies/agencyTest"\]}*。   |
   
#### 请求示例
查询自定义策略列表。
```
GET https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles
```
#### 响应示例
**状态码为 200 时:**
请求成功。
```
{
  "roles" : [ {
    "domain_id" : "d78cbac186b744899480f25bd022f...",
    "updated_time" : "1579229246886",
    "created_time" : "1579229246886",
    "description_cn" : "中文描述",
    "catalog" : "CUSTOMED",
    "name" : "custom_d78cbac186b744899480f25bd022f468_1",
    "description" : "IAMDescription",
    "links" : {
      "self" : "https://iam.myhuaweicloud.com/v3/roles/93879fd90f1046f69e6e0b31c94d2..."
    },
    "id" : "93879fd90f1046f69e6e0b31c94d2...",
    "display_name" : "IAMCloudServicePolicy",
    "type" : "AX",
    "policy" : {
      "Version" : "1.1",
      "Statement" : [ {
        "Condition" : {
          "StringStartWith" : {
            "g:ProjectName" : [ "cn-north-1" ]
          }
        },
        "Action" : [ "obs:bucket:GetBucketAcl" ],
        "Resource" : [ "obs:*:*:bucket:*" ],
        "Effect" : "Allow"
      } ]
    }
  }, {
    "domain_id" : "d78cbac186b744899480f25bd022f...",
    "updated_time" : "1579229242358",
    "created_time" : "1579229242358",
    "description_cn" : "中文描述",
    "catalog" : "CUSTOMED",
    "name" : "custom_d78cbac186b744899480f25bd022f468_0",
    "description" : "IAMDescription",
    "links" : {
      "self" : "https://iam.myhuaweicloud.com/v3/roles/f67224e84dc849ab954ce29fb4f47..."
    },
    "id" : "f67224e84dc849ab954ce29fb4f473...",
    "display_name" : "IAMAgencyPolicy",
    "type" : "AX",
    "policy" : {
      "Version" : "1.1",
      "Statement" : [ {
        "Action" : [ "iam:tokens:assume" ],
        "Resource" : {
          "uri" : [ "/iam/agencies/agencyTest" ]
        },
        "Effect" : "Allow"
      } ]
    }
  } ],
  "links" : {
    "next" : null,
    "previous" : null,
    "self" : "https://iam.myhuaweicloud.com/v3/roles?domain_id=d78cbac186b744899480f25bd022f..."
  },
  "total_number" : 300
}
```
#### 返回值
| 返回值 | 描述      |
|:---|:---|
| 200 | 请求成功。   |
| 400 | 参数无效。   |
| 401 | 认证失败。   |
| 403 | 没有操作权限。 |
| 500 | 内部服务错误。 |
   
#### 错误码
无
