处理内部开发数据库凭据的最佳做法是什么?对应用程序和开发人员都是吗?
目前,我们为每个开发数据库创建一个单独的用户/密码,并在代码存储库中提交这些凭据。但是,我们希望避免在存储库中存储凭据。问题是我们的开发人员和应用程序都需要访问数据库。
如果有关系,我们使用MySQL (确切地说,是Percona)。
发布于 2014-02-13 16:39:00
首先,确保开发、分期和生产环境是100%独立的。因此,MySQL帐户也应该是分开的。它有助于使版本升级顺利,而且更安全。在Percona,我做了十几个恢复案例,其中一个开发人员仅仅因为生产和开发数据库共享他的帐户就放弃了一个生产数据库。
话虽如此,开发人员在开发数据库上应该有一个读写帐户,在暂存数据库上应该有一个只读帐户,在生产上应该有只读帐户。
为每个开发人员创建帐户,因此他们负责将它们存储在安全的位置。因此,您不需要费心如何以安全的方式存储/共享帐户。
显然,密码不应该存储在存储库中。将配置模板保存在源代码树中:
# cat config.php
<?php
$mysql_user="@@MYSQL_USER@";
$mysql_password="@@MYSQL_PASSWORD@";
$mysql_host="@@MYSQL_HOST@";
$mysql_db="@@MYSQL_DB@";
?> 要确保它在升级过程中没有被覆盖,请在.spec文件中告知
%files www
%config(noreplace) %attr(640, root, apache) %{_sysconfdir}/%{project_name}/config.phphttps://stackoverflow.com/questions/21721705
复制相似问题