授權和回收權限的GRANT/REVOKE語句
更新時間 2025-06-17 10:59:03
最近更新時間: 2025-06-17 10:59:03
分享文章
DRDS支持直接連接dbproxy執行DDL語句,本文為您介紹dbproxy支持授權和回收權限的GRANT/REVOKE語句。
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';