grant

语法

grant(id, accessType, [objs])

参数

id 是表示用户名或组名的字符串。

accessType 是权限类型。包括以下9种权限:

  1. TABLE_READ:读取指定数据表

  2. TABLE_WRITE:写入指定数据表

  3. DBOBJ_CREATE:在某个数据库中创建数据表

  4. DBOBJ_DELETE:删除某个数据库中的数据表

  5. VIEW_EXEC:执行某个视图

  6. DB_MANAGE:创建以及删除数据库。可删除任何人所建数据库,包括具有DB_OWNER权限之用户所建数据库。

  7. DB_OWNER:创建数据库并管理其创建的数据库,包括删除数据库、创建或删除数据表、增加或删除分区、可赋予、禁止或取消其他用户对自己创建的数据库的以下权限:TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE。

  8. SCRIPT_EXEC:执行脚本

  9. TEST_EXEC:执行测试脚本

1.30.1 新版功能: DB_OWNER 权限

objs 是表示权限类型的应用对象。若权限类型为TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE或VIEW_EXEC, 它是一个必需参数。若权限类型为DB_MANAGE, DB_OWNER, SCRIPT_EXEC和TEST_EXEC, 它可以省略。

详情

授予某个用户或某个群权限。该命令只能是管理员在控制器节点上执行。

例子

授予组"research"的所有成员读取所有数据库表的权限:

$ grant(`research, TABLE_READ, "*")

授予组"research"的所有成员读写表 dfs://db1/t1 的权限:

$ grant(`research, TABLE_WRITE, "dfs://db1/t1")

授予组"research"的所有成员在数据库 dfs://db1dfs://db2 创建表的权限:

$ grant("research", DBOBJ_CREATE, ["dfs://db1","dfs://db2"])

授予用户"AlexSmith"创建和删除数据库的权限:

$ grant("AlexSmith", DB_MANAGE)

授予用户"AlexSmith"执行脚本的权限:

$ grant("AlexSmith", SCRIPT_EXEC)

授予用户"AlexSmith"测试脚本的权限:

$ grant("AlexSmith", TEST_EXEC)