0

0

PL/SQL 中的数据屏蔽

碧海醫心

碧海醫心

发布时间:2024-09-29 08:12:01

|

829人浏览过

|

来源于dev.to

转载

pl/sql 中的数据屏蔽

当然!以下是 pl/sql 中数据屏蔽的详细说明,以及说明该概念的简单示例。

什么是数据脱敏?

数据脱敏是一种通过用虚构数据替换数据库中的敏感信息来保护数据库中的敏感信息的技术。目标是保持数据用于开发、测试或报告目的的可用性,同时保护个人身份信息 (pii)、财务详细信息等敏感信息。

为什么要使用数据屏蔽?

数据隐私:保护敏感信息免遭未经授权的访问。

合规性:满足监管要求(例如 gdpr、hipaa)。

测试和开发:允许开发人员和测试人员在不暴露真实敏感数据的情况下使用真实数据。

数据屏蔽的类型

  1. 静态数据屏蔽 (sdm):数据在非生产环境(例如开发或测试)中被屏蔽。

  2. 动态数据屏蔽 (ddm):根据用户角色或访问权限实时屏蔽数据。

常见遮蔽技术

替换:用随机或虚构数据替换实际数据。

改组:混合列中的值以保留相同的数据类型。

nulling out:用 null 值替换数据。

加密:使用算法来保护数据。

示例场景

假设我们有一个员工表,其中包含社会安全号码 (ssn) 和电子邮件地址等敏感信息。我们将创建一个程序来掩盖这些细节。

  1. 创建员工表

创建表员工(
员工 id 号主键,
名字 varchar2(50),
姓氏 varchar2(50),
ssn varchar2(11), -- 格式:xxx-xx-xxxx
电子邮件 varchar2(100)
);

-- 插入示例数据
insert into 员工 (employee_id、first_name、last_name、ssn、email) values (1, 'john', 'doe', '123-45-6789', 'john.doe@example.com');
插入员工(employee_id、first_name、last_name、ssn、email)值(2、'jane'、'smith'、'987-65-4321'、'jane.smith@example.com');

提交;

  1. 创建掩蔽程序

此过程将通过用“x”替换前五位数字来屏蔽 ssn,并将电子邮件地址的域名更改为“example.com”。

创建或替换过程 mask_sensitive_data as
开始
-- 掩盖社会安全号码 (ssn)
更新员工
设置 ssn = 'xxx-xx-' || substr(ssn, 8, 4) -- 屏蔽前五位数字
其中 ssn 不为空;

-- Mask Email Addresses
UPDATE employees
SET email = SUBSTR(email, 1, INSTR(email, '@') - 1) || '@example.com'
WHERE email IS NOT NULL;

-- Commit changes
COMMIT;

end mask_sensitive_data;

MMM金融互助系统源码
MMM金融互助系统源码

MMM金融互助系统源码是以thinkphp为核心进行开发的3m金融互助平台。程序安装说明:1.恢复数据:将“数据备份”文件夹中的 urkeji.sql 文件请采用phpMyAdmin进行导入; 2.配置Sql数据库信息,文件路径:根目录下 config.php3.后台管理地址:http://域名/admin.php 用户名:100000 密码:admin1

下载
  1. 执行屏蔽程序

要应用屏蔽,您将执行以下过程:

开始
mask_sensitive_data;
结束;

  1. 检查屏蔽数据

执行过程后,可以查询employees表查看结果:

从员工中选择*;

预期输出:

employee_id first_name last_name ssn email
1 john doe xxx-xx-6789 john.doe@example.com
2 jane smith xxx-xx-4321 jane.smith@example.com

掩蔽逻辑解释

ssn 屏蔽:ssn 从 123-45-6789 转换为 xxx-xx-6789,其中前五位数字被屏蔽。

电子邮件屏蔽:电子邮件地址从 john.doe@example.com 更改为 john.doe@example.com,但域名替换为 example.com。

最佳实践

测试屏蔽过程:确保屏蔽逻辑不会无意中暴露敏感信息。

备份数据:在应用屏蔽之前始终备份原始数据。

合规性:在屏蔽数据时遵守相关的数据保护法规和公司政策。

动态数据屏蔽示例

在需要根据用户角色应用屏蔽的场景中,您可以创建视图。以下是如何创建一个为非管理员用户动态屏蔽数据的视图:

创建或替换视图 masked_employees as
选择
员工 id,
名字,
姓氏,
案例
当 user_role = 'admin' 那么 ssn
否则'xxx-xx-'|| substr(ssn, 8, 4) -- 非管理员用户的掩码
end as ssn,
案例
当 user_role = 'admin' 那么电子邮件
else substr(电子邮件, 1, instr(电子邮件, '@') - 1) || '@example.com'
end as 电子邮件
来自
员工;

在此视图中:

如果用户具有“admin”角色,他们可以看到实际的 ssn 和电子邮件。

对于所有其他用户,敏感数据都会被屏蔽。

结论

pl/sql 中的数据屏蔽有助于保护敏感信息,同时允许使用数据进行测试和开发。所示方法可以根据特定需求进行定制,通过实施这些技术,组织可以有效地增强其数据隐私措施。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

707

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

327

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

350

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1221

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

360

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

819

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

581

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

423

2024.04.29

php中文乱码如何解决
php中文乱码如何解决

本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

1

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.9万人学习

Django 教程
Django 教程

共28课时 | 3.6万人学习

Excel 教程
Excel 教程

共162课时 | 13.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号