批量鉴权 - BatchCheckPermission
功能介绍
批量鉴权,此接口仅能从租户面调用,无法从管控面调用。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v1/{project_id}/instances/{instance_id}/policies/check-permission
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目编号。获取方法,请参见获取项目ID。 |
| instance_id | 是 | String | LakeFormation实例ID。创建实例时自动生成。例如:2180518f-42b8-4947-b20b-adfc53981a25。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | Array of strings | 租户token。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| access_request | 是 | Array of AccessRequest objects | 主体信息。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| resource | 是 | ResourceInput object | 资源信息。 |
| principal | 是 | Array of AssociatePrincipal 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、CREATE_MODEL、CREATE_DATASET、LIST_DATASET、INSERT、UPDATE、DELETE、SELECT、READ、WRITE、OPERATE、USE。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| resource_type | 是 | String | 元数据资源类型:CATALOG、DATABASE、TABLE、FUNC、MODEL、DATASET、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 | 列名称列表。 |
| model | 否 | String | 模型名称。 |
| dataset | 否 | String | 数据集名称。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| principal_type | 是 | String | 主体类型: USER-用户、 GROUP-组、 ROLE-角色、 SHARE-共享、 OTHER-其它。 |
| principal_source | 是 | String | 主体来源: IAM-云用户、 SAML-联邦、 LDAP ld-用户、 LOCAL-本地用户、 AGENTTENANT-委托、 OTHER-其它。 |
| principal_name | 是 | String | 主体名称。长度为1~128个字符。principal_name支持中划线'-'字符,但是对Principal进行授权时不支持'-'字符,可通过将有中划线的用户绑定到相关角色进行授权。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| [数组元素] | Array of CheckPermissionResult objects | 查询权限返回结果。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| check_result | Boolean | 对应输入策略的检查结果。 |
| error_message | String | 错误信息。 |
| data_filters | Array of strings | 行过滤条件列表。 |
| data_masks | Array of DataMask objects | 列脱敏条件列表。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| data_mask_type | String | data mask type:REDACT修订, HASH哈希加密,PARTIAL_MASK部分掩码,NULLIFY用NULL值替换原值,UNMASKED原样显示,DATA_ONLY_SHOW_YEAR仅显示日期字符串的年份部分,CUSTOM自定义脱敏规则。 |
| data_mask | String | 脱敏规则选项。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| solution_msg | String | 解决方案描述。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| solution_msg | String | 解决方案描述。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Error object | 错误信息。 |
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| title | String | 标题。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| title | String | 标题。 |
| message | String | 错误信息。 |
| code | String | 状态码。 |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| solution_msg | String | 解决方案描述。 |
状态码:408
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| solution_msg | String | 解决方案描述。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 |
错误码
请参见错误码。