权限管理 ¶
资源组 ¶
功能说明 ¶
资源组是多个资源对象(例如数据库实例)的集合,与用户关联后用来隔离资源访问权限,可以根据项目组或部门进行划分。目前资源组可关联的对象有用户、实例。不同资源组的对象隔离,组成员仅可以查看组关联对象的数据
相关配置 ¶
在系统管理-资源组管理页面,进行资源组管理以及资源组关联对象管理,用户必须关联资源组才能访问对应实例等资源信息。添加实例和用户时也可以批量关联资源组
权限组 ¶
功能说明 ¶
权限组是使用django自带的权限管理模块,是多个权限的集合。工作流审批依赖权限组,用户可以关联到多个权限组,可以根据职能进行划分,如开发组、项目经理组、DBA组等
权限定义 ¶
目前定义了如下权限,可按照需求自主配置,可使用del_permissions.sql脚本清理系统权限(不建议),仅保留自定义权限,启动菜单开头的对应菜单权限,其他对应功能权限
权限清单 ¶
| 权限CODE | 权限名称 | 权限说明 |
|---|---|---|
| menu_dashboard | 菜单 Dashboard | |
| menu_sqlcheck | 菜单 SQL审核 | |
| menu_sqlworkflow | 菜单 SQL上线 | 默认index页面,必须所有用户都拥有该权限,如果使用自定义index可以自行调整 |
| menu_sqlanalyze | 菜单 SQL分析 | |
| menu_query | 菜单 SQL查询 | |
| menu_sqlquery | 菜单 在线查询 | |
| menu_queryapplylist | 菜单 权限管理 | |
| menu_sqloptimize | 菜单 SQL优化 | |
| menu_sqladvisor | 菜单 优化工具 | |
| menu_slowquery | 菜单 慢查日志 | |
| menu_instance | 菜单 实例管理 | |
| menu_instance_list | 菜单 实例列表 | |
| menu_database | 菜单 数据库管理 | |
| menu_instance_account | 菜单 实例账号管理 | |
| menu_dbdiagnosticstic | 菜单 会话管理 | |
| menu_param | 菜单 参数配置 | |
| menu_tools | 菜单 工具插件 | |
| menu_archive | 菜单 数据归档 | |
| menu_binlog2sql | 菜单 Binlog2SQL | |
| menu_schemasync | 菜单 SchemaSync | |
| menu_system | 菜单 系统管理 | |
| menu_document | 菜单 相关文档 | |
| sql_submit | 提交SQL上线工单 | 能提交SQL上线工单 |
| sql_review | 审核SQL上线工单 | 可以查看和审核所在资源组的所有SQL上线工单 |
| sql_execute_for_resource_group | 执行SQL上线工单(资源组粒度) | 可以执行所在资源组所有审核通过的SQL上线工单 |
| sql_execute | 执行SQL上线工单(仅自己提交的) | 可以执行自己提交的审核通过的SQL上线工单 |
| sql_analyze | 执行SQL分析 | 可以执行SQL分析功能 |
| optimize_sqladvisor | 执行SQLAdvisor | 可以在优化工具中执行SQLAdvisor获取优化建议 |
| optimize_sqltuning | 执行SQLTuning | 可以在优化工具中执行SQLTuning获取语句执行信息,能够真实执行语句,建议仅开放给DBA |
| optimize_soar | 执行SOAR | 可以在优化工具中执行SOAR获取优化建议 |
| query_applypriv | 申请查询权限 | 可以申请数据查询权限 |
| query_mgtpriv | 管理查询权限 | 可以查看和管理资源组内的用户查询权限,支持修改结果集限制、有效时间以及删除权限 |
| query_review | 审核查询权限 | 可以查看和审核所在资源组的所有查询权限申请工单 |
| query_submit | 提交SQL查询 | 可以使用SQL在线查询 |
| ll_instances | 可查询所有实例 | 拥有所有实例所有数据的查询权限,无需再次申请 |
| query_resource_group_instance | 可查询所在资源组内的所有实例 | 拥有所在资源组实例所有数据的查询权限,无需再次申请 |
| process_view | 查看会话 | 可以查看实例的会话列表 |
| process_kill | 终止会话 | 可以终止实例会话,建议仅开放给DBA |
| tablespace_view | 查看表空间 | 可以查看实例TOP表空间数据 |
| trxandlocks_view | 查看锁信息 | 可以查看实例锁数据 |
| param_view | 查看实例参数列表 | 可以查看实例参数数据 |
| param_edit | 修改实例参数 | 可以修改实例参数 |
| instance_account_manage | 管理实例账号 | 可以添加、编辑、授权实例账号 |
| data_dictionary_export | 导出数据字典 | 可以库粒度导出数据字典 |
| archive_apply | 提交归档申请 | 可以提交数据归档申请 |
| archive_review | 审核归档申请 | 可以审核数据归档申请 |
| archive_mgt | 管理归档申请 | 可以启用禁用 |
相关配置 ¶
-
注册的用户和LDAP登录的用户会被分配到默认权限组,默认权限组权限可在系统配置中修改
-
在系统管理-用户管理中编辑用户可以给用户分配不同的权限组
-
在系统管理-其他配置管理-权限组管理页面,进行组的维护
集成LDAP ¶
功能说明 ¶
对接LDAP认证,无需添加账号即可使用平台功能,开启LDAP后,会在每次登录时同步LDAP用户信息至审核平台
相关配置 ¶
1.修改配置文件并添加管理员
ENABLE_LDAP=true
AUTH_LDAP_SERVER_URI=ldap://***.com:9000
AUTH_LDAP_BIND_DN=cn=readonly;dc=******;dc=com
AUTH_LDAP_BIND_PASSWORD=**********
AUTH_LDAP_USER_SEARCH_BASE=dc=******,dc=com
AUTH_LDAP_ALWAYS_UPDATE_USER=true
2.ldap中自动不能唯一或者查询出现问题
如果后端有的报错 django.db.utils.IntegrityError: (1062, "Duplicate entry '姓名' for key 'sql_users.username'")`
建议改成sAMAccountName来注册
key为archery.sql_users字段名,value为ldap中字段名,用户同步信息
AUTH_LDAP_USER_ATTR_MAP = {
"username": "sAMAccountName",
"display": "displayname",
"email": "mail"
}