mysql-archery的查询权限

12 篇文章 0 订阅

一、背景

因为业务需求需要给开发开通查询权限到生产库,那么就需要一个最小的权限,接下来是操作的步骤

二、操作步骤

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 = workflow_detail.syntax_type
# 现在的写法
syntax_type = 0

5.提交申请后,dba通过即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多种数据库的 SQL 上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作。 启动: 下载 Releases文件,解压后进入docker-compose文件夹 #启动 docker-compose -f docker-compose.yml up -d #表结构初始化 docker exec -ti archery /bin/bash cd /opt/archery source /opt/venv4archery/bin/activate python3 manage.py makemigrations sql   python3 manage.py migrate #数据初始化 python3 manage.py dbshellpython3 manage.py dbshell #创建管理用户 python3 manage.py createsuperuser #重启服务 docker restart archery #日志查看和问题排查 docker logs archery -f --tail=10 logs/archery.log 访问 http://127.0.0.1:9123/     Archery SQL审核查询平台 更新日志: v1.8.1 变更说明 移除对 Inception 的审核支持,仅作为脱敏语句解析使用 在线查询,pg数据库增加会话超时设定,支持查询脱敏 慢查日志和明细列表支持按表头字段进行服务端排序 默认资源组、权限组支持多选,优化系统配置下拉选项 修复说明 解决数据库区分大小写时查看事务信息报错的问题 解决 memoryview is not JSON serializable PG脱敏-查询语句中带有别名脱敏处理 解决查询结果不展示json对象的问题 调整启动方式为wsgi,解决上版本出现访问阻塞的问题 企业微信消息推送,如果消息接受者ID为空,则不会调用企业微信官方API. fix(sendmsg/feishu): fix #1016 支持新版飞书 webhook 接口 ) Bump django from 3.1.2 to 3.1.6 add pycryptodome to requirements 易用性调整 手动执行按钮改名为“已手动完成” 安全性调整 对接受入参的SQL拼接增加参数转义,规避注入风险 使用shlex.quote()对插件参数进行过滤,规避注入风险

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值