GRANT语句
支持的语法:
# 授权库表权限给用户或者角色
UDAL GRANT { 权限列表 | ALL } ON { SCHEMA | TABLE } '对象名称' TO { USER | ROLE } '授权对象';
# 授权角色权限给用户
UDAL GRANT ROLE '角色列表' to USER 'user_name';
语法说明:
权限列表:目前支持填写ALL代表拥有所有权限,以及可选权限:SELECT\DELETE\UPDATE\INSERT\TRUNCATE\DECRYPT,当需要同时设置多个权限,用逗号进行隔开,必填
对象名称:当需要授权库权限时填写库名,当需要授权表权限时填写表名格式为schema_name.table_name,目前仅支持对单个表或者库进行授权,必填
授权对象:填写用户名或者表名,必填
角色列表:赋予用户的角色,可以是多个角色,如果是同时赋予多个角色,需要用逗号分开并用单引号或双引号包括起来,必填
user_name:需要赋权的用户名,必填
使用示例:
# 授权库权限给用户test
UDAL GRANT ALL ON SCHEMA 'bugtest' TO USER 'test';
# 授权表权限给用户test
UDAL GRANT SELECT,INSERT ON TABLE 'bugtest.sharding1' TO USER 'test';
# 授权角色权限给用户test
UDAL GRANT ROLE 'role1, role2' to USER 'test';
# 授权库权限给角色role1
UDAL GRANT all on schema 'bugtest' to role 'role1';
# 授权表权限给角色role1
UDAL GRANT delete on table 'bugtest.sharding1' to role 'role1';
REVOKE语句
支持的语法:
# 从角色或者用户回收库表权限
UDAL REVOKE { 权限列表 | ALL } ON { SCHEMA | TABLE } '对象名称' FROM { USER | ROLE } '授权对象';
# 从用户回收授权的角色权限
UDAL REVOKE ROLE '角色列表' FROM USER 'user_name';
语法说明:
权限列表:填写ALL代表回收所拥有的ALL权限,以及可选回收权限:SELECT\DELETE\UPDATE\INSERT\TRUNCATE\DECRYPT,当需要同时设置多个权限,用逗号进行隔开,必填
对象名称:当回收库权限时填写库名,当需要回收表权限时填写表名格式为 schema_name.table_name,目前仅支持对单个表或者库进行权限回收,必填
授权对象:填写用户名或者表名,必填
角色列表:回收的角色,可以是多个角色,如果是同时回收多个角色,需要用逗号分开并用单引号或双引号包括起来,必填
user_name:需要回收权限的用户名,必填
使用示例:
# 回收用户test的库权限
UDAL REVOKE ALL ON SCHEMA 'bugtest' FROM USER 'test';
# 回收用户test的表权限
UDAL REVOKE SELECT,INSERT ON TABLE 'bugtest.sharding1' FROM USER 'test';
# 回收用户test的角色权限
UDAL REVOKE ROLE 'role1, role2' FROM USER 'test';
# 回收角色role1的库权限
UDAL REVOKE all on schema 'bugtest' FROM role 'role1';
# 回收角色role1的表权限
UDAL REVOKE delete on table 'bugtest.sharding1' FROM role 'role1';