我工作的公司正在开始开发一个将使用MySQL作为数据库引擎的Django业务应用程序。我正在寻找一种方法来防止数据库凭证存储在纯文本配置文件中。
我来自Windows / IIS背景,其中vhost可以模拟现有的Windows / AD用户,然后使用这些凭据对MS SQL Server进行身份验证。
作为示例:如果Django应用程序在Ubuntu服务器上运行apache2 + mod_python,那么将“www-data”用户添加到MySQL然后让MySQL使用其PAM模块验证凭据是否明智? / p>
希望其中一些是有道理的。提前谢谢!
答案 0 :(得分:1)
MySQL控制从自己的用户列表访问表,因此最好创建具有权限的MySQL用户。您可能希望创建角色而不是用户,因此您无需管理多个角色:管理员,读/写角色,只读角色等。
Django应用程序始终作为Web服务器用户运行。您可以将其更改为“模仿”Ubuntu用户,但如果该用户被删除该怎么办?将其保留为“www-data”并以这种方式管理数据库角色。