Oracle ACL(Access Control List)
在oralce 11g中假如你想获取server的ip或者hostname,执行如下语句
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_name;但你找不到有啥跟ACL对应的权限.
实际上这里确实需要额外权限,但赋予权限的方式相当变态,跟grant的方式太不一样了.
细粒度访问网络服务
为了更细致的控制网络权限,Oracle 11g中针对这么几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)的访问设置了单独的权限访问控制方式.
其中UTL_SMTP,UTL_MAIL是跟邮件相关的,比如你可以在触发器中设定当在某些表中做插入删除操作时就发个邮件知识某个负责人.
赋予权限
假如要给用户赋予访问上面提到的那些函数咋整呢? 要通过如下的一段pl/sql语句
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;
如果要删除上面的控制列表
BEGIN
DBMS_NETWORK_ACL_ADMIN.drop_acl ( acl => 'abc.xml');
END;
删除这个列表,那用些列表赋予权限的那些用户自然也被取消相应的权限了.
关于DBMS_NETWORK_ACL_ADMIN的详细介绍参看Oracle 官方文档:
http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_networkacl_adm.htm
Oracle ACL(Access Control List)的更多相关文章
- Oracle ACL (Access Control List)详解
在Oracle11g中,Oracle在安全方面有了很多的改进,而在网络权限控制方面,也有一个新的概念提出来,叫做ACL(Access Control List), 这是一种细粒度的权限控制.在ACL之 ...
- windows访问控制列表 --ACL(Access Control List)
1.定义 ACL是一个windows中的表示用户(组)权限的列表. Access Control List(ACL) Access Control Entry(ACE) ... 2.分类 ACL分为两 ...
- ACL(Access Control List)
一.ACL的简介 ACL(Access Control List 访问控制列表)是路由器和交换机接口的指令列表,用来控制端口进出的数据包.ACL的定义也是基于每一种被动路由协议的,且适用于所有的被动路 ...
- ccna 闫辉单臂路由 和 acl access control list
ccna 闫辉单臂路由 和 acl access control list 一单臂路由 当前园区网设计很少用到 成本低 小型的.局域网可用 二ACL acc ...
- ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表
zk做为分布式架构中的重要中间件,通常会在上面以节点的方式存储一些关键信息,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解决访问权限问题,详见官网文档:ht ...
- [转载] Zookeeper中的 ACL(Access Control List)访问控制列表
zk做为分布式架构中的重要中间件,通常会在上面以节点的方式存储一些关键信息,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解决访问权限问题,详见官网文档:ht ...
- zookeeper ACL(access control lists)权限控制
基本作用: 针对节点可以设置 相关读写等权限,目的为了保障数据安全性 权限permissions可以制定不同的权限范围以及角色 一:ACL构成 zk的acl ...
- 【分布式】ZooKeeper权限控制之ACL(Access Control List)访问控制列表
zk做为分布式架构中的重要中间件,通常会在上面以节点的方式存储一些关键信息,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解决访问权限问题,详见官网文档:ht ...
- Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...
随机推荐
- Java运行时内存
对于java程序员来说,并不必显示地对内存进行管理,一切都交给java虚拟机去做吧,而且,你也不一定做得比java虚拟机来得专业.好像所有内存管理都交给虚拟机去做就万事大吉了,但是,事实有时并非如此, ...
- 12-UIKit(View绘制、绘制曲线、绘制文字、贴图)
目录: 1. View绘制 2. 绘制曲线 3. 绘制文字 4. 贴图 回到顶部 1. View绘制 1.1 做出自己的视图对象 TRCell : UITableViewCell : UIView U ...
- GDSOI2015 task4 ACU
题目大意 只要你有耐心看完题目,你就可以得到以下模型: 给出一个有向图,有若干询问,每次询问对于某条边\((v,u)\),求删掉这条边后,\(v\)到\(u\)的最短路. 算法1 暴力出奇迹,期望得分 ...
- c++ 静态成员遇到的坑总结
新标签页http://74.55.154.136/ c++ 静态成员遇到的坑总结 - linuxfloat - 博客园 c++ 静态成员遇到的坑总结 1.对于类静态变量的初始化,用下面方法. // ...
- [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢
一,什么是TicTacToe(井字棋) 本 游戏 为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿 ...
- or1200构建sopc系统之软件环境搭建
使用预先编译好的工具链 下载: ftp://ocuser:oc@195.67.9.12/toolchain/or32-elf-linux-x86.tar.bz2 解压 tar xjf or32-elf ...
- Tuxedo入门学习
中间件介绍: 介于客户机和server之间的夹层,突破了传统的c/s架构,为构建大规模,高性能,分布式c/s应用程序提供了通信,事物,安全,容错等基础服务,屏蔽了底层应用细节,应用程序不必从底层开发, ...
- ListView 使用方法(Asp.Net)
您将须要用到的独有数据绑定控件. Fritz Onion 代码下载位置: ExtremeASPNET2008_03.exe (192 KB) Browse the Code Online 文件夹 L ...
- NET 2016
.NET 2016 阅读目录 初识 .NET 2016 使用 .NET Framework 4.6 编译应用程序 使用 .NET Core CLI 编译应用程序 小结 厚积薄发这个词是高三英语老师 ...
- HDU 3468 BFS+二分匹配
九野的博客,转载请注明出处 http://blog.csdn.net/acmmmm/article/details/10966383 开始建图打搓了,参考了大牛的题解打的版本比较清爽,后来改的基本雷同 ...