首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库中删除隐私数据?

从数据库中删除隐私数据?
EN

Stack Overflow用户
提问于 2011-09-02 00:23:26
回答 3查看 588关注 0票数 1

假设我需要与一个合作伙伴共享一个数据库。显然,我在那个数据库中有客户信息。除了仔细检查和识别包含隐私信息的每一列和用于“擦除”数据的自定义脚本之外,有没有什么工具或脚本可以擦除数据,但格式保持得当(例如,如果一个字符串是5个字符,它将保持5个字符,仅被擦除)?

如果不是,您将如何完成这样的事情,最好是在TSQL中?

EN

回答 3

Stack Overflow用户

发布于 2011-09-02 00:36:27

你可以只考虑共享VIEW,创建视图来隐藏你不想共享的数据。

示例:

代码语言:javascript
复制
CREATE VIEW v_customer
AS
SELECT 
   NAME,
   LEFT(CreditCard,5) + '****' As CreditCard  -- OR, don't show this column at all
   ....
FROM customer
票数 1
EN

Stack Overflow用户

发布于 2011-09-02 00:40:21

首先,我需要说明我在IBM工作的专业兴趣,它有专门的工具可以做到这一点。

步骤1.确保识别所有PII (个人身份信息)。当共享数据库信息时,通常会找到像" name“这样的明显列名,但您还需要找到”隐藏“数据,其中数据是以标准格式嵌入的,例如string-name-string,而column name是类似于"reference code”的内容,或者是自由格式的文本字段。正如您所看到的,除非您将其自动化,否则这将不是一项容易的工作。用于此的工具是InfoSphere发现

步骤2.“擦除”的数据需要在什么上下文中。将命名字段更改为随机字符在测试时会出现问题,因为用户关注的是文本错误而不是功能故障,因此将名称更改为真实但虚构。信用卡信息通常需要“有效”。我的意思是它需要有一个有效的前缀,比如49XX,但其余的是无效的序列。最后,您需要确保更改的每个实例都通过数据库传播,以保持一致性。这方面的工具是Optim Test Data Management with Data Privacy option。

这两个工具集成在一起,提供了一个完整的数据隐私解决方案。

票数 1
EN

Stack Overflow用户

发布于 2015-12-28 05:58:18

根据最初的问题,您似乎需要字段的长度相同,但不是“有效”格式?这样如何:

代码语言:javascript
复制
UPDATE customers
   SET email = REPLICATE('z', LEN(email))
       -- additional fields as needed

根据需要复制/粘贴并重命名表格/字段。我认为您将很难找到一个工作量较少的工具,除非您的模式非常复杂,或者我的格式假设是错误的。

现在我面前没有MSSQL数据库,但您也可以通过以下命令找到所有类似字符串的列:

代码语言:javascript
复制
SELECT *
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE DATA_TYPE IN ('...', '...')

我不记得您需要比较的确切值,但是如果您运行查询并查看其中的内容,它们应该是不言而喻的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7273304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档