我正在尝试在0.10版本的HashiCorp Vault中使用此新功能,该功能允许您旋转提供给数据库秘密引擎的根凭据。使用SQL Server作为我的数据库我不能让它工作。
执行vault write -force database/rotate-root/mssql
会抛出此错误:
将数据写入数据库/ rotate-root / mssql时出错:发出API请求时出错。
网址:PUT http://0.0.0.0:8200/v1/database/rotate-root/mssql 代码:500。错误:
发生了1次错误:
mssql:无法更改登录'%!s(MISSING)',因为它不存在或您没有权限。
执行vault read database/config/mssql
返回:
Key Value
--- -----
allowed_roles [* imagine]
connection_details map[connection_url:sqlserver://{{username}}:{{password}}@sql:1433 username:vaultrolecreator]
plugin_name mssql-database-plugin
root_credentials_rotate_statements []
不知道你是否应该提供自己的旋转语句。我想做的其他所有工作都很完美,这些测试都是使用Vault根令牌完成的。
原始插件信息是使用以下声明完成的:
vault write database/config/mssql \
plugin_name="mssql-database-plugin" \
connection_url="sqlserver://{{username}}:{{password}}@sql:1433" \
allowed_roles="*, imagine" \
username="vaultrolecreator" \
password="UnSafePass"`
答案 0 :(得分:1)
这似乎是HashiCorp Vault 0.10.2(及更早版本)中的一个错误。正在修改新版本的修复程序:
答案 1 :(得分:0)
您的帐户" vaultrolecreator "可能没有在数据库上执行ALTER LOGIN
或ALTER CREDENTIAL
语句的权限。根据{{3}},执行rotate-root