Chiffrer les mots de passe de diraj.yaml

Le fichier de configuration centralisé diraj.yaml contient un certain nombre de mots de passe et d’informations clés qu’il est possible de chiffrer.

Prérequis

L’extension PHP « sodium » doit être installée et activée.

Génération des clés

La première opération est la génération des clés de cryptage et de décryptage pour les environnements symfony de prod, de dev et de console.

En se plaçant dans le répertoire du projet :

# bin/console secrets:generate-keys –env=prod
# bin/console secrets:generate-keys –env=dev
# bin/console secrets:generate-keys –env=console

Les clé de cryptage et de décryptage sont situées dans le répertoire ../config/secrets/[env] ou [env] est l’environnement prod ou dev.

Chiffrement d’une information

le chiffrement d’une information dans le fichier diraj.yaml se fait en 2 étapes.
Exemple : le mot de passe de la base de données

Étape 1 : chiffrement du mot de passe et création de la variable d’environnement chiffrée « DATABASE_PASSWORD »

# bin/console secrets:set DATABASE_PASSWORD –env=prod
# bin/console secrets:set DATABASE_PASSWORD –env=dev
# bin/console secrets:set DATABASE_PASSWORD –env=console

Les informations chiffrées sont codées dans des fichiers du répertoire ../config/secrets/[env] où [env] est l’environnement prod, console ou dev.

Étape 2 : modification du fichier diraj.yaml pour passer la variable d’environnement chiffrée.

parameters:


database_password: ‘%env(DATABASE_PASSWORD)%’

Lister les informations chiffrées

La commande suivante permet de lister les informations actuellement chiffrées :

# bin/console secrets:list –env=prod
# bin/console secrets:list –env=dev
# bin/console secrets:list –env=console

Suppression d’une information chiffrée

La commande suivante permet de supprimer une information chiffrée.

Par exemple pour la variable « DATABASE_PASSWORD »

# bin/console secrets:remove DATABASE_PASSWORD –env=prod
# bin/console secrets:remove DATABASE_PASSWORD –env=dev
# bin/console secrets:remove DATABASE_PASSWORD –env=console