当前位置: 首页 > news >正文

Oracle Data Redaction与Data Pump

如果表定义了Redaction Policy,导出时数据会脱敏吗?本文解答这个问题。

按照Oracle文档Advanced Security Guide第13章,13.6.5的Tutorial,假设表HR.jobs定义了Redaction Policy。

假设HR用户被授予了访问目录对象的权限:

grant read, write on directory data_pump_dir to hr;

此时导出出错:

$ expdp hr/Welcome1@orclpdb1 tables=jobs directory=data_pump_dirExport: Release 19.0.0.0.0 - Production on Fri Aug 11 16:04:01 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "HR"."SYS_EXPORT_TABLE_01":  hr/********@orclpdb1 tables=jobs directory=data_pump_dir
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ORA-31693: Table data object "HR"."JOBS" failed to load/unload and is being skipped due to error:
ORA-28081: Insufficient privileges - the command references a redacted object.Master table "HR"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for HR.SYS_EXPORT_TABLE_01 is:/opt/oracle/admin/ORCLCDB/dpdump/028F128E6BA24783E0630101007F820F/expdat.dmp
Job "HR"."SYS_EXPORT_TABLE_01" completed with 1 error(s) at Fri Aug 11 16:04:25 2023 elapsed 0 00:00:24

其中的关键错误信息为:

ORA-28081: Insufficient privileges - the command references a redacted object.

如果你用sys用户导出,就不会有错,因为SYS用户又豁免Data Redaction的权限。

我们如果赋予HR用户相应的权限,

grant DATAPUMP_EXP_FULL_DATABASE to hr;

然后导出成功:

$ expdp hr/Welcome1@orclpdb1 tables=jobs directory=data_pump_dirExport: Release 19.0.0.0.0 - Production on Fri Aug 11 16:22:25 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "HR"."SYS_EXPORT_TABLE_01":  hr/********@orclpdb1 tables=jobs directory=data_pump_dir
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/RADM_POLICY
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
. . exported "HR"."JOBS"                                 7.109 KB      19 rows
Master table "HR"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for HR.SYS_EXPORT_TABLE_01 is:/opt/oracle/admin/ORCLCDB/dpdump/028F128E6BA24783E0630101007F820F/expdat.dmp
Job "HR"."SYS_EXPORT_TABLE_01" successfully completed at Fri Aug 11 16:22:50 2023 elapsed 0 00:00:23

总之,Data Redaction不是一个物理脱敏的方案,物理脱敏还需要靠DMS(Data Masking and Subsetting)。

那么,结论就是:

  • 对于启用了Redaction 策略的表,数据泵导出时数据不会脱敏
  • 但是会把策略也一并导出,然后在目标库可以用impdp导入。

实验做完了。收回hr的权限:

revoke read, write on directory data_pump_dir from hr;
revoke DATAPUMP_EXP_FULL_DATABASE from hr;

参考

  • 13.6.5 Tutorial: Creating and Sharing a Named Data Redaction Policy Expression
  • Data Redaction and Data Pump in #Oracle 12c
  • Data Redaction Error While Doing An Expdp: ORA-28081: Insufficient privileges - the command references a redacted object. (Doc ID 1631729.1)
  • Some examples of implementing Data Redaction using DBMS_REDACT (Doc ID 1588270.1)

相关文章:

Oracle Data Redaction与Data Pump

如果表定义了Redaction Policy,导出时数据会脱敏吗?本文解答这个问题。 按照Oracle文档Advanced Security Guide第13章,13.6.5的Tutorial,假设表HR.jobs定义了Redaction Policy。 假设HR用户被授予了访问目录对象的权限&#xf…...

设计模式(6)原型模式

一、介绍 Java中自带的原型模式是clone()方法。该方法是Object的方法,native类型。他的作用就是将对象的在内存的那一块内存数据一字不差地再复制一个。我们写简单类的时候只需要实现Cloneable接口,然后调用Object::clone方法就可实现克隆功能。这样实现…...

pywinauto结合selenium实现文件上传

简介 PC端-Windows上的元素识别可用viewWizard工具 PC端-Windows上的元素操作可用pywinauto库 浏览器上网页的元素识别可用selenium 安装 pip installer pywinauto 使用须知 pywinauto官方文档 确定app的可访问技术 1、win32 API(backend=“win32”) 一般是MFC、VB6、VC…...

【Java多线程学习7】Java线程池技术

线程池技术 一、什么是线程池 线程池顾名思义是管理一组线程的池子。当有任务要处理时,直接从线程池中获取线程来处理,处理完之后线程不会立即销毁,而是等待下一个任务。 二、为什么要使用线程池? 线程池的作用? 1、降低资源…...

VMware虚拟机NAT模式Ubuntu无法上网解决方案

发现只要NAT模式,ping地址时就报网络不可达,且右上方网络图标消失,但是外部USB网络设备又只能在NAT模式下使用。。。 博主的解决方案如下: 按WinR键入services.msc, 找到VMware DHCP Service、VMware NAT Service和V…...

Linux中无法忘记mysql密码处理办法

找到/etc/my.cnf或者/etc/mysql/my.cnf文件 添加下面两行代码,取消密码验证 [mysqld] skip-grant-table使用命令登录:mysql -u root -p,回车,回车使用sql语句来修改密码 mysql>use mysql; mysql>update user set password…...

vue 使用 el-upload 上传文件(自动上传/手动上传)

vue 使用 el-upload 上传文件(自动上传/手动上传) 文章目录 1. 自动上传(选择完文件后,调用axios上传)2.手动上传 1. 自动上传(选择完文件后,调用axios上传) <el-uploadref"upload1"action:multiple"false"accept".xlsx,.csv,.xls":auto-upl…...

服务器遭受攻击之后的常见思路

哈喽大家好&#xff0c;我是咸鱼 不知道大家有没有看过这么一部电影&#xff1a; 这部电影讲述了男主是一个电脑极客&#xff0c;在计算机方面有着不可思议的天赋&#xff0c;男主所在的黑客组织凭借着超高的黑客技术去入侵各种国家机构的系统&#xff0c;并引起了德国秘密警察…...

C语言学习笔记 使用vscode外部console出现闪退-12

前言 在使用vscode的外部console时&#xff0c;会出现闪退现象&#xff0c;这是因为程序运行结束后&#xff0c;系统自动退出了终端&#xff08;终端机制决定的&#xff09;。我们可以在C程序结束后&#xff0c;使用system函数来暂停DOS终端系统&#xff0c;这样就可以完整地看…...

从Spring源码看Spring如何解决循环引用的问题

Spring如何解决循环引用的问题 关于循环引用&#xff0c;首先说一个结论&#xff1a; Spring能够解决的情况为&#xff1a;两个对象都是单实例、且通过set方法进行注入。 两个对象都是单实例&#xff0c;通过构造方法进行注入&#xff0c;Spring不能进行循环引用问题&#x…...

03 - 通过git log可以查看版本演变历史

通过git log可以查看版本演变历史 主要包括&#xff1a; commit 哈希id提交的Author信息提交的日期和时间commit info信息 git log本人常用&#xff0c;显示简洁&#xff1a; git log --oneline当log条数很多的时候&#xff0c;可以如下指定显示的数量&#xff1a; git log…...

【图论】单源最短路

算法提高课笔记。&#xff08;本篇还未更新完… 目录 单源最短路的建图方式例题热浪题意思路代码 信使题意思路代码 香甜的黄油题意思路代码 最小花费题意思路代码 最优乘车题意思路代码 昂贵的聘礼题意思路代码 单源最短路的建图方式 最短路问题可以分为以下两类&#xff1a…...

闻道网络:2023宠物消费网络营销洞察数据报告(附下载)

关于报告的所有内容&#xff0c;公众【营销人星球】获取下载查看 核心观点 行业持续升级&#xff0c;增速放缓&#xff0c;正朝着多元化和专业化的方向发展&#xff1b;自公共事件以来&#xff0c;因&#xff0c;“猫不用遛”&#xff0c;养猫人士增速迅猛反超犬主人&#xf…...

Docker 安装和架构说明

Docker 并非是一个通用的容器工具&#xff0c;它依赖于已存在并运行的Linux内核环境。 Docker实质上是在已经运行的Liunx下制造了一个隔离的文件环境&#xff0c;因此他的执行效率几乎等同于所部署的linux主机。因此Docker必须部署在Linux内核系统上。如果其他系统想部署Docke…...

101. 对称二叉树

题目 原题链接 : 101.对称二叉树 题面 : 对于这一题呢&#xff0c;题目要求给出递归和迭代两种方式来解决!!! 注 : 这一题不仅仅是判断左右两个子节点是否对称,而是要遍历两棵树而且要比较内侧和外侧节点 递归 先确认递归三要素 : 确定递归函数的参数和返回值 bool …...

cmake应用:集成gtest进行单元测试

编写代码有bug是很正常的&#xff0c;通过编写完备的单元测试&#xff0c;可以及时发现问题&#xff0c;并且在后续的代码改进中持续观测是否引入了新的bug。对于追求质量的程序员&#xff0c;为自己的代码编写全面的单元测试是必备的基础技能&#xff0c;在编写单元测试的时候…...

静态时序分析与时序约束

一、时序分析的基本概念 1. 时钟 理性的时钟模型是一个占空比为50%且周期固定的方波&#xff1a; 实际电路中输入给FPGA的晶振时钟信号是正弦波&#xff1a; 2. 时钟抖动 Clock Jitter&#xff0c;时钟抖动&#xff0c;相对于理想时钟沿&#xff0c;实际时钟存在不随时钟存在…...

YOLOv5基础知识入门(3)— 目标检测相关知识点

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLO算法发展历程和YOLOv5核心基础知识学习完成之后&#xff0c;接下来我们就需要学习目标检测相关知识了。为了让大家后面可以顺利地用YOLOv5进行目标检测实战&#xff0c;本节课就带领大家学习一下目标检测的基础知识点&…...

10个AI绘图生成器让绘画更简单

AI不仅影响商业和医疗保健等行业&#xff0c;还在创意产业中发挥着越来越大的作用&#xff0c;开创了AI绘画生成器新时代。在绘画领域当然也是如此&#xff0c;与传统的绘画工具不同&#xff0c;AI人工智能时代的绘画工具是全自动的、智能的&#xff0c;甚至可以说是“傻瓜式”…...

干货满满的Python知识,学会这些你也能成为大牛

目录 1. 爬取网站数据 2. 数据清洗与处理 3. 数据可视化 4. 机器学习模型训练 5. 深度学习模型训练 6. 总结 1. 爬取网站数据 在我们的Python中呢&#xff0c;使用爬虫可以轻松地获取网站的数据。可以使用urllib、requests、BeautifulSoup等库进行数据爬取和处理。以下是…...

Element Plus + my-cron-vue3:给你的Vue3后台管理系统加个‘任务计划’功能(附完整代码)

Element Plus my-cron-vue3&#xff1a;构建企业级定时任务配置模块实战 在后台管理系统的开发中&#xff0c;定时任务配置是一个高频需求场景。无论是每天凌晨的数据统计报表生成&#xff0c;还是每周一次的数据库备份&#xff0c;甚至是每小时的缓存刷新&#xff0c;都需要一…...

用STM32F103C8T6和HC-05做个遥控小车?从模块配置到代码联调的完整保姆级教程

从零打造蓝牙遥控小车&#xff1a;STM32F103C8T6与HC-05全流程实战指南 当你用手机轻轻一点&#xff0c;面前的迷你小车立刻响应指令开始移动——这种将虚拟控制转化为物理运动的成就感&#xff0c;正是嵌入式开发的魅力所在。本文将带你完整实现这个经典项目&#xff0c;不仅包…...

嵌入式项目数据存储的“后悔药”:Cypress FM25CL64B铁电存储器防丢数据实战指南

嵌入式系统数据安全的终极防线&#xff1a;FM25CL64B铁电存储器深度应用指南 在工业自动化设备突然断电的瞬间&#xff0c;设备参数能否完好保存&#xff1f;当医疗仪器遭遇意外重启&#xff0c;关键校准数据是否会丢失&#xff1f;这些场景正是嵌入式工程师们最不愿面对的噩梦…...

形态计算与软体机器人的生物启发原理及应用

1. 形态计算与软体机器人的生物启发原理形态计算&#xff08;Morphological Computation&#xff09;的核心思想是将计算任务"卸载"到物理结构本身。这个概念最早由Pfeifer和Iida在2005年提出&#xff0c;他们观察到生物系统&#xff08;如章鱼触手&#xff09;通过形…...

从验证到FPGA原型:手把手教你用CK_RISCV平台玩转RISC-V处理器全流程

从验证到FPGA原型&#xff1a;手把手教你用CK_RISCV平台玩转RISC-V处理器全流程 在当今开源处理器架构的浪潮中&#xff0c;RISC-V凭借其模块化设计和开放生态迅速崛起。对于希望深入理解处理器设计全流程的工程师而言&#xff0c;从RTL代码到硬件原型的完整闭环实践是至关重要…...

real-anime-z镜像免配置:CSDN平台开箱即用,省去Diffusers环境搭建

real-anime-z镜像免配置&#xff1a;CSDN平台开箱即用&#xff0c;省去Diffusers环境搭建 1. 镜像介绍与核心优势 real-anime-z是CSDN星图平台提供的专业动漫风格文生图镜像&#xff0c;专为二次元创作场景优化。这个镜像最大的特点就是开箱即用&#xff0c;用户无需配置复杂…...

高斯DWS数据清洗实战:多源异构日期格式的统一化处理与质量提升

1. 为什么我们需要统一日期格式&#xff1f; 在数据分析和处理过程中&#xff0c;日期字段是最常见但也最容易出问题的数据类型之一。想象一下&#xff0c;你正在处理一个来自不同业务系统的数据集&#xff0c;有的系统记录日期是"2023年5月1日"&#xff0c;有的是&…...

顶会论文模块复现与二次创新:前沿损失函数探索:Focaler-IoU 复现与对比实验,针对困难样本回归的极致优化

一、写在前面:边界框回归的“公平性困境” 做目标检测的朋友一定有过这样的体验:模型在验证集上mAP还不错,但一到实际场景中,小目标漏检严重、遮挡目标定位漂移、密集场景下的框回归“拖泥带水”。排查了很久的网络结构、数据增强、训练策略,最后发现问题竟然出在最不起眼…...

YC 总裁开源了自己亲手写的 AI Agent 大脑,1 周就 1 万点赞。

还记得之前那个特别火的 GStack 吗?我前几天也发过文章介绍过。就是 Y Combinator 现任总裁兼 CEO Garry Tan 开源的那套专门给 AI 写代码用的 Skill 工作流&#xff0c;目前 7 万 Star。每天有 3 万开发者在用&#xff0c;在 Claude Code 圈子里基本算是贼火模板了。就在前几…...

DownKyi完全指南:三分钟掌握B站视频下载的核心技巧

DownKyi完全指南&#xff1a;三分钟掌握B站视频下载的核心技巧 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff…...