Oracle创建控制列表ACL(Access Control List)

Oracle创建控制列表ACL(Access Control List)

  • Oracle ACL简介
  • 一、先登陆163邮箱设置开启SMTP。
  • 二、Oracle ACL控制列表处理
    • (一)创建ACL(create_acl)
    • (二)添加ACL权限(add_privilege)
    • (三)分配ACL权限给哪些服务器使用(assign_acl)
    • (四)取消分配一个ACL权限(unassign_acl)
    • (五)删除ACL控制列表(drop_acl)
    • (六)如何查询ACL相关
      • 6.1、查询Oracle ACL控制列表清单:dba_network_acls视图
      • 6.2、查询Oracle ACL授权清单:dba_network_acl_privileges视图
    • (七)如何测试,运行存储过程。
      • 7.1、执行SQL匿名块
      • 7.2、执行情况
      • 7.3、查看邮箱


Oracle ACL简介

  • 在Oracle11g中,Oracle在安全方面有了很多的改进,而在网络权限控制方面,也有一个新的概念提出来,叫做ACL(Access Control List), 这是一种细粒度的权限控制。在ACL之前,我们对于有一些程序包,例如UTL_MAIL, UTL_SMTP等这些包,你可以利用这些包连接到外部的主机,而默认情况下,这些包都是都是赋予了public角色,所以可能会导致利用这些PL/SQL程序包的恶意工具,所以Oracle提出了一个新的概念来解决这个问题,那就是ACL。
  • 在开始展开ACL之前,首先明确一些概念。 ACL这个概念不是Oracle首先提出来的,在很多地方的权限管理都用到了ACL,甚至在操作系统上也使用了ACL。一般,我们在做权限管理时,牵扯到一个问题,就是谁要在什么对象上作什么?这个正是对应了我们ACL中的概念。Principal will have what privileges on what object.谁就是principal, 什么对象就是我们的object, 做什么就是我们的privilege。那么如果有了这种细粒度的权限控制,我们就可以定义我们哪些用户拥有哪个远程主机的什么权限了。有了这个概念我们就可以看看如何使用ACL了。我们主要使用的是DBMS_NETWORK_ACL_ADMIN这个自带的包来完成。

一、先登陆163邮箱设置开启SMTP。

如何得到上面登录SMTP服务器的密码
我们这里以 163 邮箱为例
首先登录到163邮箱,点击[设置],然后点击设置下面的[POP3/SMTP/IMAP]
然后看左边的SideBar,点击[客户端授权密码]
最后在右边的页面中按照操作要求设置该邮箱的客户端授权码(登录SMTP服务器的密码)

二、Oracle ACL控制列表处理

(一)创建ACL(create_acl)

使用 DBMS_NETWORK_ACL_ADMIN包的CREATE_ACL函数 创建访问控制列表ACL(ACL)
执行下面的SQL:

BEGINdbms_network_acl_admin.create_acl(acl         => 'email_server_permissions.xml',description => 'Enables network permissions for the e-mail server',principal   => 'LOG' -- 表示赋予权限给哪个用户,is_grant    => TRUE,privilege   => 'connect',start_date  => NULL,end_date    => NULL);COMMIT;
END;

(二)添加ACL权限(add_privilege)

接下来,为该 ACL 增加一个权限:在本示例中,您将尝试将该 ACL 局限于用户 LOG 您还可以定义开始和结束日期。

BEGINdbms_network_acl_admin.add_privilege(acl => 'email_server_permissions.xml',principal => 'LOG' -- 表示赋予权限给哪个用户,is_grant => TRUE,privilege => 'connect',start_date => NULL,end_date => NULL);
END;

(三)分配ACL权限给哪些服务器使用(assign_acl)

分配将受该 ACL 制约的主机以及其他详细信息,使用DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL 将此 ACL 与邮件服务器相关联
执行下列SQL:

BEGINdbms_network_acl_admin.assign_acl(acl => 'email_server_permissions.xml',host => 'smtp.163.com' -- SMTP服务器地址,lower_port => 25 -- 端口,upper_port => NULL);COMMIT;
END;

(四)取消分配一个ACL权限(unassign_acl)

把上一步的授权删除,可以用下列SQL语句实现:

BEGINdbms_network_acl_admin.unassign_acl(acl => 'email_server_permissions.xml',host => 'smtp.163.com' -- SMTP服务器地址,lower_port => 25 -- 端口,upper_port => NULL);COMMIT;
END;

(五)删除ACL控制列表(drop_acl)

BEGINdbms_network_acl_admin.drop_acl(acl => 'email_server_permissions.xml');COMMIT;
END;
/

(六)如何查询ACL相关

6.1、查询Oracle ACL控制列表清单:dba_network_acls视图

SELECT host,lower_port,upper_port,aclFROM dba_network_acls;

查询结果:
在这里插入图片描述

6.2、查询Oracle ACL授权清单:dba_network_acl_privileges视图

SELECT acl,principal,privilege,is_grant,to_char(start_date,'yyyy-mon-dd') AS start_date,to_char(end_date,'dd - mon - yyyy') AS end_dateFROM dba_network_acl_privileges;

查询结果:
在这里插入图片描述

(七)如何测试,运行存储过程。

7.1、执行SQL匿名块

测试是否能成功发邮件,执行下面的SQL:

BEGINsend_mail('tttzzzqqq@qq.com','测试邮件','来自plsql');
END;

注意:发送邮件的存过send_mail(),请看这篇博文:Oracle触发器发送邮件

7.2、执行情况

在这里插入图片描述
点“输出”查看结果:
在这里插入图片描述

7.3、查看邮箱

在这里插入图片描述
我们发现,可以收到消息。


至此,Oracle创建控制列表ACL(Access Control List)就给大家演示完了,有问题欢迎留言或私信!谢谢大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/109963.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

②matlab桌面和编辑器

目录 matlab编辑器练习 运行脚本 matlab编辑器练习 您可以通过点击灰色代码框在脚本中输入命令。 准备就绪后,您可以通过点击蓝色的提交按钮提交代码。 任务 在脚本中输入命令 r 3。 2.任务 在脚本中添加命令 x pi*r^2。 附加练习 当您在实时编辑器中完成…

MyBatis分页插件PageHelper的使用及MyBatis的特殊符号---详细介绍

一,分页的概念 分页是一种将大量数据或内容分割成多个页面以便逐页显示的方式。在分页中,数据被分割成一定数量的页,每页显示一部分数据或内容,用户可以通过翻页或跳分页是一种将大量数据或内容分割成多个页面以便逐页显示的方式。…

跨平台图表:ChartDirector for .NET 7.1 Crack

什么是新的 ChartDirector for .NET 7.0 支持跨平台使用,但仅限于 .NET 6。这是因为在 .NET 7 中,Microsoft 停止了用于非 Windows 使用的 .NET 图形库 System.Drawing.Common。由于 ChartDirector for .NET 7.0 依赖于该库,因此它不再支持 .…

设计模式—职责链模式(Chain of Responsibility)

目录 思维导图 什么是职责链模式? 有什么优点呢? 有什么缺点呢? 什么场景使用呢? 代码展示 ①、职责链模式 ②、加薪代码重构 思维导图 什么是职责链模式? 使多个对象都有机会处理请求,从而避免请…

视频汇聚/视频云存储/视频监控管理平台EasyCVR安全检查的相关问题及解决方法

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

与面试官互动:建立积极的技术讨论氛围

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

攻击与防御实战经验分享:分析真实的攻击事件和入侵行为,讨论防御方法和实践经验

章节 1: 前言 作为IT领域的从业者,我们时刻都面临着网络安全的挑战。攻击者不断寻找漏洞,而防御者则需要时刻保持警惕,采取最佳实践来保护系统和数据。在本文中,我们将分享一些真实的攻击事件和入侵行为,并探讨针对这…

API 接口应该如何设计?如何保证安全?如何签名?如何防重?

说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢&am…

Eclipse打jar包与JavaDOC文档的生成

补充知识点——Eclipse打jar包与JavaDOC文档的生成 1、Eclipse如何打jar包,如何运行jar包 Java当中编写的Java代码,Java类、方法、接口这些东西就是项目中相关内容,到时候我们需要把代码提供给甲方、或者是我们需要运行我们编写的代码&…

Docker:Harbor 私有仓库迁移

Harbor 私有仓库迁移 一.私有仓库迁移的介绍 1.为何要对Harbor 私有仓库的迁移 (1)硬件升级或更换:如果源 Harbor 在旧的硬件设备上运行,并且计划将其迁移到新的硬件设备上,那么需要执行迁移操作。 (2&…

Python爬虫追踪新闻事件发展进程及舆论反映

目录 实现方案 1. 确定目标新闻源: 2. 确定关键词: 3. 使用网络爬虫获取新闻内容: 4. 提取和分析新闻文章: 5. 追踪新闻事件的发展进程: 6. 监测舆论反映: 7. 数据可视化: 完整代码示例…

ExpressLRS开源之RC链路性能测试

ExpressLRS开源之RC链路性能测试 1. 源由2. 分析3. 测试方案4. 测试设计4.1 校准测试4.2 实验室测试4.3 拉距测试4.4 遮挡测试 5. 总结6. 参考资料 1. 源由 基于ExpressLRS开源基本调试验证方法,对RC链路性能进行简单的性能测试。 修改设计总能够满足合理的需求&a…

香橙派OrangePi zero H2+ 驱动移远4G/5G模块

目录 1 安装系统和内核文件: 1.1 下载镜像 1.2 内核头安装 1.2.1 下载内核 1.2.2 将内核头文件导入开发板中 1.2.3 安装内核头 2 安装依赖工具: 2.1 Installing Required Host Utilities 3 驱动步骤: 3.1 下载模块驱动文件…

Windows上安装Hadoop 3.x

目录 0. 安装Java 1. 安装Hadoop 1.1 下载Hadoop 1.2 下载winutils 2. 配置Hadoop 1. hadoop-env.cmd 2. 创建数据目录 3. core-site.xml 4. hdfs-site.xml 3. 启动测试 3.1 namenode格式化 3.2 启动Hadoop 3.3 查看webui 3.4 测试hdfs 3.5. 测试MapReduce 4. 还…

Markdown 扩展语法练习

风无痕 August 26, 2023 Markdown 指南中文版 Markdown 入门指南Markdown 基本语法Markdown 扩展语法Markdown 基本语法练习Markdown 扩展语法练习 代码 <h3 id"table">表格</h3>| Syntax | Description | | --- | --- | | Header | Title | | Paragrap…

【Terraform学习】使用 Terraform创建 S3 存储桶事件(Terraform-AWS最佳实战学习)

本站以分享各种运维经验和运维所需要的技能为主 《python》&#xff1a;python零基础入门学习 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…

用AI重构的钉钉,“钱”路在何方?

点击关注 文&#xff5c;郝 鑫&#xff0c;编&#xff5c;刘雨琦 钉钉2023年生态大会&#xff0c;离开了两年的无招&#xff0c;遇到了单飞9天的钉钉。 “做小钉钉、做好钉钉、做酷钉钉”&#xff0c;无招重申了钉钉的方向。 无招提到的三点&#xff0c;再加上“高质量增长”…

ubuntu22.04.1-live的vm虚拟机扩展磁盘

1、虚拟机分配硬盘100G&#xff0c;进系统df -h根目录只有50G 2、查看所有块设备 lsblk 3、 查看卷信息vgdisplay 4、在原有基础上增加49G lvextend -L 49G /dev/ubuntu-vg/ubuntu-lv 5、调整大小 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

微信小程序 趣味学习与益智游戏系统APP

管理员、用户可通过HBuilder系统手机打开系统&#xff0c;注册登录后可进行管理员后端&#xff1b;首页、个人中心、用户管理、学生分类管理、学一学管理、玩一玩管理、听一听管理、试题管理、练一练管理、系统管理、考试管理&#xff0c;用户前端&#xff1b;首页、学一学、玩…

lenovo联想笔记本小新Air-15 2021款Intel版ITL版(82GM)原装出厂Win10系统

自带所有驱动、出厂主题壁纸LOGO、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;ISO 文件大小&#xff1a;11.2GB 链接&#xff1a;https://pan.baidu.com/s/12NTMOt5eUjOIsbayXPyiww?pwdrs4v 提取码&#xf…