getUserAccess
语法
getUserAccess([userIds], [finalAccess=false])
参数
userId 是表示一个或多个用户的字符串标量或向量。
finalAccess 为布尔值,表示是否获取用户及其所属组权限叠加的结果。默认值为 false。
详情
指定 userId 时:
-
若 finalAccess = false,则返回指定用户所单独被赋予的权限,不包括用户所属组的权限。
-
若 finalAccess = true,则返回指定用户及其所属组的权限组合后的最终生效权限。
当没有指定 userId 时,返回当前登录用户的权限。
该函数只能由管理员在控制节点/数据节点上执行。
以下分别介绍返回表的各参数的详情:
参数 | 详情 |
---|---|
userId | 用户名 |
groups | 组名 |
isAdmin | 是否是管理员。 |
MAX_JOB_PRIORITY | 该用户对应的作业最高优先级,范围是0-8,可以通过 setMaxJobPriority
指定。 |
MAX_PARALLELISM | 该用户提交的作业最多可以有多少个子任务同时并行执行,可以通过
setMaxJobParallelism 指定。 |
QUERY_RESULT_MEM_LIMIT | 该用户单次查询结果的占用内存上限,浮点类型,单位为 GB。可以通过 grant
指定,revoke 撤销。 |
TASK_GROUP_MEM_LIMIT | 该用户发送的批量子查询占用的内存上限,浮点类型,单位为 GB。可以通过 grant
指定,revoke 撤销。 |
以下字段对应权限,其值为 “allow" / "none" / "deny" :
权限 |
---|
ACCESS_READ |
ACCESS_INSERT |
ACCESS_UPDATE |
ACCESS_DELETE |
VIEW_EXEC |
SCRIPT_EXEC |
TEST_EXEC |
DBOBJ_CREATE |
DBOBJ_DELETE |
DB_MANAGE |
DB_OWNER |
VIEW_OWNER |
注意:
-
自 2.00.9 版本开始,新增了表和数据库的插入更新和删除权限(即对写权限进行拓展),因此旧版本的 TABLE_WRITE 字段由 TABLE_INSERT,TABLE_UPDATE,TALBE_DELETE 字段替代。
-
由于 DB_READ / DB_WRITE / DB_INSERT / DB_UPDATE / DB_DELETE 权限其作用对象为库下的所有表,因此在 getUserAccess 函数的返回字段中,被统一为 TABLE_READ / TABLE_INSERT / TABLE_UPDATE / TALBE_DELETE,可以通过下述权限应用的具体对象表的字段来区分其作用范围。
以下几个字段表示权限应用的具体对象:
对象 |
---|
TABLE_READ_allowed |
TABLE_READ_denied |
TABLE_INSERT_allowed |
TABLE_INSERT_denied |
TABLE_UPDATE_allowed |
TABLE_UPDATE_denied |
TABLE_DELETE_allowed |
TABLE_DELETE_denied |
DB_READ_allowed |
DB_READ_denied |
DB_INSERT_allowed |
DB_INSERT_denied |
DB_UPDATE_allowed |
DB_UPDATE_denied |
DB_DELETE_allowed |
DB_DELETE_denied |
VIEW_EXEC_allowed |
VIEW_EXEC_denied |
DBOBJ_CREATE_allowed |
DBOBJ_CREATE_denied |
DBOBJ_DELETE_allowed |
DBOBJ_DELETE_denied |
DB_OWNER_allowed |
DB_MANAGE_allowed |
DB_MANAGE_denied |