我正在为一个将用 Python 编写的网络应用程序构建一个 MySQL 数据库。 我想隔离用户功能以提供更好的安全性并可能提高性能。 我想这样做: 2套 table :
- 1 个应用用户管理表
- 1套用于存储信息的表
我想创建 4 个 mysql 用户来访问和操作应用程序中的数据:
- 1 名用户对用户表具有选择权限
- 1 名用户对 Users 表具有插入/更新权限
- 1 名用户对存储该表的一组表具有选择权限 信息
- 1 名用户对存储该表的一组表具有插入/更新权限 信息
因此,读取/写入每个表的每个 Python 模块都将使用所需的用户。
我的理由是,如果用户或插入字段因任何原因受到损害,则损害和可以操纵/获取的信息将是有限的。 它不应该使应用复杂化,因为它只会使用与数据库的正确连接,并且每个模块只需要执行一次。
这会不会太过分了?它会影响性能吗? 还有其他想法吗?
最佳答案
使用 Principle of Least Privilege总是一个好主意。
是不是太过分了?不,它是任何优秀设计的一部分。
它会影响性能吗?不。与数据库的连接只是一个连接,与连接到数据库的帐户关联的权限无关。
关于python - 在访问 MySQL 时使用不同的用户进行选择/插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13989341/