Azure-sdk-for-java: [BUG] Cambios importantes en la configuración de azure-spring-boot-starter-keyvault-secrets

Creado en 17 sept. 2020  ·  3Comentarios  ·  Fuente: Azure/azure-sdk-for-java

Describe el error
azure-spring-boot-starter-keyvault-secrets tiene propiedades de configuración de ruptura (y mal documentadas).

Excepción o seguimiento de pila
Llamar a esto con una bóveda de claves que contiene un secreto deshabilitado es un buen ejemplo que muestra que:

  java.lang.IllegalStateException: Failed to load ApplicationContext

  Caused by: java.lang.IllegalStateException: Failed to configure KeyVault property source

  Caused by: com.azure.core.exception.ResourceModifiedException: Status code 403, "{"error":{"code":"Forbidden","message":"Operation get is not allowed on a disabled secret.","innererror":{"code":"SecretDisabled"}}}"

Reproducir
Pasos para reproducir el comportamiento:

  • Cree un archivo property.yaml (!):
    yaml azure: keyvault: allow: telemetry: false enabled: true uri: https://${KEYVAULT_NAME}.vault.azure.net/ client-id: ${AZURE_CLIENT_ID} client-key: ${KEYVAULT_CLIENT_SECRET:not-a-secret} tenant-id: ${AZURE_TENANT} secret: keys: test1
  • Cree el secreto habilitado test1 y el secreto deshabilitado test2 .
  • Capture el tráfico HTTP destinado a https://dc.services.visualstudio.com/v2/track
  • Ejecute una aplicación de arranque de primavera que simplemente recupere estas propiedades

*Configuración

  • SO: Linux
  • IDE: IntelliJ
  • azure-spring-boot-starter-keyvault-secrets 2.3.3

Comportamiento esperado
Comportamiento similar al de 2.2.X (como se documenta):

azure.keyvault.secret.keys es una propiedad para indicar que si la aplicación usa claves secretas específicas, si esta propiedad está configurada, la aplicación solo cargará las claves en la propiedad y no cargará todas las claves desde el almacén de claves

[...]

Si no desea participar, simplemente desactívelo estableciendo la siguiente configuración en application.properties.

azure.keyvault.allow.telemetry=false

→ Solo se recuperan test1 . No se envía telemetría.

Contexto adicional

Lista de verificación de información
Por favor, asegúrese de haber agregado toda la siguiente información arriba y marque los campos obligatorios; de lo contrario, trataremos al emisor como un informe incompleto.

  • [x] Descripción del error agregada
  • [x] Pasos de reproducción agregados
  • [x] Información de configuración agregada
azure-spring azure-spring-keyvault customer-reported question

Todos 3 comentarios

Hola, @ frank-fischer-by.

Gracias por comunicarte.

IMU, secret-keys es más razonable que secret.keys . Lo mismo que allow-telemetry .
Perdón por el cambio de ruptura.

Y perdón por el documento no actualizado.
He creado un PR para arreglar el documento;

Hola @chenrujun ,
gracias por la actualización.

Estoy bien de cualquier manera, solo me preguntaba acerca de la inconsistencia.
Ahora que sé cuáles son los valores correctos, puedo cambiar la configuración 🙂.

Gracias por responder y actuar tan rápido 👍.

Volver a calificar su PR: Creo que mencionar el cambio radical en el Changelog podría ayudar a otras personas a evitarlo.

Hola, @ frank-fischer-by.

Creo que mencionar el cambio radical en el registro de cambios podría ayudar a otras personas a evitarlo.

Tiene sentido. Muchas gracias por su sugerencia. 🙇

¿Fue útil esta página
0 / 5 - 0 calificaciones