`
wuhuizhong
  • 浏览: 682478 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

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

 

分享到:
评论

相关推荐

    如何解决ORACLE11G里面ORA-24247 网络访问被访问控制列表 (ACL) 拒绝 错误

    这一错误是由于访问控制列表(Access Control List, ACL)限制了网络访问。在Oracle 11G中,为了提高安全性,默认启用了ACL机制,这可能导致一些旧的应用程序无法正常运行。 #### 错误示例 当尝试从一个应用中获取...

    Oracle调用WSDLService.zip

    "1.ACL.sql"可能包含设置或配置Oracle ACL(Access Control List)的SQL脚本,以允许Oracle数据库安全地访问外部Web服务。Oracle ACL提供了对网络资源的细粒度访问控制,确保只有授权的进程可以进行SOAP调用。 具体...

    Oracle数据库-TNS连接

    Oracle数据库还涉及到ACL(Access Control List)的管理,用于控制网络访问权限,确保只有授权的用户和服务能够连接到数据库。数据的安全性是数据库管理的核心,因此,正确配置和管理TNS以及相关的网络设置对于保障...

    oracle webservice实例

    1. **Acl**:在 Oracle 中,Acl(Access Control List)用于控制对资源的访问权限。在调用外部 Web Service 时,可能需要设置相应的 ACL 条目以允许出站 HTTP 请求。 2. **soapUI**:这是一个强大的 Web Service ...

    oracle清空所有表数据

    - **ACL(Access Control List)**:Oracle的访问控制列表用于定义用户对网络服务和资源的访问权限。 - **C编程**:虽然Oracle是数据库系统,但C语言经常用于编写存储过程或与Oracle数据库交互的应用程序。 - **OR...

    Oracle收购TimesTen 提高数据库软件性能

    结合Oracle的其他技术,如RAC(Real Application Clusters)和ACL(Access Control List),以及在大数据处理上的专长,Oracle将提供更加全面的解决方案,帮助企业在海量数据面前保持高效运作。 此外,Oracle用户...

    Oracle数据库操作命令

    ACL(Access Control List)用于控制网络访问,RAC(Real Application Clusters)是Oracle的集群解决方案,提供高可用性和负载均衡。 总的来说,Oracle数据库的操作涉及SQL语言、数据库身份管理、系统启动与关闭...

    Linux 7下脚本安装配置oracle 11g r2教程

    1. **ACL (Access Control List)**:在Linux中,ACL用于扩展传统的Unix文件权限,提供更精细的访问控制。 2. **C IN**:这可能是标签误输入,通常在编程中表示C语言,但在此上下文中不适用。 3. **Linux服务器与...

    OracleXMLDB简化XML管理.pptx

    它支持基于 ACL(Access Control List)的访问控制,具备基本的版本控制功能,并且可以通过 WebDAV、HTTP 和 FTP 协议进行访问和更新。这个信息库允许使用 SQL 进行全面的访问和更新,也可以通过多种 API 进行编程,...

    oracle表空间中空表统计方法示例介绍

    1. **ACL (Access Control List)**:访问控制列表在Oracle中用于定义网络访问权限,与这里讨论的主题无关,但它是Oracle网络安全的一部分。 2. **OR**:在SQL中,OR用于组合多个条件,允许查询满足任一条件的记录。...

    权限控制Demo

    - ACL(Access Control List,访问控制列表):列出允许或禁止的特定用户或用户组对资源的访问。 3. 实现方式: - 在Web应用中,Spring Security是一个强大的安全框架,提供认证和授权功能,支持RBAC、ABAC等多种...

    java jsp权限管理系统

    2. **权限管理模型**:常见的权限管理模型有RBAC(Role-Based Access Control)角色基础访问控制,ACL(Access Control List)访问控制列表等。在本系统中,用户通过分配不同的角色来获取相应的操作权限,角色定义了...

    oracle数据库在客户端建立dblink语法

    - ACL(Access Control List)是Oracle中的权限控制列表,用于控制客户端对DBLink的访问权限。在创建DBLink后,可能需要配置ACL来确保安全。 - RAC(Real Application Clusters)是Oracle的集群解决方案,DBLink也...

    Netcool Omnibus 知识集锦

    1. **ACL(Access Control List)设置**:在Unix系统如Solaris和AIX中,ACL用于控制文件或目录的访问权限。在示例中,`setfacl` 和 `acledit` 命令分别用于设置和编辑ACL。`/etc/shadow` 文件通常包含用户的密码信息...

    最基础,最浅显易懂的Lotus教程

    - **ACL (Access Control List)**:ACL是用于控制谁可以访问资料库以及可以执行什么操作的一种机制。它是资料库安全性的核心组成部分。 - **设计组件**:设计组件包括表单(form)、视图(view)、框架(frame)、图像框...

    WPS6.1.2基于Oracle10g Solaris 64位操作系统集群安装向导.doc

    1. 设置访问控制列表(Access Control List, ACL),限制对外部系统的访问。 2. 加密通信,如使用SSL/TLS协议。 3. 定期更新安全补丁和版本。 #### 3.3 为BPC配置HA策略(可选) 为了提高Business Process Container...

    HCIA/IP/IE学习使用的软件—ENSP

    通过ENSP,学习者可以进行实际操作,例如配置OSPF、BGP等路由协议,设置VLAN、VXLAN等二三层技术,实践QoS(Quality of Service)策略,以及安全相关的ACL(Access Control List)规则等。 WinPcap是ENSP中用于...

    ProC 连接Oracle代码

    6. 标签中的“acl”,通常是指访问控制列表(Access Control List),在Oracle中用于定义对象的权限。但在这里没有直接使用到。 7. “c”代表C语言,这是编写Pro*C程序的基础。 8. “rac”代表Real Application ...

    Oracle监听口令及监听器安全详解

    2. **配置ACL(Access Control List)**:在监听器配置中定义ACL,只允许特定IP地址或网络范围的客户端连接。 3. **使用SSL加密**:启用SSL(Secure Sockets Layer)加密,确保数据在网络传输过程中的安全。 4. **...

    Oracle 基础知识

    ACL(Access Control List)在Oracle中通常指的是网络访问控制列表,用于定义网络流量的规则,而C和LE标签可能与Oracle的编程接口(如PL/SQL)或特定的数据库功能有关,但在这里没有提供足够的信息进行详细解释。...

Global site tag (gtag.js) - Google Analytics