重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 363|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2026-1-18 19:53:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、新增
步骤 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 文件、授予权限、分配主机和端口的访问权限以及验证配置是否生效。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 19:50 , Processed in 0.200451 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表