oracle网络访问ACL创建

/*创建ACL
用具有管理员权限的用户进入数据库,执行以下脚本创建ACL。*/
BEGIN
DBMS_NETWORK_ACL_ADMIN.create_acl (
acl =>'wsdl_acl_file.xml', --控制的xml
description => '访问ehr接口',
principal => 'FLADMIN',--用户
is_grant => TRUE, --是否可以访问
privilege => 'connect',--设置权限
start_date => SYSTIMESTAMP,
end_date => NULL);

COMMIT;
END;

/*ACL分配网络
ACL分配网络,执行以下脚本分配网络。*/
BEGIN
DBMS_NETWORK_ACL_ADMIN.assign_acl (
acl => 'wsdl_acl_file.xml',
host => '10.5.0.136', --acl可以访问的网络
lower_port => 89,
upper_port => NULL);
COMMIT;
END;

/*查看ACL
如果访问的网络数量比较多,可以执行以下脚本,就可以访问所有网络。*/


/*建好ACL和分配网络后可以通过下面的方式查看。**/
SELECT acl,
principal,
privilege,
is_grant,
TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
FROM dba_network_acl_privileges;

SELECT host, lower_port, upper_port, privilege, status
FROM user_network_acl_privileges;

--添加用户到ACL控制访问列表
BEGIN
DBMS_NETWORK_ACL_ADMIN.add_privilege ( -- 添加访问权限列表项
acl => 'wsdl_acl_file.xml', -- 刚才创建的acl名称 
principal => 'FLADMIN', -- 授权或取消授权用户
is_grant => TRUE, -- TRUE授权,FALSE取消授权 
privilege => 'connect', -- 权限列表
start_date => SYSTIMESTAMP, 
end_date => null);
COMMIT;
END;

你可能感兴趣的:(Oracle)