Archery icon indicating copy to clipboard operation
Archery copied to clipboard

soar连接online_dsn报密码错误,应该是密码加密存储的原因

Open czxin788 opened this issue 2 years ago • 1 comments

重现步骤

使用archery的soar工具,会报错,见下:

预期外的结果

在保证soar_test_dsn配置正确的情况下,测试soar,发现报如下操作: image

日志文本

查看日志,报online_dsn密码错误,如下: image

版本

1.9.0

部署方式

Docker

是否还有其他可以辅助定位问题的信息?比如数据库版本等

1、查看archery源码,在archery\sql\sql_optimize.py中,看到online_dsn 的pwd是直接获取的sql_instance表的password字段:

def optimize_soar(request):
..........
# 目标实例的连接信息
    online_dsn = '{user}:"{pwd}"@{host}:{port}/{db}'.format(
        user=instance_info.user,
        pwd=instance_info.password,
        host=instance_info.host,
        port=instance_info.port,
        db=db_name,
    )

2、查看MySQL数据库,password字段确实是加密存储的: image

czxin788 avatar Nov 08 '22 07:11 czxin788

应该是把加密的密码赋值给online_dsn的pwd了,所以才造成的连接online_dsn总是报密码错误。

我不知道该怎么解密sql_instance里面的password密码,明文赋值给online_dsn。

czxin788 avatar Nov 08 '22 07:11 czxin788