一、背景
因为业务需求需要给开发开通查询权限到生产库,那么就需要一个最小的权限,接下来是操作的步骤
二、操作步骤
1.创建用户并授权
所需权限如下
2.添加查询权限的审批流程
3.用户自己申请需要查询的库表
4.填写指定内容并提交申请
4.1 报错 但是这里会有个问题,提交申请的时候报错:AttributeError: ‘QueryPrivilegesApply’ object has no attribute ‘syntax_type’
4.2 排查 进入到archery,查看archery下的logs下的archery.log,可以看到如下详细报错
[2022-03-02 13:34:18,217][ThreadPoolExecutor-0_0:139625897486080][task_id:default][query_privileges.py:256][ERROR]- Traceback (most recent call last):
File "/opt/archery/sql/query_privileges.py", line 251, in query_priv_apply
audit_result = Audit.add(WorkflowDict.workflow_type['query'], apply_id)
File "/opt/archery/sql/utils/workflow_audit.py", line 35, in add
syntax_type = workflow_detail.syntax_type
AttributeError: 'QueryPrivilegesApply' object has no attribute 'syntax_type'
4.3 原因 通过上面的日志可以看出具体报错在/opt/archery/sql/utils/workflow_audit.py的35行,内容为 syntax_type = workflow_detail.syntax_type,这是之前魔改的时候https://blog.csdn.net/line_on_database/article/details/120155041留下的bug,查看query_privileges_apply表结构,发现确实没有syntax_type
4.4 解决
syntax_type = 0
5.提交申请后,dba通过即可
|