Network Access Control List

  • DBMS_NETWORK_ACL_ADMIN 包提供管理 the network Access Control List (ACL) 的接口。
    1. DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
    2. DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE
    3. DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
这个方法是用来创建xml配置文件,并进行设置。

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
   acl             IN VARCHAR2,                      -- acl xml stored in '/sys/acls'
   description     IN VARCHAR2,                      -- a description for xml
   principal       IN VARCHAR2,                      -- database user or role the acl.xml is for
   is_grant        IN BOOLEAN,                       -- Privilege is granted or not (denied)
   privilege       IN VARCHAR2,                      -- Network privilege to be granted or denied - 'connect | resolve' (case sensitive)
   start_date      IN TIMESTAMP WITH TIMEZONE DEFAULT NULL,
   end_date        IN TIMESTAMP WITH TIMEZONE DEFAULT NULL );
/* note:
    for principal :
      principal must be in upper case.
    for parameter privilege:
     1. connect privilege is needed when the UTL_TCP, UTL_HTTP, UTL_SMTP, and UTL_MAIL utility packages are used.
     2. the resolve privilege is needed when the UTL_INADDR package is used.
*/ 

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE这个方法用于修改配置文件。

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE (
   acl             IN VARCHAR2,
   principal       IN VARCHAR2,
   is_grant        IN BOOLEAN,
   privilege       IN VARCHAR2,
   position        IN PLS_INTEGER DEFAULT NULL,
   start_date      IN TIMESTAMP WITH TIMESTAMP DEFAULT NULL,
   end_date        IN TIMESTAMP WITH TIMESTAMP DEFAULT NULL );

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL这个方法用于管理访问host和使用端口。

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
   acl         IN VARCHAR2,
   host        IN VARCHAR2,                 -- the host (name and ip both are ok )
   lower_port  IN PLS_INTEGER DEFAULT NULL,  
   upper_port  IN PLS_INTEGER DEFAULT NULL);
/*note:
  1. both lower_port and upper_port must not be NULL and upper_port must be greater than or equal to lower_port.
  2. 'www.baidu.com' ,'*.baidu.com','*.com' and '*' can all be used for www.baidu.com,but precedence will be lower
*/

例子

BEGIN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl         => 'www.xml',
                                    description => 'WWW ACL',
                                    principal   => 'TEST',
                                    is_grant    => true,
                                    privilege   => 'connect');
 
  DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl       => 'www.xml',
                                       principal => 'TEST',
                                       is_grant  => true,
                                       privilege => 'resolve');
 
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
                                    acl  => 'www.xml',
                                    host => 'www.baidu.com',
                                    lower_port  => 80);
END;
/
COMMIT;

转载于:https://www.cnblogs.com/ct-blog/p/6382960.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值