创建控制列表并赋权
/**
- `acl`:ACL的名称,必须以.xml结尾;
- `description`:ACL的描述信息;
- `principal`:ACL所属的用户或角色;
- `is_grant`:是否允许主体访问受保护的资源;
- `privilege`:主体可以访问的资源。
*/
BEGIN
dbms_network_acl_admin.create_acl(acl => 'test_acl_file.xml'
,description => 'this is a test'
,principal => 'APPS'
,is_grant => TRUE
,privilege => 'connect'
,start_date => null
,end_date => NULL);
COMMIT;
END;
给网络分配一个访问控制列表
/**
- `acl`:要分配的ACL的名称;
- `host`:要分配ACL的主机名或IP地址;
- `lower_port`:要分配ACL的端口号范围的下限;
- `upper_port`:要分配ACL的端口号范围的上限。
*/
BEGIN
dbms_network_acl_admin.assign_acl(acl => 'test_acl_file.xml'
,host => 'www.test.com'
,lower_port => 80
,upper_port => NULL);
COMMIT;
END;
使用DROP_ACL删除访问控制列表
BEGIN
dbms_network_acl_admin.drop_acl(acl => 'test_acl_file.xml');
COMMIT;
END;
添加新用户
BEGIN
dbms_network_acl_admin.add_privilege(acl => 'test_acl_file.xml'
,principal => 'hhhh'
,is_grant => FALSE
,privilege => 'connect'
,position => NULL
,start_date => NULL
,end_date => NULL);
COMMIT;
END;
访问控制列表视图
SELECT * FROM dba_network_acls;
SELECT * FROM dba_network_acl_privileges;
SELECT * FROM user_network_acl_privileges;