就在最近,我有一个开发人员不小心尝试将数据库恢复到生产环境,而他本应该恢复到临时副本。这很容易做到,因为数据库名称相似,即 CustomerName_Staging 与 CustomerName_Production。
理想情况下,我会将它们放在完全独立的盒子上,但成本太高,而且严格来说,如果用户连接到错误的盒子,它并不能阻止同样的事情发生。
这本身不是一个安全问题——它是使用临时数据库的正确用户,如果在生产数据库上有工作要做,那也是他。我很想有一个部署官来区分这些问题,但是团队还不够大。
我很想听听一些关于如何防止这种情况的实践、配置和控制方面的建议。