
# 获取权限集合 - ListPermissionSet
#### 功能介绍
获取权限集合。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/LakeFormation/doc?api=ListPermissionSet)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-lakeformation/abcd.html)。
#### URI
POST /v1/{project_id}/instances/{instance_id}/policies/permission-set
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释:** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-lakeformation/lakeformation_04_0026.html)。 **约束限制:** 长度为1\~64个字符 **取值范围:** 长度为1\~64个字符 **默认取值:** 不涉及 |
| instance_id | 是    | String | **参数解释:** LakeFormation实例ID。创建实例时自动生成。例如：2180518f-42b8-4947-b20b-adfc53981a25。 **约束限制:** 最小长度为1 **取值范围:** 最小长度为1 **默认取值:** 不涉及                                           |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | Array of strings | **参数解释:** 租户token。 **约束限制:** 数组元素个数为1\~100 **取值范围:** 数组元素个数为1\~100 **默认取值:** 不涉及 |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| resource       | 是    | [ResourceInput] object                     | **参数解释:** 资源信息 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                       |
| principal_list | 否    | Array of [AssociatePrincipal] objects | **参数解释:** 授权主体信息 **约束限制:** 数组元素个数为0\~100 **取值范围:** 数组元素个数为0\~100 **默认取值:** 不涉及 |
   
 表4ResourceInput 
| 参数            | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| resource_type | 是    | String           | **参数解释:** 元数据资源类型：CATALOG、DATABASE、TABLE、FUNC、MODEL、DATASET、COLUMN、URI **约束限制:** 可选值为：CATALOG, DATABASE, TABLE, FUNC, MODEL, DATASET, COLUMN, URI **取值范围:** 不涉及 **默认取值:** 不涉及 |
| catalog       | 否    | String           | **参数解释:** catalog名称。只能包含字母、数字和下划线，且长度为1\~256个字符 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                   |
| database      | 否    | String           | **参数解释:** 数据库名称。只能包含中文、字母、数字、下划线、中划线，且长度为1到128个字符 **约束限制:** 长度为1\~128个字符 **取值范围:** 长度为1\~128个字符 **默认取值:** 不涉及                                                                 |
| function      | 否    | String           | **参数解释:** 函数名称。只能包含字母、数字和下划线，且长度为1\~256个字符 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                        |
| table         | 否    | String           | **参数解释:** 表名称。只能包含中文、字母、数字、下划线、中划线，且长度为1\~256个字符 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                  |
| column        | 否    | String           | **参数解释:** 列名称。只能包含中文、字母、数字和_-+\*(), 特殊字符，且长度为1\~767个字符 **约束限制:** 长度为1\~767个字符 **取值范围:** 长度为1\~767个字符 **默认取值:** 不涉及                                                            |
| uri           | 否    | String           | **参数解释:** URI **约束限制:** 长度为0\~4000个字符 **取值范围:** 长度为0\~4000个字符 **默认取值:** 不涉及                                                                                                   |
| columns       | 否    | Array of strings | **参数解释:** 列名称列表 **约束限制:** 数组元素个数为0\~2000 **取值范围:** 长度为1\~767个字符，数组元素个数为0\~2000 **默认取值:** 不涉及                                                                                  |
| model         | 否    | String           | **参数解释:** 模型名称 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                                                    |
| dataset       | 否    | String           | **参数解释:** 数据集名称 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                                                   |
   
 表5AssociatePrincipal 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| principal_type   | 是    | String | **参数解释:** 主体类型： USER-用户 GROUP-组 ROLE-角色 SHARE-共享 OTHER-其它 **约束限制:** 可选值为：USER, GROUP, ROLE, SHARE, OTHER **取值范围:** 不涉及 **默认取值:** 不涉及                                                                      |
| principal_source | 是    | String | **参数解释:** 主体来源： IAM-云用户 SAML-联邦 LDAP-LDAP用户 LOCAL-本地用户 AGENTTENANT-委托 OTHER-其它 **约束限制:** 可选值为：IAM, SAML, LDAP, LOCAL, AGENTTENANT, OTHER **取值范围:** 不涉及 **默认取值:** 不涉及 |
| principal_name   | 是    | String | **参数解释:** 主体名称。长度为1\~128个字符。principal_name支持中划线'-'字符，但是对Principal进行授权时不支持'-'字符，可通过将有中划线的用户绑定到相关角色进行授权 **约束限制:** 长度为1\~128个字符 **取值范围:** 长度为1\~128个字符 **默认取值:** 不涉及                                                                                                                                                                                                                                  |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数                    | 参数类型                                                                                       | 描述                                                    |
|:---|:---|:---|
| principal_permissions | Array of [PrincipalPermissions] objects | **参数解释:** 授权主体权限 |
   
 表7PrincipalPermissions 
| 参数                     | 参数类型                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| principal              | [AssociatePrincipal] object | **参数解释:** 授权主体                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| permissions            | Array of strings                                                             | **参数解释:** 权限列表：ALL、CREATE、ALTER、DROP、DESCRIBE、EXEC、CREATE_DATABASE、LIST_DATABASE、CREATE_TABLE、LIST_TABLE、CREATE_FUNC、LIST_FUNC、REGISTER_MODEL、LIST_MODEL、CREATE_MODEL、CREATE_DATASET、LIST_DATASET、READ_DATASET、WRITE_DATASET、INSERT、UPDATE、DELETE、SELECT、READ、WRITE、OPERATE、INTROSPECTION、SOURCES、DICT GET、TRUNCATE、 OPTIMIZE、CREATE TEMPORARY TABLE、CREATE DICTIONARY、CREATE VIEW、SHOW DATABASES、SHOW TABLES、SHOW DICTIONARIES、SHOW COLUMNS、DROP DATABASE、DROP VIEW、DROP DICTIONARY、DROP TABLE、ALTER TABLE、ALTER UPDATE、ALTER DELETE、ALTER COLUMN、ALTER ADD COLUMN、ALTER DROP COLUMN、ALTER MODIFY COLUMN、ALTER COMMENT COLUMN、ALTER CLEAR COLUMN、 ALTER RENAME COLUMN、ALTER INDEX、ALTER ORDER BY、ALTER ADD INDEX、ALTER DROP INDEX、ALTER MATERIALIZE INDEX、ALTER CLEAR INDEX、ALTER CONSTRAINT、ALTER ADD CONSTRAINT、ALTER DROP CONSTRAINT、ALTER TTL、ALTER MATERIALIZE TTL、ALTER SETTINGS、ALTER MOVE PARTITION、ALTER FETCH PARTITION、ALTER FREEZE PARTITION、ALTER VIEW、ALTER VIEW REFRESH、ALTER VIEW MODIFY QUERY     |
| grant_able_permissions | Array of strings                                                             | **参数解释:** 可传递的权限列表：ALL、CREATE、ALTER、DROP、DESCRIBE、EXEC、CREATE_DATABASE、LIST_DATABASE、CREATE_TABLE、LIST_TABLE、CREATE_FUNC、LIST_FUNC、REGISTER_MODEL、LIST_MODEL、CREATE_MODEL、CREATE_DATASET、LIST_DATASET、READ_DATASET、WRITE_DATASET、INSERT,UPDATE、DELETE、SELECT、READ、WRITE、OPERATE、INTROSPECTION、SOURCES、DICT GET、 TRUNCATE、OPTIMIZE、CREATE TEMPORARY TABLE、CREATE DICTIONARY、CREATE VIEW、SHOW DATABASES、SHOW TABLES、SHOW DICTIONARIES、SHOW COLUMNS、DROP DATABASE、DROP VIEW、DROP DICTIONARY、DROP TABLE、ALTER TABLE、ALTER UPDATE、ALTER DELETE、ALTER COLUMN、ALTER ADD COLUMN、ALTER DROP COLUMN、ALTER MODIFY COLUMN、ALTER COMMENT COLUMN、ALTER CLEAR COLUMN、 ALTER RENAME COLUMN、ALTER INDEX、ALTER ORDER BY、ALTER ADD INDEX、ALTER DROP INDEX、ALTER MATERIALIZE INDEX、ALTER CLEAR INDEX、ALTER CONSTRAINT、ALTER ADD CONSTRAINT、ALTER DROP CONSTRAINT、ALTER TTL、ALTER MATERIALIZE TTL、ALTER SETTINGS、ALTER MOVE PARTITION、ALTER FETCH PARTITION、ALTER FREEZE PARTITION、ALTER VIEW、ALTER VIEW REFRESH、ALTER VIEW MODIFY QUERY |
   
 表8AssociatePrincipal 
| 参数               | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| principal_type   | String | **参数解释:** 主体类型： USER-用户 GROUP-组 ROLE-角色 SHARE-共享 OTHER-其它 **取值范围:** 不涉及                                                           |
| principal_source | String | **参数解释:** 主体来源： IAM-云用户 SAML-联邦 LDAP-LDAP用户 LOCAL-本地用户 AGENTTENANT-委托 OTHER-其它 **取值范围:** 不涉及 |
| principal_name   | String | **参数解释:** 主体名称。长度为1\~128个字符。principal_name支持中划线'-'字符，但是对Principal进行授权时不支持'-'字符，可通过将有中划线的用户绑定到相关角色进行授权 **取值范围:** 长度为1\~128个字符                                                                                                                                                                                               |
   
**状态码：400**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                    |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：401**
表10响应Body参数 
| 参数           | 参数类型   | 描述                                                    |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：403**
表11响应Body参数 
| 参数         | 参数类型                                               | 描述                                                  |
|:---|:---|:---|
| error      | [Error] object | **参数解释:** 错误信息 |
| error_code | String                                             | **参数解释:** 错误码  |
| error_msg  | String                                             | **参数解释:** 错误描述 |
| title      | String                                             | **参数解释:** 标题   |
   
 表12Error 
| 参数         | 参数类型   | 描述                                                  |
|:---|:---|:---|
| error_code | String | **参数解释:** 错误码  |
| error_msg  | String | **参数解释:** 错误描述 |
| title      | String | **参数解释:** 标题   |
| message    | String | **参数解释:** 错误信息 |
| code       | String | **参数解释:** 状态码  |
   
**状态码：404**
表13响应Body参数 
| 参数           | 参数类型   | 描述                                                    |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：408**
表14响应Body参数 
| 参数           | 参数类型   | 描述                                                    |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：500**
表15响应Body参数 
| 参数           | 参数类型   | 描述                                                    |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
#### 请求示例
```
GET /v1/{project_id}/instances/{instance_id}/policies/permission-set
{
  "resource" : {
    "resource_type" : "DATABASE",
    "catalog" : "catalog1",
    "database" : "db1"
  },
  "principal_list" : [ {
    "principal_type" : "USER",
    "principal_source" : "IAM",
    "principal_name" : "user1"
  } ]
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "principal_permissions" : [ {
    "principal" : {
      "principal_type" : "USER",
      "principal_source" : "IAM",
      "principal_name" : "user1"
    },
    "permissions" : [ "ALTER" ],
    "grant_able_permissions" : [ "ALTER" ]
  } ]
}
```
**状态码：400**
Bad Request
```
{
  "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",
    "error_code" : null,
    "error_msg" : null,
    "title" : "Forbidden"
  },
  "error_code" : "403",
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}
```
**状态码：404**
Not Found
```
{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}
```
**状态码：408**
Request Timeout
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
Internal Server Error
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 408 | Request Timeout       |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-lakeformation/ErrorCode.html)。
