如何筑造数据安全边界
本文分享自华为云社区《【云享问答】第6期:如何筑造数据安全边界?》,作者: 华为云社区精选。
当前 AI 技术的快速发展,大模型、大数据正在加速对海量多样化数据的应用。数据已经成为核心资产,而数据安全和隐私保护的重要性也日益凸显。数据脱敏作为数据安全管控体系的关键环节,能够有效地保护敏感数据的安全。为了满足开发者对于数据脱敏的需求,GaussDB(DWS) 动态脱敏功能应运而生。本期【云享问答】通过这 10 个问题,带你全方位了解 GaussDB(DWS) 动态脱敏功能及效果。
1 什么是数据脱敏?
数据脱敏是通过屏蔽敏感数据来保护数据安全的一种方法。它可以将敏感数据变形,例如身份证号、手机号、客户姓名、邮箱地址等。数据脱敏分为静态数据脱敏和动态数据脱敏两种。
GaussDB(DWS)提供列级别的数据脱敏(Dynamic Data Masking)功能,GaussDB (DWS)数据脱敏功能,基于 SQL 引擎既有的实现框架,在受限用户执行查询语句过程中,实现外部不感知的实时脱敏处理。
2 数据脱敏能解决什么问题?
数据脱敏能力对于用户具有多重重要价值。它不仅能够消除暴露个人敏感数据的风险,确保个人隐私安全,还能助力企业遵守 CPRA、GDPR、HIPAA 等隐私法规,避免因违规而引发的法律风险。同时,数据脱敏技术在处理数据时能够保持数据的一致性和可用性,确保脱敏后的数据依然能够支持业务运营和决策分析。此外,通过脱敏处理,还可以降低数据在高效共享过程中的风险,防止敏感信息被恶意利用,从而保护企业免受网络攻击和数据泄露的威胁。
3 脱敏策略是什么?
脱敏策略(Redaction Policy)在数据安全管理中扮演着至关重要的角色。脱敏策略是与数据库中表对象是一一对应的。一个完整的脱敏策略通常由三个关键部分组成:表对象、生效条件以及脱敏列与脱敏函数的对应关系。
表对象指定了策略应用的数据库表。生效条件则是一个布尔表达式,它决定了何时应用脱敏规则。脱敏列与脱敏函数的对应是脱敏策略的核心。不同的字段根据其存储数据的特性和敏感性可以采用不同的脱敏函数。
当且仅当生效条件为真时,查询语句才会触发敏感数据的脱敏,而脱敏过程是内置在 SQL 引擎内部实现的,对生成环境用户是透明不可见的,既保障了数据安全,又不干扰用户的数据访问。
4 在实际开发过程中,数据脱敏怎么用?
以 DWS 为例,在创建脱敏策略时,需要先确定受限制的用户角色,识别和梳理具体业务场景的敏感字段,然后确定脱敏列需要绑定的脱敏函数,最后构造策略创建的语句并执行,从而预制好脱敏策略。
常见的使用函数语句实现脱敏效果
5 数据脱敏应用过程中,如何做到数据库内可算仅库外不可见?
数据库内要求原始的敏感数据能够参与加工计算,仅在出库的时刻敏感数据才会被脱敏处理。例如投影列表达式、投影列函数、聚集函数、过滤条件、分组条件、子查询位置投影列表达式等,需要原敏感数据直接参与加工计算。在表查询、视图查询、COPY 查询、GDS 外表导出等场景触发时会进行数据脱敏。可算不可见功能有一个前置的条件,需要打开开关 enable_redactcol_computable=on!。
6 GaussDB(DWS)的动态脱敏功能是如何进行数据保护的?
GaussDB(DWS)的动态脱敏引擎与底层系统紧密配合,高效、安全、可靠地处理数据。其直观的 DDL 语法界面,使用户能轻松配置、调整脱敏策略,灵活应对不同场景。系统不仅内置多种常见脱敏方法,还支持用户自定义脱敏函数,满足个性化需求。在保障数据安全的基础上,该引擎确保脱敏数据的高可用性,维持业务价值。同时,通过严格的权限和访问控制,仅授权用户可访问敏感数据,全面守护数据的安全与隐私。
第三方脱敏工具多为外挂式,仅支持静态脱敏,无法实现实时动态处理。相比之下,GaussDB(DWS)的内置脱敏功能更加透明、高效。
7 在 GaussDB(DWS)中,如何快速配置和使用动态脱敏功能,并支持非固定格式的数据脱敏?
GaussDB(DWS)提供 DDL 语法支持用户快速配置脱敏策略,使用无特殊要求,原 SELECT 语句即可触发。GaussDB(DWS)对于常规数据类型均支持,且提供用户自定义脱敏函数,可以对更多场景支持更灵活脱敏效果。
8 GaussDB(DWS)是否支持跨数据表传递脱敏数据,传递过程中是否继承原脱敏策略?
在 GaussDB(DWS)的库内可算库外不可见场景下,由于参与数据运算的是原始数据,故 DML 语句执行过程,写入/更新目标表都是原始数据去更新的,故需要引入脱敏策略继承机制,分析语句中子查询的脱敏信息,并继承到目标表中,此场景即涉及脱敏策略的继承。
9 在应用 GaussDB(DWS)过程中,如何保证数据脱敏的实时性?
为了确保实时性,GaussDB(DWS)采用动态数据脱敏方式。动态数据脱敏,是指数据查询过程边输出边脱敏,策略定制的脱敏函数发生变化,查询的脱敏效果也实时更新。
这就意味着 DWS 在数据查询过程中,数据会边输出边脱敏。这种并行交互的方式最大限度地减少了性能损失,使得实时性得以保证。根据提供的信息,性能劣化在 10%以内是可以接受的。因此,各种场景下的实时性需求都能得到满足。
10 针对不同的用户或角色,GaussDB(DWS)能否有不同的脱敏策略?
GaussDB(DWS)数据脱敏含有三要素:脱敏策略应用的表对象、脱敏字段-脱敏函数对、脱敏生效条件,此三部分信息通过 REDACTION POLICY 语法承载。WHEN 表达式子句可以传递生效条件,针对不同的用户或角色去判断。
更多关于 GaussDB(DWS)产品技术解析、数仓产品新特性的介绍,请关注 GaussDB(DWS)论坛,技术博文分享、直播安排将第一时间发布在:GaussDB(DWS)论坛 。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/d0ea3e5cfda4f82b91af6b47c】。文章转载请联系作者。
评论