测试real application security的data security

先创建一个ACL

06:05:39 SQL> declare
	ace_list xs$ace_list;
begin
	ace_list := xs$ace_list(
		xs$ace_type(privilege_list=>xs$name_list('select'),granted=>true,principal_name=>'employee_role'),
		xs$ace_type(privilege_list=>xs$name_list('select','view_sensitive_info'),granted=>true,principal_name=>'manager_role'));
	xs_acl.create_acl(name=>'hracl',ace_list=>ace_list,sec_class=>'employees_sc');
end;
/
PL/SQL procedure successfully completed.

Elapsed: 00:00:00.05

06:13:43 SQL> create table employees(department_id number,first_name varchar2(20),last_name varchar2(20),salary number);

Table created.

Elapsed: 00:00:00.01

06:17:42 SQL> declare
	realm_cons xs$realm_constraint_list;
	column_cons xs$column_constraint_list;
begin
	realm_cons := xs$realm_constraint_list(xs$realm_constraint_type(realm=>'department_id in (60,100)',acl_list=>xs$name_list('hracl')));
	column_cons := xs$column_constraint_list(xs$column_constraint_type(column_list=> xs$list('salary'),privilege=>'view_sensitive_info'));
	xs_data_security.create_policy(
		name=>'employees_ds',realm_constraint_list=>realm_cons,column_constraint_list=>column_cons);
	xs_data_security.apply_objec06:17:56   2  t_policy(policy=>'employees_ds',schema=>'pdbadmin',object=>'employees',statement_types=>'select',owner_bypass=>true);
end;
/
PL/SQL procedure successfully completed.

Elapsed: 00:00:00.10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值