1 授予DBSECADM权限
grant DBSECADM to gbasedbt;
2 创建安全标签组件
CREATE SECURITY LABEL COMPONENT levels ARRAY [ 'top', 'sec', 'thir'];
信息存储于如下系统表
select * from sysseclabelcomponents;
select * from sysseclabelcomponentelements;
3 创建安全策略
CREATE SECURITY POLICY company COMPONENTS levels;
信息存储于如下系统表
select * from syssecpolicies;
select * from syssecpolicycomponents;
4 创建安全标签
CREATE SECURITY LABEL company.label1 COMPONENT levels 'sec';
CREATE SECURITY LABEL company.label2 COMPONENT levels 'top';
信息存储于如下系统表
select * from sysseclabels;
5 将标签授予用户
GRANT SECURITY LABEL company.label1 TO root;
GRANT SECURITY LABEL company.label2 TO test;
6 创建测试表,对 c2列 添加标签
create table tttvvv(c1 int,c2 char(1) COLUMN secured with label1) SECURITY POLICY company;
在使用 root 或者test 用户是可以访问c2列,其他用户则报错
ARRAY 标签组件的特点为权限从左到右一次降低,即使用权限高的标签可以访问低权限标签的资源
更多关于标签访问控制请参考gbase8s语法手册