SQL 服务器的 HashiCorp 根数据库凭证轮换
HashiCorp Root DB Credential Rotation with SQL Server
我正在尝试在 0.10 版的 HashiCorp Vault 中使用这个新功能,它允许您轮换提供给数据库秘密引擎的根凭据。使用 SQL 服务器作为我的数据库我无法让它工作。
执行 vault write -force database/rotate-root/mssql
会引发此错误:
Error writing data to database/rotate-root/mssql: Error making API request.
URL: PUT http://0.0.0.0:8200/v1/database/rotate-root/mssql
Code: 500. Errors:
1 error occurred:
mssql: Cannot alter the login '%!s(MISSING)', because it does not exist or you do not have permission.
正在做 vault read database/config/mssql
returns:
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 write database/config/mssql \
plugin_name="mssql-database-plugin" \
connection_url="sqlserver://{{username}}:{{password}}@sql:1433" \
allowed_roles="*, imagine" \
username="vaultrolecreator" \
password="UnSafePass"`
您的帐户“vaultrolecreator”可能没有在数据库上执行 ALTER LOGIN
或 ALTER CREDENTIAL
语句的权限。根据 Vault official documentation,需要这些权限才能执行 rotate-root
这似乎是 HashiCorp Vault 0.10.2(及更早版本)中的错误。正在新版本中进行修复:
我正在尝试在 0.10 版的 HashiCorp Vault 中使用这个新功能,它允许您轮换提供给数据库秘密引擎的根凭据。使用 SQL 服务器作为我的数据库我无法让它工作。
执行 vault write -force database/rotate-root/mssql
会引发此错误:
Error writing data to database/rotate-root/mssql: Error making API request.
URL: PUT http://0.0.0.0:8200/v1/database/rotate-root/mssql Code: 500. Errors:
1 error occurred:
mssql: Cannot alter the login '%!s(MISSING)', because it does not exist or you do not have permission.
正在做 vault read database/config/mssql
returns:
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 write database/config/mssql \
plugin_name="mssql-database-plugin" \
connection_url="sqlserver://{{username}}:{{password}}@sql:1433" \
allowed_roles="*, imagine" \
username="vaultrolecreator" \
password="UnSafePass"`
您的帐户“vaultrolecreator”可能没有在数据库上执行 ALTER LOGIN
或 ALTER CREDENTIAL
语句的权限。根据 Vault official documentation,需要这些权限才能执行 rotate-root
这似乎是 HashiCorp Vault 0.10.2(及更早版本)中的错误。正在新版本中进行修复: