• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle ACL(Access Control List)

mysql 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle ACL(Access Control List) 在oralce 11g中假如你想获取server的ip或者hostname,执行如下语句 1 2 3 SELECT utl_inaddr.get_host_address FROM dual; //获取IP SELECT utl_inaddr.get_host_na

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  Oracle ACL(Access Control List)

  在oralce 11g中假如你想获取server的ip或者hostname,执行如下语句

1

2

3

SELECT utl_inaddr.get_host_address FROM dual; //获取IP

SELECT utl_inaddr.get_host_name FROM dual; //获取host 名字

  如果在oracle 9i中能够正常执行,但在11g中你可能会得到一个莫名其妙的错误提示:

  ORA-24247: network access denied by access control list(ACL)

  你可能马上想到是需要啥额外的权限,而我们平时赋予权限一般是grant XXX to user

本文来源gaodai.ma#com搞##代!^码@网3

_name;但你找不到有啥跟ACL对应的权限.

  实际上这里确实需要额外权限,但赋予权限的方式相当变态,跟grant的方式太不一样了.

  细粒度访问网络服务

  为了更细致的控制网络权限,Oracle 11g中针对这么几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)的访问设置了单独的权限访问控制方式.

  其中UTL_SMTP,UTL_MAIL是跟邮件相关的,比如你可以在触发器中设定当在某些表中做插入删除操作时就发个邮件知识某个负责人.

  赋予权限

  假如要给用户赋予访问上面提到的那些函数咋整呢? 要通过如下的一段pl/sql语句

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

BEGIN

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => 'abc.xml', --这个xml文件名字随便取的,但不同出现同名的情况

description => 'ACL list',

principal => 'ARWEN', --表示赋予权限给哪个用户

is_grant => true, --为true表示赋予权限,如果是false相当取消权限

privilege => 'connect');

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => 'abc.xml',

principal => 'ARWEN',

is_grant => true,

privilege => 'resolve');

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => 'abc.xml',

host => 'Oracle_Host_name'); --因为那些网络操作的权限是针对某一个server的,所以这里是指定一台机器的名字

END;

  如果要删除上面的控制列表

1

2

3

4

5

BEGIN

DBMS_NETWORK_ACL_ADMIN.drop_acl ( acl => 'abc.xml');

END;

  删除这个列表,那用些列表赋予权限的那些用户自然也被取消相应的权限了.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle ACL(Access Control List)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址