数据库
安全性
启动 Oracle Database Vault 并以 LBACSYS 身份(OLS 模式的所有者)登录,创建一个存储用户许可标签的 Label Security 策略。它们在后面将用作 Oracle Database Vault 中的考虑因素:
$ sqlplus LBACSYS/password
SQL> execute sa_sysdba.create_policy('PRIVACY','PRIVACY_COLUMN','NO_CONTROL');
以下命令创建 OLS 策略中用到的两个级别:
SQL> execute sa_components.create_level('PRIVACY',1000,'C','CONFIDENTIAL');
SQL> execute sa_components.create_level('PRIVACY',2000,'S','SENSITIVE');
下一条命令创建“PII”分隔:
SQL> execute sa_components.create_compartment('PRIVACY',100,'PII','PERS_INFO');
用户 JSmith 被授予较不敏感的标签:
SQL> execute sa_user_admin.set_user_labels('PRIVACY','JSmith','C');
用户 MDale 被授予较为敏感的标签,它也包括 PII 分隔:
SQL> execute sa_user_admin.set_user_labels('PRIVACY','MDale','S:PII');
为了将 OLS 标签用作 Database Vault 中的考虑因素,您需要先创建一个“规则集”:
SQL> connect dbv_owner/password;
SQL> execute dvsys.dbms_macadm.create_rule_set('PII Rule Set','Protect PII
data from privileged users','Y',1,0,2,NULL,NULL,0,NULL);
规则集包含一条或多条规则;此规则包含用于评估 OLS 标签的语法:
SQL> execute dvsys.dbms_macadm.create_rule('Check OLS Factor',
'dominates(sa_utl.numeric_label(''PRIVACY''),
char_to_label(''PRIVACY'',''S:PII'')) = ''1''');
SQL> execute dvsys.dbms_macadm.sync_rules;
SQL> commit;
将规则添加到规则集:
SQL> execute dvsys.dbms_macadm.add_rule_to_rule_set
('PII Rule Set','Check OLS Factor');
SQL> commit;