背景
我和同事都可以提交上线SQL,但是不能自己提交的SQL自己去审核通过。 目前的情况是可以自提自审。
修改代码
找到/opt/archery/sql/utils/workflow_audit.py
文件
. . . 省略. . . @staticmethod def can_review ( user, workflow_id, workflow_type) : audit_info = WorkflowAudit. objects. get( workflow_id= workflow_id, workflow_type= workflow_type) group_id = audit_info. group_idresult = False if audit_info. current_status == WorkflowDict. workflow_status[ "audit_wait" ] : try : auth_group_id = Audit. detail_by_workflow_id( workflow_id, workflow_type) . current_auditaudit_auth_group = Group. objects. get( id = auth_group_id) . nameexcept Exception: raise Exception( "当前审批auth_group_id不存在,请检查并清洗历史数据" ) if ( auth_group_users( [ audit_auth_group] , group_id) . filter ( id = user. id ) . exists( ) or user. is_superuser == 1 ) : if workflow_type == 1 : if user. has_perm( "sql.query_review" ) : result = True elif workflow_type == 2 : if user. has_perm( "sql.sql_review" ) : result = True elif workflow_type == 3 : if user. has_perm( "sql.archive_review" ) : result = True if group_id in [ 1 , 2 ] : create_user = audit_info. create_user if create_user == user. username: result = False return result
. . . 省略. . .
group_id
是资源组ID 我这边使用docker运行,把·workflow_audit.py·文件替换就好。运行以下命令。
docker cp workflow_audit.py archery:/opt/archery/sql/utils/
docker restart archery
效果
现在我自己的帐户就没有审批自己提交SQL的权限了,如下图所示。 登录别人的账号有审核的权限,如下图所示。
参考
https://blog.csdn.net/line_on_database/article/details/123847361 非常感谢这位大佬