38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# Runbook — Rotation des secrets
|
||
|
||
## JWT_SECRET
|
||
|
||
1. Générer un nouveau secret : `openssl rand -base64 32`
|
||
2. Déployer avec l’ancien et le nouveau (dual-secret) si l’app le supporte
|
||
3. Sinon : maintenance window
|
||
- Mettre à jour `JWT_SECRET` dans le déploiement
|
||
- Redémarrer l’API
|
||
- Tous les tokens existants sont invalidés (re-login requis)
|
||
|
||
## CHAT_JWT_SECRET
|
||
|
||
Même procédure que JWT_SECRET. Doit être synchronisé entre backend et chat/stream si partagé.
|
||
|
||
## OAUTH_ENCRYPTION_KEY
|
||
|
||
Utilisé pour chiffrer les tokens OAuth en DB. Rotation complexe :
|
||
|
||
1. Ne pas supprimer l’ancienne clé tant que des tokens chiffrés existent
|
||
2. Ajouter la nouvelle clé dans la config
|
||
3. Les nouveaux tokens utilisent la nouvelle clé
|
||
4. Après expiration des anciens tokens, retirer l’ancienne clé
|
||
|
||
## STREAM_SERVER_INTERNAL_API_KEY / INTERNAL_API_KEY
|
||
|
||
Doivent correspondre entre backend et stream server.
|
||
|
||
1. Générer : `openssl rand -hex 32`
|
||
2. Mettre à jour les deux côtés quasi-simultanément
|
||
3. Redémarrer backend et stream server
|
||
|
||
## DATABASE_URL
|
||
|
||
1. Créer un nouvel utilisateur avec un nouveau mot de passe en DB
|
||
2. Mettre à jour `DATABASE_URL` dans le déploiement
|
||
3. Redémarrer l’API
|
||
4. Révoquer l’ancien utilisateur après validation
|