您当前的位置: 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亚游集团,来自52个国家农业研究机构或农业大学、涉农跨国公司负责人和相关国际组织专业人士,以及来自国内相关部委官员、各省(市、区)农科院院长和农业大学相关负责人与专家学者等240余名代表参加了本次会议。

  美国国家核安全管理局局长弗兰克·克洛茨说,美国的许多核是30年前在里根执政时期建造的,此后华盛顿一直没有在上面投入太多资金。但是他说,虽然改良核的费用惊人,但只相当于五角大楼开支的一小部分,因为一年约5000亿美元的国防预算就相当于30年一共有15万亿美元。女人没经验开什么店好12月12日,澎湃新闻记者从上海松江区人民检察院获悉,男子高某将摩拜单车运回家中,并强行锯开车锁将其占为己有,没想到车上有GPS定位系统。当地检察院日前以涉嫌盗窃罪对高某依法批准逮捕(12月13日澎湃新闻网)。

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
沙特联军空袭也门一处营地 致至少14人死亡 世界排名:托马斯首次登顶伍兹跃居80?李昊桐49位 媒体评“教科书式执法”:那些暴力执法者赶紧学学 WTI三周来首次突破70美元 油价周一收高 台政客:台湾再怎么买武器也比不上大陆军事力量 欲挽回中国游客 泰或成立国家安全旅游保障中心 一通操作猛如虎!替补席上这仨流氓骑蜜满意吗 湖南纪委书记:困难群众的救命钱 谁动让谁掉官帽 委员建议将詹天佑生日设为全国性“工程师节” 隔夜要闻:道指收高430点 布油大涨3.5%创3年多新… 直击|传原百度外卖CEO巩振兵任易到CEO 官方暂未回… 69岁夏伯渝终登顶珠峰:双腿截肢 43年5次挑战(图)
日本新任海保长官:要坚决应对钓鱼岛附近中国船只 护孩族和铲屎官“怼文大战”:狗扑我娃直接打死 曼城官方宣布续约中场主力 32岁老将获两年新约 杨锦鑫:美元反弹遥遥无期 黄金多头重拾涨势 攻克蔚山!强势上港又破一魔咒 再为中超球队出头 钢价反弹且行且看 空头逻辑逐渐走向尽头 全球科创中心百强名单出炉:硅谷评分最高上海排17 直击|FF全员信:FF中国总部将落地广州 工厂如期开工 罪犯判刑未入狱又犯新罪法官自称替罪羊 官方回应 皇马飞翼点赞洛佩特吉:1关键让他能在皇马成功 发改委加速审批重启:新能源汽车“新老合作”成趋势 继续追逐美巡梦!李昊桐自信可与世界高手对抗
为确保公正评估博通交易 高通董事长雅各布被免职 代表:公共场所控烟条例尽快出台 与世卫公约一致 走远了!19连败副班长都打不赢 这队谈啥季后赛 耀才证券:特朗普招数难测 港股乏明确方向续争持 母亲逼女嫁人带儿住寺庙 12年后父亲的话让人心疼 石雨豪见雨果然豪 8米43创个人最佳后受伤送医 肯帝亚157分神射喜获爱子 妻子是前女篮国手 一个日本人的中国式忏悔:我欺骗了中国人 开一架驾驶舱玻璃脱落的客机安全着陆有多难! 手机可以做的打字兼职 女生最吃香的十大职业 未来10年暴利行业 没钱怎么创业 AG亚游集团