Add support for static database roles

Abierto
#938 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
java, spring

Línea de trabajo

No se nombran archivos del repositorio ni pruebas. Empieza por rastrear la integración de spring-cloud-starter-vault-config y spring-cloud-vault-config-databases, incluida la obtención de credenciales de roles estáticos, el endpoint de la API de rotación y la actualización del bean de datasource. Se considera terminado cuando la rotación proactiva y las credenciales actualizadas funcionan antes de que expire el TTL de Vault.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

We use Vault to manage passwords for existing database accounts through static database roles. Vault does not create these accounts.

We added the spring-cloud-starter-vault-config and spring-cloud-vault-config-databases dependencies. Our Spring Boot application can retrieve the username and password successfully. However, Spring Cloud Vault does not appear to refresh the DataSource automatically when Vault rotates the password for a static role.

The credential API response includes the following fields:

{
  "lease_id": "",
  "renewable": false,
  "lease_duration": 0,
  "data": {
    "username": "xxx",
    "password": "yyy",
    "rotation_period": 15552000,
    "ttl": 4274939
  },
  "mount_type": "database"
}

The ttl indicates the time remaining until the next password rotation.

Our Vault setup also provides an API endpoint that applications can call to rotate the password before the scheduled rotation.

Our applications cache credentials in memory to avoid repeated calls to Vault. If Vault rotates a password while an application is still using the cached value, new database connections can fail. We want to coordinate password rotation, credential retrieval, and the DataSource refresh to reduce this risk.

Lenguaje dominante
Java
Estrellas
292
Forks
152
Merge medio
7 h 23 min
PR fusionados (30 d)
32

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de spring-cloud/spring-cloud-vault

Todos los issues de spring-cloud/spring-cloud-vault

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.