python - 在访问 MySQL 时使用不同的用户进行选择/插入

标签 python mysql mysql-python

我正在为一个将用 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/

相关文章:

mysql - 检索我不关注的用户的帖子 Left Join Sql

mysql - SQL 数据库关系和 VB.Net 应用程序

php - 如何在PHP中几秒钟后禁用电子邮件确认链接

python - 我可以使用参数插入来指定 MySQL 查询的列名吗?

python - Django HttpRequest 与请求

python - 使用 pexpect 进行 ssh 密码提示时出现 EOF 异常

Python Selenium - 类似身份验证的警报弹出窗口

python - 为什么我的 Web 应用程序在尝试 POST INSERT 查询时生成 1064 (42000) 错误?

python - pip 安装 MySQLdb 库时出错

python - 在 MYSQLdb 中选择单个项目 - Python