您当前的位置: AG亚游集团 > 数据库教程 > Oracle教程 > oracle11g之ACL拙见

oracle11g之ACL拙见

作者:不详 来源:网络 发布时间: 2014-08-25 22:42 点击: 次
错误样例(使用UTL_HTTP发送http请求时,报出如下错误): 原因: 1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。 2、在Oracle 10g是通过一个基于用户是否被授予执行某个包的许可的

AG亚游集团,  根据相关项目组给出的报告,在模拟金星环境的条件下,他们研制的相关电子装置仍然持续正常工作了大约521小时,大约相当于22天——并且在那之后实验停止是因为GEER被关闭的缘故。

  联想集团上周五正式成为第六期国际奥委会第11个全球合作伙伴(即TOP赞助商),成为中国第一家获此资格的企业。根据双方达成的协议,从2005年到2008年,联想将为2006年都灵冬季奥运会和2008年北京夏季奥运会以及200多个国家和地区的奥委会及奥运代表团独家提供台式电脑、笔记本电脑、服务器和打印机等计算机技术以及技术和资金上的支持。而联想将获得在全球范围内使用知识产权的回报。加盟店排行榜  一直以来,日本在钓鱼岛问题上的小动作不断,企图窃取中国领土,近日又不安静。据日本NHK8月28日报道,日本政府在内阁官房主页设置专门网页,刊登有关钓鱼岛和独岛的历史资料,企图让其主张得到认可,并强化信息发布。

oracle11g之ACL拙见

  错误样例(使用UTL_HTTP发送http请求时,报出如下错误):

  原因:

  1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。

  2、在Oracle 10g是通过一个基于用户是否被授予执行某个包的许可的 on/off开关来实现的,Oracle 11g引入了细粒度访问网络服务.

  3、通过在XML DB 数据库中使用访问控制列表(ACL)来实现,允许控制哪个用户能够访问哪个网络资源,而不关心包的授权。

  解决办法:

  -- 查询网络访问控制列表 acl

  ?

  

  

  

  

  

  

  

  


  1

  


  Select * From dba_network_acls

  


  -- 查询访问控制权限列表

  ?

  

  

  

  

  

  

  

  


  1

  


  Select * From dba_network_acl_privileges

  


  -- 查询数据库中的用户,用户名大小写敏感

  ?

  

  

  

  

  

  

  

  


  1

  


  Select username From dba_users Where username Like '%ITS%'

  


  分配acl权限,执行如下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

  26

  27

  28

  29

  30

  31

  32

  33

  34

  35

  36

  37

  38

  39

  40

  41

  


  begin

    dbms_network_acl_admin.create_acl (      -- 创建访问控制文件(ACL)

      acl        => 'utl_http.xml',         -- 文件名称

      description => 'HTTP Access',          -- 描述

      principal  => 'ITS',                  -- 授权或者取消授权账号,大小写敏感

      is_grant   => TRUE,                   -- 授权还是取消授权

      privilege  => 'connect',              -- 授权或者取消授权的权限列表

      start_date => null,                   -- 起始日期

      end_date   => null                    -- 结束日期

    );

    dbms_network_acl_admin.add_privilege (   -- 添加访问权限列表项

      acl       => 'utl_http.xml',          -- 刚才创建的acl名称

      principal => 'ITS',                   -- 授权或取消授权用户

      is_grant  => TRUE,                    -- 与上同

      privilege => 'resolve',               -- 权限列表

      start_date => null,                   

      end_date  => null

    );

    dbms_network_acl_admin.assign_acl (      -- 该段命令意思是允许访问acl名为utl_http.xml下授权的用户,使用oracle网络访问包,所允许访问的目的主机,及其端口范围。

      acl       => 'utl_http.xml',

      host      => '100.1.2.1',             -- ip地址或者域名,填写/localhost:9000/hello与/localhost:9000/是会报host无效的

                                              -- 且建议使用ip地址或者使用域名,若用localhost,当oracle不是安装在本机上的情况下,会出现问题

      lower_port => 9000,                    -- 允许访问的起始端口号

      upper_port => Null                     -- 允许访问的截止端口号

    );

    commit;

  end;

  begin

    dbms_network_acl_admin.assign_acl (      -- 可以授权多个主机,或者多个主机的多个端口

      acl       => 'utl_http.xml',

      host      => '10.100.49.138',

      lower_port => 80,

      upper_port => NUll

    );

    commit;

  end;

  请求测试:

  


  ?

  

  

  

  

  

  

  

  


  1

  


  select utl_http.request('/localhost:9000/hello?wsdl') From dual;

  


  若出现no listener,是因为授权主机时不能写localhost,应该写ip地址或者域名,如下图:

  移除acl和权限控制

  撤销分配acl到hostacl -- 与assign对应

  ?

  

  

  

  

  

  

  

  


  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  


  begin

    dbms_network_acl_admin.unassign_acl(

      acl       => 'utl_http.xml',

      host      => '100.1.2.1',            

                                              

      lower_port => 9000,                   

      upper_port => Null  

    );

  end;

  删除用户的权限

  


  ?

  

  

  

  

  

  

  

  


  1

  2

  3

  4

  5

  6

  7

  


  begin

    dbms_network_acl_admin.delete_privilege(

      'utl_http.xml', 'ITS', NULL, 'resolve'

    );

  end;

  -- 删除acl配置文件

  


  ?

  

  

  

  

  

  

  

  


  1

  2

  3

  4

  5

  


  begin

    dbms_network_acl_admin.drop_acl(

      'utl_http.xml'

    );

  end;

  
本文"oracle11g之ACL拙见"由远航站长收集整理而来,仅供大家学习与参考使用。更多AG亚游集团尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(AG亚游集团). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类AG亚游集团.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4
王国庆:看病难看病贵问题在一些地方还没根本解决 美国众议院听证会激辩ICO:泡沫散尽后再提鼓励发展? 贸易摩擦担忧缓和 道指收高近430点 俄农业部长:俄企盼获得对华肉类出口市场准入 谷歌被控追踪440万英国iPhone用户:索赔43亿美… 台媒:长期使用凉感眼药水 当心眼疾找上身 印尼总统要求出口商把钱汇回国 防止印尼盾继续下滑 美国众议院投票废除医疗设备销售税 《华尔街日报》:硅谷在中国创业者眼中正在退去光环 俄罗斯退休间谍街头“中毒” 间谍如何金盆洗手? 欧银决议后欧元暴跌140点 欧股喜上眉梢大涨 南海大阅兵
法媒曝图赫尔敲定入主大巴黎 已开始找房+学法语 日本爱信合资吉利、广汽:本土自主变速器如何应对? 穆帅获力挺:弗格森也有低谷 曼联明年反攻曼城 欧洲央行审慎对待加息时机 美卫星图像:朝鲜开始拆除西海卫星发射场关键设施 造车碰壁?董明珠参与投资的银隆遭供应商上门讨债 专家谈京津冀长三角空气好转:人努力贡献超8成 关小刀竞彩:德累斯顿主场称雄 洛里昂冲击三连胜 马克龙计划改革欧元区!民粹主义或成大阻力 一波进攻晃掉4个球员,NBA总有这样的神迹出现 索萨:我们淘汰亚洲最强球队 还没有能力夺亚冠 社交电商能否催生新巨头?
周二挑战者第7周前瞻:罗伯茨VS格罗斯承诺最精彩 患者换肾后因病死亡 家属诉返还肾源费被法院驳回 鲁媒:鲁能发展重心转向青训 后腰顽疾在持续发酵 林丹怒斥羽联:发球不得超过1.15米 你们想干嘛? 中超金靴进球数有望破纪录 扎哈维受到空前挑战? 11-21!助攻比对手少10个 广厦丢了看家的宝贝 普京就职典礼所乘豪华车走红 以后将要量产(图) 瓜帅称弃用乔哈特最难 英媒曝曼联弃帅背锅 哈里王子和梅根大婚后靠啥挣钱?媒体:他们不差钱 如何利用微信挣钱 我出钱谁愿意为我卖命 今年开什么店好 卖什么利润大不压货 AG亚游集团