feat: VaultService pour chiffrement Transit Hashicorp Vault
VaultService — chiffrement/déchiffrement via Vault Transit engine : Gestion des clés : - createKey(keyName, type) : crée une clé Transit (défaut aes256-gcm96) - deleteKey(keyName) : marque deletable + supprime - updateKey(keyName, config) : met à jour la config (rotation, export...) - listKeys() : liste toutes les clés Transit - keyExists(keyName) : vérifie l'existence d'une clé - checkOrCreateKey(keyName) : crée la clé si elle n'existe pas Chiffrement : - encrypt(keyName, plaintext) : chiffre avec Transit, retourne vault:v1:... Auto-crée la clé si inexistante - decrypt(keyName, ciphertext) : déchiffre le ciphertext Transit Communication HTTP avec X-Vault-Token, gestion erreurs 4xx/5xx. Configuration : - .env : VAULT_URL, VAULT_TOKEN (vides par défaut) - .env.local : VAULT_URL=http://vault:8200, VAULT_TOKEN=crm_siteconseil - ansible/vault.yml : vault_url=https://kms.esy-web.dev pour la prod - Transit engine activé sur le container Vault dev Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,8 @@ docuseal_api: pgAU116mCFmeF7WQSezHqxtZW8V1fgo31u5d2FXoaKe
|
||||
docuseal_webhooks_secret: CRM_COSLAY
|
||||
discord_webhook: https://discord.com/api/webhooks/1419573620602044518/ikAdxWxsrrTqMTb5Gh_8ylcoJHlOnq7aJZvR5udoS_fCK56Jk3qpEnJHVKdD8fwuNJF3
|
||||
esymail_hostname: mail.esy-web.dev
|
||||
vault_url: https://kms.esy-web.dev
|
||||
vault_token: CHANGE_ME_IN_PROD
|
||||
ovh_key: 34bc2c2eb416b67d
|
||||
ovh_secret: 12239d273975b5ab53318907fb66d355
|
||||
ovh_customer: 56c387eb9ca4b9a2de4d4d97fd3d7f22
|
||||
|
||||
Reference in New Issue
Block a user