He estado siguiendo los tutoriales y la documentación de Vault para configurarlo con MySQL, pero me he topado con un gran obstáculo.
Documentación:https://www.vaultproject.io/docs/secrets/databases/mysql-maria.html
Instalé y configuré MySQL (probé 8 y 5.6) en CentOS 7 usando mysql_secure_installation, pero sin deshabilitar el inicio de sesión remoto. Aunque tengo el servidor Vault y MySQL ejecutándose en el mismo servidor.
Cuando inicio sesión a través de:, mysql -u root -p
me registra perfectamente. Pero cuando ejecuto este comando:
plugin_name=mysql-database-plugin \
connection_url="{{username}}:{{password}}@tcp(127.0.0.1:3306)/" \
allowed_roles="mysqlrole" \
username="root" \
password="password-here"
Falla:
URL: PUT http://127.0.0.1:8200/v1/database/config/my-mysql-database
Code: 400. Errors:
* error creating database object: error verifying connection: Error 1045: Access denied for user 'root'@'localhost' (using password: YES)
He probado cosas como:
GRANT all privileges on *.* to 'root'@'%' identified by 'your-password'
Intenté probar el inicio de sesión con mysql -u root -p -P 3306 -h 127.0.0.1
(que funciona)
Intenté iniciar sesión de forma remota y funciona. Intenté crear un usuario no root en caso de que algo estuviera protegiendo al root y tampoco funcionara. Todo funciona excepto el comando Vault, pero no puedo encontrar ninguna referencia a una configuración adicional de Vault que pueda causar este problema.
¿Me falta algo en el lado de Vault?
Respuesta1
En mi caso fue la configuración de MySql.
Lo que hice fue comentar 'skip_name_resolve' en my.cnf
¡Reinicie MySql y listo!