Secrets

Pour que les secrets restent secrets.

Il est déconseillé de stocker des mots de passe en clair dans des fichiers de configuration. Afin d’éviter de stocker les différents secrets en clair dans les fichiers flowerdocs.properties, Flower fourni un mécanisme de chiffrement des secrets.


Afin d’indiquer à Flower que la valeur d’une propriété est chiffrée, elle doit être définie telle que ENC(<valeur chiffrée>). Une propriété chiffrée est déchiffrée au démarrage de l’application à l’aide de son secret principal (secret). Ainsi un chiffrement différent peut être défini pour chacune des applications.

L’application ne peut pas démarrer si une propriété, indiquée comme étant chiffrée, ne peut être déchiffrée.


Le chiffrement de propriété peut être realisé à l’aide de plusieurs façons à partir d’un secret principal (pouvant être différent par application) :


CLM

<clm> encrypt --secret=<secret> --password=<propriété à chiffrer>


CURL

curl -X POST \
  <core>/rest/encrypt \
  -H 'token: <token>' \
  -d toEncrypt


Le secret de chacune des applications peut être défini de différentes manières :

  • comme variable d’environnement
  • comme propriété de la JVM
  • dans le fichier flowerdocs.properties (déconseillé)


Il est conseillé de définir, avec cette méthode, les propriétés token.key et system.admin.password à minima.