
# 查询服务委托 - ListAgency
#### 功能介绍
查询授权给DataArts Fabric服务的委托。用户调用该接口查询已授权给DataArts Fabric的委托，以及委托中具体的权限内容。此接口为同步接口，无配套使用接口和特殊场景。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DataArtsFabric/doc?api=ListAgency)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0014.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
#### URI
GET /v1/agency
表1Query参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| policy_type | 否    | String | **参数解释**：策略类型。 **约束限制**：支持模糊匹配。 **取值范围**： - FABRIC_COMMON_POLICY：基础通用服务相关权限策略，是委托必需的权限策略； - FABRIC_SELF_POLICY：访问自身服务所需要的权限策略； - FABRIC_SMN_POLICY：消息通知功能相关权限策略，用来将系统通知消息转发到SMN； - FABRIC_LAKEFORMATION_POLICY：LakeFormation功能相关权限策略； - FABRIC_AOM_POLICY：AOM功能相关权限策略。 - FABRIC_SWR_POLICY：镜像包注册功能相关权限策略。 - FABRIC_LTS_POLICY：日志功能相关权限策略。 - FABRIC_VPCEP_POLICY：网络打通功能相关权限策略。 - FABRIC_DNS_POLICY：DNS相关权限策略。 - FABRIC_OBS_POLICY：OBS相关权限策略。 **默认取值**：不涉及。 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | **参数解释** ：租户Token。用于调用接口的认证。获取方法，请参见[认证鉴权](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0005.html)。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数              | 参数类型                                                                                  | 描述                                                                                                      |
|:---|:---|:---|
| agency_name     | String                                                                                | **参数解释**：委托名称。 **约束限制**：不涉及。 **取值范围**：长度\[1,128\]。 **默认取值**：不涉及。                                        |
| authorized      | Boolean                                                                               | **参数解释**：授权与否。如果用户的服务委托权限包含系统所需要的委托权限返回true，否则返回false。 **约束限制**：不涉及。 **取值范围**：true，false。 **默认取值**：不涉及。 |
| agency_policies | Array of [AgencyPolicy] objects | **参数解释**：委托策略列表。 **约束限制**：\[1,100\]。                                                                    |
   
 表4AgencyPolicy 
| 参数          | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| policy_type | String           | **参数解释**：权限类型列表；使用Fabric的功能，可能需要授权一些权限策略，可以在policy_types中加入策略类型来授权权限。 **约束限制**：不涉及。 **取值范围**： - FABRIC_COMMON_POLICY：基础通用服务相关权限策略，是委托必需的权限策略； - FABRIC_SELF_POLICY：访问自身服务所需要的权限策略； - FABRIC_SMN_POLICY：消息通知功能相关权限策略，用来将系统通知消息转发到SMN； - FABRIC_LAKEFORMATION_POLICY：LakeFormation功能相关权限策略； - FABRIC_AOM_POLICY：AOM功能相关权限策略。 - FABRIC_SWR_POLICY：镜像包注册功能相关权限策略。 - FABRIC_LTS_POLICY：日志功能相关权限策略。 - FABRIC_VPCEP_POLICY：网络打通功能相关权限策略。 - FABRIC_DNS_POLICY：DNS相关权限策略。 **默认取值**：不涉及。 |
| is_required | Boolean          | **参数解释**：是否是必需的。 **约束限制**：不涉及。 **取值范围**：true，false。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                              |
| is_enable   | Boolean          | **参数解释**：是否已开启。 **约束限制**：不涉及。 **取值范围**：true，false。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                               |
| actions     | Array of strings | **参数解释**：权限列表。 **约束限制**：\[0,1000\]。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| description | String           | **参数解释**：策略描述。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
**状态码：400**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：401**
表6响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：404**
表7响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：408**
表8响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：500**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
#### 请求示例
```
GET https://{endpoint}/v1/agency
```
#### 响应示例
**状态码：200**
查询委托响应体。
```
{
  "agency_name" : "admin_trust",
  "authorized" : true,
  "agency_policies" : [ {
    "policy_type" : "FABRIC_COMMON_POLICY",
    "is_required" : false,
    "is_enable" : true,
    "actions" : [ "lakeformation:instance:show" ],
    "description" : "使用DataArts Fabric过程中需要获取一些必要的权限。"
  } ]
}
```
**状态码：400**
BadRequest
```
{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
Forbidden
```
{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "title" : "Forbidden"
  },
  "error_code" : 403,
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}
```
**状态码：404**
NotFound
```
{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}
```
**状态码：408**
Request Time-out
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
InternalServerError
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述                  |
|:---|:---|
| 200 | 查询委托响应体。            |
| 400 | BadRequest          |
| 401 | Unauthorized        |
| 403 | Forbidden           |
| 404 | NotFound            |
| 408 | Request Time-out    |
| 500 | InternalServerError |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0028.html)。
