更新时间:2025-03-13 GMT+08:00
权限设计规范
- 【规则】数据库初始用户连接和访问数据库应作为DBA管理用途,不允许业务直接使用该数据库用户连接和访问数据库。
数据库初始用户,即数据库的安装用户,与集群所属的操作系统用户同名。
- 【规则】数据库初始用户为业务创建用户和数据库,业务使用所创建的用户登录和访问数据库。
- 【规则】合理对角色和用户赋权,应使用最小化权限原则。
- 【建议】通过角色而不是用户来管理权限。
通过角色管理权限,更便于多用户、用户变更等场景下的权限管理。例如:
- 角色和用户为多对多关系,一个角色可以赋予多个用户,修改角色中的权限,被赋予角色的用户权限就可以同时更新;
- 删除用户时,不会影响到角色;
- 新建用户后可以通过赋予角色快速获取所需权限。
- 【建议】避免因权限使用不当导致权限被利用的风险。
- 当用户使用关联函数的方式创建非系统自带类型时,需要了解该类型定义及该类型所关联的函数。如果使用不当,可能会因为所关联的函数而产生权限被利用的风险。
- 通过GRANT授予用户使用表的权限时,如果用户使用不当,可能通过ALTER在表的默认值、约束增加表达式,通过创建索引在INDEX上增加表达式等操作,产生权限被利用的风险。
- 通过GRANT授予用户使用TRIGGER的权限时,如果用户使用不当,可能通过WHEN条件创建表达式,当触发器被触发时,存在权限被利用的风险。
父主题: 数据库设计规范