授予ACL网络访问权限,授予ACL网络访问权限

时间:2017-01-30 21:56:06

标签: oracle

我已经为网络访问创建了ACL规则:

EXEC DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (acl => 'ACL_FILE_1.xml', description => 'ACL_FILE_1', principal => 'USER_1', is_grant => TRUE, privilege => 'connect', start_date => null, end_date => null); 
EXEC DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => 'ACL_FILE_1.xml',principal => 'USER_1',is_grant  => true,privilege => 'connect');
EXEC DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL ( acl => 'ACL_FILE_1.xml', host => '*', lower_port => NULL, upper_port => NULL);

在此之后,我可以与de SYS用户连接,但我无法与USER_1用户建立连接。

我跑了这个:

select SYS.UTL_INADDR.GET_HOST_ADDRESS('MY_IP') FROM DUAL;

我收到此错误:

ORA-24247: acceso de red denegado por la lista de control de acceso (ACL)
ORA-06512: en "SYS.UTL_INADDR", línea 19
ORA-06512: en "SYS.UTL_INADDR", línea 40
ORA-06512: en línea 1
24247. 00000 -  "network access denied by access control list (ACL)"
*Cause:    No access control list (ACL) has been assigned to the target
           host or the privilege necessary to access the target host has not
           been granted to the user in the access control list.
*Action:   Ensure that an access control list (ACL) has been assigned to
           the target host and the privilege necessary to access the target
           host has been granted to the user.

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

解决了这个问题:

begin
  dbms_network_acl_admin.create_acl (
    acl         => 'ftp_send.xml',
    description => 'Allow report to be send',
    principal   => 'USER_1',
    is_grant    => TRUE,
    privilege   => 'connect'
    );
    commit;
end;

begin
  dbms_network_acl_admin.add_privilege (
  acl       => 'ftp_send.xml',
  principal => 'USER_1',
  is_grant  => TRUE,
  privilege => 'resolve'
  );
  commit;
end;

begin
  dbms_network_acl_admin.assign_acl(
  acl  => 'ftp_send.xml',
  host => 'MI_IP'
  );
  commit;
end;

感谢你们。