密级管理
密级,也称为敏感度等级。数值越大,密级越高。
说明
目前,密级管理只适用于 KaiwuDB 关系库和关系表。
创建密级
CREATE LEVEL
语句用于创建密级。
前提条件
- 非三权分立模式下,用户是
admin
角色的成员。默认情况下,root
用户属于admin
角色。 - 三权分立模式下,用户是
secadmin
角色的成员。默认情况下,secroot
用户属于secadmin
角色。
语法格式
CREATE LEVEL <level_name> = <level_num>;
参数说明
参数 | 说明 |
---|---|
level_name | 待创建密级的名称。该名称在数据库中必须唯一,且遵循数据库标识符规则。密级名称不支持使用冒号(: )和逗号(, )。 |
level_num | 密级的级别。取值必须是整数值,范围是 0-9999 。数字越大,密级越高。 |
语法示例
以下示例创建一个密级,并将密级的级别设置为 20
。
CREATE LEVEL CONFIDENTIAL = 20;
查看密级
SHOW LEVELS
语句用于查看所有密级。
前提条件
无
语法格式
SHOW LEVELS;
参数说明
无
语法示例
以下示例查看数据库的所有密级。
SHOW LEVELS;
执行成功后,控制台输出以下信息:
level_name | level_num
---------------+------------
CONFIDENTIAL | 0
Info | 10
confidential | 20
(3 rows)
删除密级
DROP LEVEL
语句用于删除密级。每条语句支持删除一个密级。
说明
如果标记定义中已经引用目标密级,KaiwuDB 不支持删除该密级。
前提条件
- 非三权分立模式下,用户是
admin
角色的成员。默认情况下,root
用户属于admin
角色。 - 三权分立模式下,用户是
secadmin
角色的成员。默认情况下,secroot
用户属于secadmin
角色。
语法格式
DROP LEVEL [IF EXISTS] <level_name>;
参数说明
参数 | 说明 |
---|---|
IF EXISTS | 可选关键字。当使用 IF EXISTS 关键字时,如果目标密级存在,系统删除目标密级。如果目标密级不存在,系统删除目标密级失败,但不会报错。当未使用 IF EXISTS 关键字时,如果目标密级存在,系统删除目标密级。如果目标密级不存在,系统报错,提示目标密级不存在。 |
level_name | 待删除密级的名称。 |
语法示例
以下示例删除一个密级。
DROP LEVEL CONFIDENTIAL;