首页 > 解决方案 > Vault 数据库机密引擎忽略非默认端口

问题描述

我正在尝试在保险库中配置数据库机密引擎以生成动态凭据。在此期间,即使我为 SQL 服务器提供了自定义有效端口,看起来保险库正在选择命令中提供的默认端口(通过忽略自定义端口)。 请参考截图

有人可以帮助配置保管库数据库秘密引擎以使用自定义端口。

所附图像的文本版本:

C:\WINDOWS\system32>vault write database/config/my-mssql-database plugin_name=mssql-database-plugin connection_url='sqlserver://{{username}}:{{password}}@localhost\sql2017:64062' allowed_roles="my-role" 用户名="vaultuser" 密码="******"

将数据写入数据库/config/my-mssql-database 时出错:发出 API 请求时出错。

URL:PUT http://127.0.0.1:8200/v1/database/config/my-mssql-database 代码:400。错误:

创建数据库对象时出错:验证连接时出错:无法打开与主机 'localhost:1433' 的 tcp 连接:拨打 tcp 127.0.0.1:1433:connectex:无法建立连接,因为目标机器主动拒绝了它。

标签: hashicorp-vault

解决方案


我不确定您为什么在数据库 URL 中使用反斜杠,但是您将端口放在错误的位置 - 它需要紧跟在 URL 的域部分之后(并且在路径之前)。代替

connection_url='sqlserver://{{username}}:{{password}}@localhost\sql2017:64062'

尝试

connection_url='sqlserver://{{username}}:{{password}}@localhost:64062/sql2017'

推荐阅读