首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有必要阻止开发人员在其机器中拥有数据库的本地副本?

是否有必要阻止开发人员在其机器中拥有数据库的本地副本?
EN

Software Engineering用户
提问于 2015-05-11 09:03:36
回答 2查看 580关注 0票数 3

是否有必要拥有一个所有开发人员都可以使用的专用开发数据库服务器(S),即他们的机器中没有数据库的本地副本。很明显,这会减慢开发速度,但我很好奇是否有人会在企业级别上这样做。我知道我应该相信我们雇佣的开发人员,我猜这将是我将得到的答案,但如果有人真的这么做,我会想知道这是否值得去做。

更新:

很好的答案。我的问题来自quora关于源代码保护的问题:http://www.quora.com/How-does-Facebook-protect-their-source-code

以下是让我思考的中肯的答案:

Facebook (and Google and probably many others) don't have employees check out code on their laptops. Code is checked out on developer servers or workstations and employees connect to these to work. These are only accessible on the corporate network, and connecting from outside the network requires VPN, which itself requires multi-factor authentication.

现在我想到了这一点,如果开发人员能够访问开发服务器,那么他们必须能够访问其中最有可能包含数据库的大部分内容。

EN

回答 2

Software Engineering用户

发布于 2015-05-11 10:11:19

有时,您有一个企业环境,开发仅限于客户端,而数据库是DBA的领域。在这种情况下,devs仍然有一个通用的开发实例,即使他们不能对其进行更改,他们仍然可以用垃圾数据来进行测试。如果您的DB是大型机或小型计算机,那么访问它的API很可能是通过存储过程而不是普通的SQL访问的,在这种情况下,隐藏底层模式是可以的,因为devs不需要知道它--但是他们确实需要知道sprocs。

顺便说一句,即使您有使用本地DB的devs,仍然值得拥有一个承载“最后版本”或甚至只是集成DB的集中式DB服务器,这样devs就可以根据已知的带有良好(或合理)数据的状态DB测试它们的代码。

第二个方面是代码安全。我曾为一家金融服务部门的公司工作,该公司非常重视安全问题,我们的离岸开发人员只会在本地办公室托管的计算机上使用RDPing编写的代码。我的笔记本电脑被锁定,以防止文件共享和电子邮件网站以及类似USB端口之类的东西被禁用。我认为这是PCI安全认证所必需的。

票数 3
EN

Software Engineering用户

发布于 2015-05-11 09:50:06

如果您有Devs和DB,而不仅仅是Devs,那么您可能应该只允许devs通过SProcs访问DB。因此,不需要对底层模式的知识。可以创建一个测试DB,它总是响应sproc调用返回静态数据,开发速度将不受影响(甚至可能得到改进!)

然而,在我的经验中,即使一家公司确实有一个独立的DBA团队,通常是由开发人员编写sprocs和表模式等,然后交给DBA来管理DB基础设施/备份/索引等。

在这种情况下,将模式隐藏在编写它的开发人员面前是荒谬的。

另外,我不确定隐藏模式是否会带来安全好处。甚至是源代码!除非你有一个技术先进的产品(在这种情况下,你应该专利的算法),任何人都可以在几个月内编写一个更好的版本。

事实上,如果您的产品是好的,您可能已经可以免费下载开源版本了。

软件公司的价值在于它的用户群和版权名称。不是它的密码。

重写问题的答案:是否允许开发人员使用本地数据库

好的,假设您的开发人员创建了数据库模式,那么代码和DB模式之间没有什么区别(从安全性上讲)。

即。您应该有一个DB项目,并在源代码管理系统中维护架构。拥有本地DB只是模式的一个实现,不会增加风险。

现在,您可以争辩说,在从大楼中取出的笔记本电脑上没有本地源代码是一种安全好处。即使你相信你的开发者,笔记本电脑总是会丢失/被盗。

但这并不是支持或反对本地开发数据库的论点,而是不将开发计算机带回家的论点。如果你没有人在家工作,你为什么要这样做?

如果您有远程工作人员,那么是的,您可以解决被盗计算机泄露机密信息的安全问题。但我更担心的是保密的客户数据/电子邮件等,而不是源代码/db模式。

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

https://softwareengineering.stackexchange.com/questions/283483

复制
相关文章

相似问题

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