APEX实战第9篇:手把手教你集成RAS轻松实现真正的数据安全

APEX实战第9篇:手把手教你集成RAS轻松实现真正的数据安全

2026-01-19 21:46  AlfredZhao  阅读(0)  评论(0)    收藏  举报

在 APEX 开发的江湖里,大家都有一个共同的痛点:权限控制代码满天飞

为了实现“张三只能看张三的数据,李四能看全班的数据”,我们不得不在每一个页面的报表 SQL 里拼接 WHERE 条件。如果不小心漏了一个页面,数据泄露就在所难免。

今天,笔者带大家实战 Oracle RAS (Real Application Security) 方式,直接在数据库内核层面把“行级安全”和“列级脱敏”焊死。即便黑客绕过 APEX 直接查库,也只能看到我们允许他看的东西。


01 | 前提条件:数据库中配置好RAS

传统的 VPD 只能控制行,而 RAS 能同时控制行和列。通过引入 Security Class(安全类) 实现了“白名单”式的列权限控制,非常的灵活。

关于RAS,前面已经铺垫了两篇文章,有兴趣可参考:

  • Oracle RAS:AI时代企业数据安全核心
  • 使用 Oracle 官方 HR Demo 快速验证 RAS 功能(小白实战指南)

起初,笔者想直接基于之前官方的HR Demo配置结果,直接在APEX中开启RAS实现权限管控。

但是这里实际测试时发现,有些比较细节的问题会困扰初学者,所以为了快速验证RAS的基础功能,笔者这里先将之前的RAS策略全部clean,然后参考官方blog的思路,直接简化下示例,新建一张新的 EMP 表:

create table emp as select * from employees;
select * from emp;

然后改造一个安装脚本 apex_hrdemo_setup.sql,只是改了官方脚本 hrdemo_setup.sql 中的EMPLOYEES表变成我们新建的EMP表,其他都不用改。

apex_hrdemo_setup.sql

  • 创建数据库角色(例如 DB_EMP)
  • 创建应用角色(如 employee、it_engineer、hr_representative)
  • 创建应用用户(如 DAUSTIN、SMAVRIS)
  • 创建安全类、安全策略和 ACL
  • 将安全策略应用到 HR.EMP 表上

02 | APEX 创建HR应用并开启RAS

这里我们先使用最简单的配置方式,快速看到RAS的效果。

① 创建HR应用

数据库配置好后,使用APEX快速创建一个HR应用,使用交互式报表来展现EMP这张表。

基于EMP这张表,配置好带表单的交互式报表,点击 Create Application 即可:

这里就是简单对 EMP 这张表通过交互式报表展示,没有设置任何 Where Clause 的过滤条件。

② APEX 开启RAS功能

首先,需要在APEX实例中开启RAS功能。

登录到 internal 的 workspace,设置路径: Manage Instance -> Security

Real Application Security -> Allow Real Application Security -> Yes,即可启用RAS:

然后,我们就可以回到用户自己的 Workspace 进行配置并启用RAS。

需要找到具体的apex应用:员工管理,进入 Shared Components

Authentication Schemes 下:

选择自己当前选择的认证方案,这里测试只有默认的 Oracle APEX Accounts

选择 Real Application Security,将 RAS Mode 修改为 Internal Users,最后别忘了 Apply Changes 保存配置:

③ APEX 配置用户

上面只是开启了RAS,因为我们选择的是 Internal Users,现在还需要同步在APEX配置用户,具体在下图所示的 Manage Users and Groups

这里的用户需要和之前创建的应用用户相同,比如下面的 DAUSTIN 用户,测试阶段可以随便填一个邮箱:

密码可以设置不一样的,可由APEX应用管理员自行决定。

最终设置完成两个应用账户 DAUSTINSMAVRIS 如下:

03 | 测试RAS的效果

至此,就可以进行测试RAS的基础功能了。

比如我们登录APEX的 员工管理 应用,会发现之前默认的 ADMIN 账号已经无法登录:

报错信息也非常清晰,因为我们启用了RAS,其中RAS的应用用户,并没有配置ADMIN这个用户,所以因为RAS应用用户无效或缺失,导致无法登录成功,是正常现象。

接下来就测试下我们的两个RAS应用用户:

  • DAUSTIN是IT专员
  • SMAVRIS是HR专员

测试可以正常登录,而且符合期望,只能看到RAS策略中定义好的数据范围,即只能看IT部门的员工信息以及自己的工资列信息,效果如下:

当我们尝试更新任意记录,都不会成功,因为 DAUSTIN 用户的配置策略只有select查询权限:

比如尝试在表单中修改Last Name的信息,然后 Apply Changes:

会发现查询结果没有任何变化。

而当我们切换成 HR专员 SMAVRIS 用户:

就可以看到全部员工的信息,如下图:

还可以正常修改任意员工的信息,比如修改 121 号员工的Last Name:

点击 Apply Changes 后,页面就会自动刷新,看到该记录已经修改成功,符合我们的RAS定义策略,如下图红框部分:

至此,已完成 Oracle RAS + APEX 的集成,感兴趣的读者也可以实际测试感受下,如遇到任何问题,欢迎在留言区一起讨论。

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

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

相关文章

2026年知名的门禁,门禁管理系统,智能门禁管理系统厂家选购参考榜 - 品牌鉴赏师

引言在当今数字化与智能化快速发展的时代,门禁及门禁管理系统已成为保障各类场所安全与高效运营的关键设施。无论是政府机关、商业综合体,还是住宅小区、医疗机构,都对门禁系统的安全性、稳定性和智能化程度提出了更…

django基于数据挖掘技术的台风灾害预测系统-计算机毕业设计源码+无LW文档

Django基于大数据旅游数据分析与推荐系统的设计与实现 摘要 本文阐述了一个基于Django框架,结合大数据技术的旅游数据分析与推荐系统的设计与实现过程。该系统旨在利用大数据分析技术深入挖掘旅游数据,为游客提供精准的旅游推荐和全面的旅游资讯&#xf…

Git 实战高频命令全解析(覆盖99%开发场景)

Git 实战高频命令全解析(覆盖99%开发场景) Git 作为代码版本控制的核心工具,命令看似繁杂,但日常开发中 99% 的场景仅需掌握 20+ 高频命令即可应对。本文整合实战必备命令,按功能模块分类,结合使用场景、核心用法…

2026年广州口碑好的小红书笔记优化,小红书效果运营,小红书区域代理公司优质推荐 - 品牌鉴赏师

2026 年广州口碑好的小红书效果运营及区域代理公司优质推荐在当今数字化营销的浪潮中,小红书作为一个极具影响力的社交电商平台,吸引了众多企业和品牌的关注。为了帮助大家在广州地区挑选到优质的小红书效果运营及区…

AI结对测试:人类与机器协作的新范式

第一章 范式转移:从自动化测试到人机共生 1.1 传统测试的瓶颈与AI的破局 数据佐证:2025年ISTQB行业报告显示,73%企业面临测试用例爆炸性增长(年均增幅300%) 典型案例:某金融系统回归测试中,AI…

SSRF(Server-Side Request Forgery:服务器端请求伪造) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

痞子衡嵌入式:如果你在找针对i.MX RT系列的OTA参考设计,可以持续关注Tiny OTA

Tiny OTA 是一个针对 i.MX RT 系列的 OTA 参考设计,其包含 MCU 端固件(tota_sbl 和 tota_app)和 PC 端 GUI 工具(MCU-TinyOtaUtility)两部分。tota_sbl 是示例 bootloader 程序,其由 MCU ROM 引导启动,该程序负…

聊聊A*算法与Dijkstra算法的Matlab及C实现

A*算法matlab程序,附送c程序 Djikstra算法matlab程序 代码特点: 1. matlab读入excel制作的地图,障碍物为1; 2.设置起始点和终止点,A*算法会输出一条近最优路径,因为这是启发式算法; 3.Dijkstra算…

大学生“特种兵出游”网站开发任务书

大学生“特种兵出游”网站开发任务书 一、任务名称 大学生“特种兵出游”网站开发 二、任务目的 针对大学生“特种兵出游”效率优先、高性价比、强计划感的核心需求,开发一款集攻略规划、资源预订、社交分享、智能推荐于一体的专属网站。解决传统旅游平台信息繁杂、…

测试经理的AI助手:自动分配任务与资源‌

智能革命:AI助手如何重构软件测试资源管理 作者:测试自动化架构师 | 2026年1月 一、传统测试资源管理的痛点矩阵 graph LR A[人力分配失衡] --> B[资深工程师处理低级任务] C[紧急需求冲击] --> D[测试周期被打断] E[多项目并行] --> F[设备…

探索MATLAB图像检索的多样世界

MATLAB图像检索,有各种方法的,词袋的,颜色特征,形状特征,hu不变矩,lbp纹理特征等在图像处理领域,图像检索一直是个热门话题。MATLAB作为强大的工具,为我们提供了实现多种图像检索方法…

LT6911UXC 与 LT9611UXC 视频桥接芯片固件架构与功能详解

龙讯lt6911uxc,lt9611uxc资料,有源码固件,支持4k60,支持对接海思3519a和3559a,hdmi转mipi,双通道4k60摘要 本文深入剖析龙讯半导体(Lontium)两款主流视频桥接芯片 LT6911UXC 与 LT9611UXC 的参考…

AI实时监控测试进度:预警延误与风险‌

测试进度管理的范式变革 随着DevOps与持续交付的普及,传统手工跟踪测试进度的模式已难以应对复杂系统迭代。本文基于2025年行业调研数据(Gartner报告显示83%企业遭遇测试延误),深度解析AI监控系统的技术架构、预警机制及落地路径…

中华老黄历正版-分享几个正宗中华老黄历网站

中华老黄历正版,老黄历,也叫‌老黄历‌或‌皇历‌,是中国传统的历书,简单来说就是古人用来‌择吉避凶‌的“生活指南”。它融合了‌公历、农历、干支历‌等多种历法,还加入了‌节气、吉凶宜忌、冲煞、星宿‌等信息…

正宗中华老皇历-分享几个正宗中华老黄历网站

老黄历,也叫‌老黄历‌或‌皇历‌,是中国传统的历书,简单来说就是古人用来‌择吉避凶‌的“生活指南”。它融合了‌公历、农历、干支历‌等多种历法,还加入了‌节气、吉凶宜忌、冲煞、星宿‌等信息,内容非常丰富。…

【MySQL性能优化】MySQL8.0定时删除数据

在Java开发中,日志表、流水表等业务表会随时间快速膨胀,定期清理过期数据(如删除30天前数据)是保障数据库性能的常规操作。本文针对MySQL8.0环境,详细讲解两种定时删除方案——MySQL内置事件调度器、Windows任务计划程…

大学校园体育运动会管理系统开题报告

大学校园体育运动会管理系统开题报告 一、研究背景与意义 (一)研究背景 校园体育运动会是高校校园文化建设的重要组成部分,是展现师生精神风貌、增强集体凝聚力、推广全民健身理念的核心载体。随着高等教育规模的不断扩大,高校在校…

配电网二阶锥节点电价(DLMP)优化模型MATLAB代码功能介绍

MATLAB代码:配网节点电价 DLMP 关键词:DLMP SOCP lindistflow 参考文档:《Distribution Locational Marginal Pricing (DLMP) for Congestion Management and Voltage Support》2018 SCI一区 IEEE Transactions on Power System 非完美复现 …

基于Hadoop的出租房源信息分析系统开题报告

基于Hadoop的出租房源信息分析系统开题报告 一、研究背景与意义 (一)研究背景 随着我国城镇化进程的持续推进与房地产市场的稳健发展,房屋租赁市场已成为房地产行业的重要组成部分,承载着满足居民居住需求、优化住房资源配置的核心…