我工作的环境需要确保开发人员仅使用其 Unix 帐户的用户名连接到我们应用程序的 MySQL 数据库。这背后的驱动力是通过 MySQL 常规日志从查询运行追溯到运行它们的用户。到目前为止我还没有找到任何理想的解决方案,我有一些不完美的解决方案,我希望得到一些更好的想法。
开发人员可以访问应用程序使用的凭据(他们可以通过登录主机来访问它们)。我正在研究一种解决方案来限制对凭据的访问,同时仍然使它们可供应用程序使用,但仍然希望确保 MySQL 日志反映运行查询的真实用户。
mysql -u <user>
有谁知道我可以限制强制<user>
成为登录的unix用户名的方法吗?该数据库托管在 AWS RDS 上,因此我对它没有太多控制权,但我确实可以完全控制mysql
连接计算机上的二进制文件。
我很高兴添加更多信息,我只是不确定什么是相关的。请提出问题,我会更新我自己的。
有没有办法做一些事情,比如包装二进制文件以添加逻辑来限制开关-u
并调用实际的mysql
二进制文件?
答案1
MySQL企业版支持PAM(可插拔身份验证模块)。
本文介绍了如何设置:https://dev.mysql.com/doc/refman/5.5/en/pam-pluggable-authentication.html
缺点是你
- 需要MySQL商业版
- 需要访问 MySQL 服务器的配置文件。
如果你没有这个,除了编写一个脚本来复制 MySQL 自己的用户管理中的受信任的 Unix 用户之外,你无能为力。但是,您将无法同步密码。