首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过掩蔽使开发人员能够访问生产数据

通过掩蔽使开发人员能够访问生产数据
EN

Database Administration用户
提问于 2020-04-02 19:03:59
回答 3查看 553关注 0票数 2

我们希望为组织中的开发人员提供来自生产的隐藏数据,以帮助解决生产问题。什么是最好的方法来接近它?

我读过这篇文章,https://learn.microsoft.com/en-us/sql/relational-databases/security/dynamic-data-masking?view=sql-server-ver15

但它似乎采取了一种不同于我想象的方法。我的想法是拥有一个独立的数据库服务器,从生产数据库复制,并在复制过程中以某种方式屏蔽数据,这样真实的数据就永远不会到达复制的数据库服务器。这样,我们就不必对如何存储和处理复制的数据库服务器有特殊的安全考虑。

这是一个合理的方法吗?

EN

回答 3

Database Administration用户

发布于 2020-04-02 19:16:42

这是一个合理的方法吗?

是。这就是SSMS中(删除的)“静态数据掩蔽”组件所做的事情。实现此功能的一种简单方法是使用在生产数据库上强制执行动态数据掩蔽的标识、使用复制数据库向导或自定义脚本从生产中复制数据。

票数 1
EN

Database Administration用户

发布于 2020-04-04 02:21:20

您将无法使用内置复制完成此操作。复制链中没有允许您在数据经过时操作数据的钩子。

过去对我起作用的是一种复制、掩蔽、发布方法。对生产数据库进行备份,并将其还原为新DB。因为这仍然包含敏感数据,所以我会将其保存在生产环境中。对这个新恢复的DB运行掩蔽例程,然后对其进行备份。这是第二个备份,包含隐藏的数据,恢复到开发阶段。这个循环可以像需要的那样经常重复,但是问问自己,你真的需要开发数据的新鲜程度。

我考虑将掩蔽放入一个持续运行的ETL作业中,但是对于我们的用例来说,额外的工作并不值得。

票数 1
EN

Database Administration用户

发布于 2020-04-06 21:42:03

获取备份副本,运行自定义脚本,然后将此备份移到较低的环境中是脆弱的,而且在处理大型数据库时非常耗时。

有几个第三方工具可以掩盖(甚至创建合成版本的数据)信息,因为它被转移到一个较低的环境。您可以将其连接到CI/CD管道(或仅安排在cron作业上)。(完全披露我为一家制造这些工具之一的公司tonic.ai工作,所以我有一点偏见)

关于刷新频率,取决于开发周期的速度,拥有最新的开发环境是非常重要的。缓慢移动的企业可能会每月刷新频率,但是如果您每周或每天推送代码,您应该尽可能经常地将您的开发环境更新到最新的生产模式和刷新数据。

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

https://dba.stackexchange.com/questions/264190

复制
相关文章

相似问题

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