Hay varias formas de hacerlo, dependiendo de si el servidor web realmente necesita acceso de lectura / escritura a los touthens outh.
He estado usando Vault por un tiempo, y creo que este sería el camino a seguir. Puedes usar algo como el approle auth backend ( vault auth-enable approle
) para permitir que tus servidores escriban los tokens basados en diferentes políticas (por lo tanto, se limitan a solo escribir esos tokens).
Dado que el servidor web solo puede escribir, necesita algo que pueda leer los datos de auth, y le sugiero que tenga algunos Aquí la herramienta de cola , con trabajadores que pueden leer y procesar lo que sea necesario hacer, y preferiblemente no en el servidor web (de modo que el acceso de lectura / escritura se divide en diferentes máquinas). El trabajador podría usar un rol de aplicación de lectura / escritura o solo lectura.
Qué secreto backend que usa para su almacenamiento de datos (cónsul / archivo / DB) no lo hace importar. Elija con lo que se sienta cómodo (me gusta el cónsul porque es resistente y no depende de mysql u otra replicación de DB), pero lo que elija, vaul se asegurará de que los datos estén encriptados antes de escribirlos.
Si el servidor web es hackeado, bueno, entonces no podrá leer los tokens, por lo que los datos deberían ser bastante seguros (siempre que proteja la comunicación de la máquina / bóveda / trabajador).