首页 > 数据库 >oracle添加ACL(访问控制表)的步骤

oracle添加ACL(访问控制表)的步骤

时间:2024-12-23 14:19:38浏览次数:6  
标签:ACL HTTP 访问控制 xxx acl -- oracle 权限

一、新增

步骤 1: 创建 ACL 文件并授予权限

首先,我们创建一个新的 ACL 文件,并允许 INFODBA用户访问外部 HTTP 服务。

BEGIN
  -- 创建一个新的ACL,允许bakmes用户进行网络访问
  DBMS_NETWORK_ACL_ADMIN.create_acl(
    acl         => 'http_acl.xml',  -- ACL 文件名
    description => 'ACL for HTTP access for INFODBA',  -- 描述
    principal   => 'INFODBA',        -- 用户名
    is_grant    => TRUE,            -- 是否授予权限
    privilege   => 'connect'        -- 权限类型
  );
END;

步骤 2: 为目标主机分配网络访问权限

接下来,您需要为目标主机(xxx.xxx.xxxx)的指定端口(8655)分配访问权限。

BEGIN
  -- 为指定的主机(10.68.240.218)和端口(8655)授予访问权限
  DBMS_NETWORK_ACL_ADMIN.assign_acl(
    acl         => 'http_acl.xml',  -- 使用前面创建的ACL
    host        => 'xxx.xxx.xxxx', -- 目标IP地址
    lower_port  => 8655,            -- 端口号(开始)
    upper_port  => 8655             -- 端口号(结束)
  );
END;
/

步骤 3: 确认 ACL 配置是否正确

使用以下查询来查看当前的网络访问控制列表(ACL)配置,确认配置已经生效:

SELECT * 
FROM dba_network_acls;

步骤 4: 测试 HTTP 请求

完成上述配置后,可以使用以下 SQL 来测试 bakmes 用户是否可以成功通过 UTL_HTTP 发起 HTTP 请求:

SELECT utl_http.request('http://xxx.xxx.xxxx:8655') 
FROM dual;

如果配置成功,应该能够正常返回 HTTP 请求的响应内容。

 

二、修改

步骤 1: 如果需要修改或删除 ACL 配置

如果您需要修改或删除已配置的 ACL,可以使用以下步骤。

修改 ACL

如果需要修改已存在的 ACL,可以先删除相关权限,然后重新分配权限。

BEGIN
  -- 删除指定的权限
  DBMS_NETWORK_ACL_ADMIN.remove_privilege(
    acl         => 'http_acl.xml',
    principal   => 'INFODBA',
    privilege   => 'connect'
  );

  -- 重新添加新的权限,若需要
  DBMS_NETWORK_ACL_ADMIN.add_privilege(
    acl         => 'http_acl.xml',
    principal   => 'INFODBA',
    is_grant    => TRUE,
    privilege   => 'connect'
  );
END;
/

  

删除 ACL

如果您需要删除不再需要的 ACL 文件,可以使用以下命令:

BEGIN DBMS_NETWORK_ACL_ADMIN.drop_acl('http_acl.xml'); END;

总结

通过上述步骤,您为用户 bakmes 配置了访问控制列表(ACL),允许其通过 UTL_HTTP 请求 xxx.xxx.xxxx:8655。这包括创建 ACL 文件、授予权限、分配主机和端口的访问权限以及验证配置是否生效。

 

标签:ACL,HTTP,访问控制,xxx,acl,--,oracle,权限
From: https://www.cnblogs.com/wwssgg/p/18623866

相关文章

  • 网络访问控制与隔离有哪些不足之处?
    网络访问控制与隔离存在以下一些不足之处:使用不便及效率问题数据传输与访问受限:网络被隔离成多个独立区域后,数据传输和访问变得复杂繁琐。例如,不同部门的员工需要频繁共享数据时,可能会因隔离措施而遇到障碍,降低工作效率14.规则匹配效率低下:传统访问控制系统中基于字符串的规......
  • ACL 和 NAT(配eNSP实验模拟)
    目录一:ACL(访问控制列表)1.什么是ACL(访问控制列表)2.ACL概述和应用3.ACL工作原理:4.ACL种类5.ACL组成和规则​6.ACL的匹配位置。7.acl实例模拟二.NAT(网络地址转换)1.NAT工作原理如下:​2.NAT技术转换流程如下:​3.静态NAT案例分析1.动态NAT:4.Easy-IP5.NATPT(端口映......
  • CSharp: Connecting to Oracle 11g Database in C#
     usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;//usingOracle.DataAccess.Client;usin......
  • python: Connecting to Oracle 11g Database in Python
     #encoding:utf-8#版权所有2024涂聚文有限公司#许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎#描述:python-mpipinstalloracledb#python-mpipinstallcx_Oracle--upgrade#pipinstallcx_Oracle#Author:geovindu,GeovinDu涂聚文.#......
  • 利用Oracle VM VirtualBox安装Centos7虚拟机,及后续设置
    #OracleVMVirtualBox网站下载地址:直接按照最新的安装即可https://www.oracle.com/virtualization/virtualbox/安装Centos7虚拟机镜像资源1,准备一个CentOS-7-x86_64-Minimal-2009.iso镜像文件,这是我们公司服务器用的一个版本,所以我从网上下载了一个一样的版本,就用这个为例......
  • oracle 使用udev,添加新磁盘到asm磁盘阵列
    1、udev介绍udev是Linux2.6内核里的一个功能,它替代了原来的devfs,成为当前Linux默认的设备管理工具。udev以守护进程的形式运行,通过侦听内核发出来的uevent来管理/dev目录下的设备文件。不像之前的设备管理工具,udev在用户空间(userspace)运行,而不在内核空间(kernel......
  • nginx安装教程笔记(包含访问控制)
    目录一、nginx的安装二、访问控制基于授权访问控制基于客户端的访问控制一、nginx的安装1.安装组件yum-yinstallpcre-develzlib-develgccgcc-c++make2.创建用户useradd-M-s/sbin/nologinnginx3.解压源码包并编译安装tarzxvfnginx-1.12.0.tar.g......
  • Oracle 数据库 dblink 使用全解析
    一、引言在企业级数据库应用场景中,常常需要在不同的Oracle数据库实例之间进行数据交互与共享。Oracle的数据库链接(dblink)功能为此提供了便捷的解决方案,它允许用户如同访问本地数据库对象一样操作远程数据库中的数据。二、dblink的创建语法格式创建dblink的基本语......
  • Windows和Linux系统下安装Oracle数据库的详细步骤
    在Windows系统下安装Oracle数据库的一般步骤:一、系统要求检查硬件要求:确保服务器或计算机有足够的内存。对于小型测试环境,建议至少2GB内存;生产环境可能需要更多,如16GB或更高,这取决于数据库的负载和预期用途。足够的磁盘空间。Oracle软件本身可能需要数GB的空间,并且还需要为......
  • Oracle安装过程中常见错误及解决方法
    安装程序无法启动或闪退原因:可能是下载的安装文件损坏。这可能是由于网络问题导致下载中断或文件本身在服务器端就有问题。系统缺少必要的运行库或组件。例如,在Windows系统中,没有安装合适的.NETFramework版本,或者在Linux系统中缺少某些系统库。解决方法:重新下载安装......