更新时间:2024-02-21 GMT+08:00

批量鉴权

功能介绍

批量鉴权,此接口仅能从租户面调用,无法从管控面调用。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/instances/{instance_id}/policies/check-permission

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目编号。获取方法,请参见获取项目ID

instance_id

String

LakeFormation实例ID。创建实例时自动生成。例如:2180518f-42b8-4947-b20b-adfc53981a25。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

Array of strings

租户token。

表3 请求Body参数

参数

是否必选

参数类型

描述

access_request

Array of AccessRequest objects

主体信息。

表4 AccessRequest

参数

是否必选

参数类型

描述

resource

ResourceInput object

资源信息。

principal

Array of Principal objects

授权主体信息。

action

String

权限信息:ALL、CREATE、ALTER、DROP、DESCRIBE、EXEC、CREATE_DATABASE、LIST_DATABASE、CREATE_TABLE、LIST_TABLE、CREATE_FUNC、LIST_FUNC、REGISTER_MODEL、LIST_MODEL、INSERT、UPDATE、DELETE、SELECT、READ、WRITE、OPERATE、USE。

枚举值:

  • ALL

  • CREATE

  • ALTER

  • DROP

  • DESCRIBE

  • EXEC

  • CREATE_DATABASE

  • LIST_DATABASE

  • CREATE_TABLE

  • LIST_TABLE

  • CREATE_FUNC

  • LIST_FUNC

  • REGISTER_MODEL

  • LIST_MODEL

  • INSERT

  • UPDATE

  • DELETE

  • SELECT

  • READ

  • WRITE

  • OPERATE

  • USE

表5 ResourceInput

参数

是否必选

参数类型

描述

resource_type

String

元数据资源类型:CATALOG、DATABASE、TABLE、FUNC、MODEL、COLUMN、URI。

枚举值:

  • CATALOG

  • DATABASE

  • TABLE

  • FUNC

  • MODEL

  • COLUMN

  • URI

catalog

String

catalog名称。只能包含字母、数字和下划线,且长度为1~256个字符。

database

String

数据库名称。只能包含中文、字母、数字、下划线、中划线,且长度为1到128个字符。

function

String

函数名称。只能包含字母、数字和下划线,且长度为1~256个字符。

table

String

表名称。只能包含中文、字母、数字、下划线、中划线,且长度为1~256个字符。

column

String

列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。

uri

String

URI

columns

Array of strings

列名称列表。

表6 Principal

参数

是否必选

参数类型

描述

principal_type

String

主体类型: USER-用户、 GROUP-组、 ROLE-角色、 SHARE-共享、 OTHER-其它。

枚举值:

  • USER

  • GROUP

  • ROLE

  • SHARE

  • OTHER

principal_source

String

主体来源: IAM-云用户、 SAML-联邦、 LDAP ld-用户、 LOCAL-本地用户、 AGENTTENANT-委托、 OTHER-其它。

枚举值:

  • IAM

  • SAML

  • LDAP

  • LOCAL

  • AGENTTENANT

  • OTHER

principal_name

String

主体名称。只能包含中文、字母、数字和_-.特殊字符,且长度为1~49个字符。

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

[数组元素]

Array of CheckPermissionResult objects

OK

表8 CheckPermissionResult

参数

参数类型

描述

check_result

Boolean

对应输入策略的检查结果。

error_message

String

错误信息。

data_filters

Array of strings

行过滤条件列表。

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 404

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 500

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

请求示例

GET https://{endpoint}/v1/{project_id}/instances/{instance_id}/policies/check-permission

{
  "access_request" : [ {
    "resource" : {
      "resource_type" : "DATABASE",
      "catalog" : "hive",
      "database" : "test_database_name"
    },
    "principal" : [ {
      "principal_type" : "GROUP",
      "principal_source" : "IAM",
      "principal_name" : "onebox"
    } ],
    "action" : "ALL"
  } ]
}

响应示例

状态码: 200

OK

[ {
  "check_result" : false,
  "error_message" : "test error message"
} ]

状态码: 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

错误码

请参见错误码