权限管理
KaiwuDB 支持对数据库和表在内的数据库对象的访问和操作权限进行管理,从而确保数据库安全性。下表列出 KaiwuDB 支持的权限。
权限 | 说明 | 操作对象 |
---|---|---|
ALL | 对指定数据库对象执行所有操作。 | - DATABASE - TABLE - SCHEMA(只适用于关系数据的自定义模式) |
CREATE | 创建新对象。 | - DATABASE - TABLE - SCHEMA(只适用于关系数据的自定义模式) |
DROP | 删除指定对象。 | - DATABASE - TABLE - SCHEMA(只适用于关系数据的自定义模式) |
GRANT | 授予指定用户特定权限。 | - DATABASE - TABLE - SCHEMA(只适用于关系数据的自定义模式) |
SELECT | 对指定数据表执行查询操作。 | TABLE |
INSERT | 对指定数据表执行数据插入操作。 | TABLE |
DELETE | 删除指定数据表。 | TABLE |
UPDATE | 更新指定数据表。 | TABLE |
授予权限
GRANT <privileges>
语句用于为用户授予指定对象的操作权限。每条语句支持为多个用户授予多个权限。
所需权限
用户拥有 Admin(ALL)权限。
语法格式
参数说明
参数 | 说明 |
---|---|
table_name | 表名,支持同时授予多张表的权限。表名之间使用逗号(, )隔开。,权限名称。 |
database_name | 数据库名,支持同时一次授予多个数据库的权限。数据库名之间使用逗号(, )隔开。 |
schema_name | 模式名。支持同时授予多个用户自定义模式的权限。模式名称之间使用逗号(, )隔开。说明 该参数只适用于关系数据。 |
user_name | 授予权限的用户或角色名称,支持同时向多个用户或角色授予权限。用户或角色名称之间使用逗号(, )隔开。 |
语法示例
以下示例授予 operatora
用户 db1
和 defaultdb
数据库的创建权限。
GRANT CREATE ON DATABASE db1, defaultdb TO operatora;
撤销权限
REVOKE <privileges>
语句用于撤销用户指定对象的权限。每条语句支持撤销多个用户的多个权限。
所需权限
用户拥有 Admin(ALL)权限。
语法格式
参数说明
参数 | 说明 |
---|---|
table_name | 表名,支持同时撤销多张表的权限。表名之间使用逗号(, )隔开。,权限名称。 |
database_name | 数据库名,支持同时撤销多个数据库的权限。数据库名之间使用逗号(, )隔开。 |
schema_name | 模式名。支持同时撤销多个用户自定义模式的权限。模式名称之间使用逗号(, )隔开。说明 该参数只适用于关系数据。 |
user_name | 撤销权限的用户或角色名称,支持同时撤销多个用户或角色的权限。用户或角色名称之间使用逗号(, )隔开。 |
语法示例
以下示例撤销 user11
用户 db1
和 defaultdb
数据库的创建权限。
REVOKE CREATE ON DATABASE db1, defaultdb FROM user11;
查看权限
SHOW GRANTS
语句用于查看用户在指定对象中的权限。
所需权限
无
语法格式
参数说明
参数 | 说明 |
---|---|
table_name | 表名,支持同时查看多张表的权限。表名之间使用逗号(, )隔开。,权限名称。 |
database_name | 数据库名,支持同时查看多个数据库的权限。数据库名之间使用逗号(, )隔开。 |
schema_name | 模式名。支持同时查看多个用户自定义模式的权限。模式名称之间使用逗号(, )隔开。说明 该参数只适用于关系数据。 |
user_name | 撤销权限的用户或角色名称,支持同时查看多个用户或角色的权限。用户或角色名称之间使用逗号(, )隔开。 |
语法示例
以下示例查看 defaultdb
数据库中 t1
表的用户权限的分配情况。
SHOW GRANTS ON TABLE defaultdb.t1;
执行成功后,命令行输出以下信息:
database_name|schema_name|table_name|grantee|privilege_type
-------------+-----------+----------+-------+--------------
defaultdb |public |t1 |admin |ALL
defaultdb |public |t1 |root |ALL
defaultdb |public |t1 |user11 |DELETE
(3 rows)