Oracle 11gR1中细粒度访问网络服务(2)

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

给网络分配一个访问控制列表

使用ASSIGN_ACL存储过程给网络分配访问控制列表,它有下面一些参数:

 acl - 访问控制列表XML文件的名字

 host - 主机名,域名,ip地址或分配的子网,主机名大小写敏感,ip地址和域名允许使用通配符

 lower_port - 默认值是NULL,为connect权限指定低端口范围

 upper_port - 默认值是NULL,如果指定了lower_port,同时upper_port的值为 NULL,它就认为upper_port等同于lower_port

下面的代码展示了前面创建的访问控制列表被分配一个特定的ip地址和一个子网。

BEGIN

DBMS_NETWORK_ACL_ADMIN.assign_acl (

acl => 'test_acl_file.xml',

host => '192.168.2.3',

lower_port => 80,

upper_port => NULL);

DBMS_NETWORK_ACL_ADMIN.assign_acl (

acl => 'test_acl_file.xml',

host => '10.1.10.*',

lower_port => NULL,

upper_port => NULL);

COMMIT;

END;

/

只有一个访问控制列表可以分配给一个特殊的主机+端口范围的组合,给主机+端口范围分配一个新的访问控制列表将导致前面分配的访问控制列表被删除, 在你开始一个新的分配操作时要特别留意前一个访问控制列表关闭的端口现在又被你打开了,因此分配给192.168.2.3:80的访问控制列表的优先级比 分配给192.168.2.*的访问控制列表要高。

UNASSIGN_ACL存储过程允许你手动删除访问控制列表,它使用的参数与ASSIGN_ACL存储过程相同,使用NULL参数作为通配符。

BEGIN

DBMS_NETWORK_ACL_ADMIN.unassign_acl (

acl => 'test_acl_file.xml',

host => '192.168.2.3',

lower_port => 80,

upper_port => NULL);

COMMIT;

END;

/

访问控制列表视图

DBA_NETWORK_ACLS, DBA_NETWORK_ACL_PRIVILEGES和USER_NETWORK_ACL_PRIVILEGES视图显示当前的访问控制列表设置,下面预期的输出认为没有执行过delete/drop/unassign操作。

DBA_NETWORK_ACLS视图显示关于网络和访问控制列表分配的信息。

COLUMN host FORMAT A30

COLUMN acl FORMAT A30

SELECT host, lower_port, upper_port, acl

FROM dba_network_acls;

HOST LOWER_PORT UPPER_PORT ACL

------------------------------ ---------- ---------- ------------------------------

10.1.10.* /sys/acls/test_acl_file.xml

192.168.2.3 80 80 /sys/acls/test_acl_file.xml

2 rows selected.

SQL>

DBA_NETWORK_ACL_PRIVILEGES视图显示关于与访问控制列表联合的权限信息。

COLUMN acl FORMAT A30

COLUMN principal FORMAT A30

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;

ACL PRINCIPAL PRIVILE IS_GR START_DATE END_DATE

------------------------------ ------------------------------ ------- ----- ----------- -----------

/sys/acls/test_acl_file.xml TEST1 connect true 02-APR-2008

/sys/acls/test_acl_file.xml TEST2 connect false

2 rows selected.

SQL>

USER_NETWORK_ACL_PRIVILEGES视图显示当前用户网络访问控制列表设置。

CONN test1/test1@db11g

COLUMN host FORMAT A30

SELECT host, lower_port, upper_port, privilege, status

FROM user_network_acl_privileges;

HOST LOWER_PORT UPPER_PORT PRIVILE STATUS

------------------------------ ---------- ---------- ------- -------

10.1.10.* connect GRANTED

192.168.2.3 80 80 connect GRANTED

2 rows selected.

SQL>

CONN test2/test2@db11g

COLUMN host FORMAT A30

SELECT host, lower_port, upper_port, privilege, status

FROM user_network_acl_privileges;

HOST LOWER_PORT UPPER_PORT PRIVILE STATUS

------------------------------ ---------- ---------- ------- -------

10.1.10.* connect DENIED

192.168.2.3 80 80 connect DENIED

2 rows selected.

SQL>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航