39 lines
1.2 KiB
Markdown
39 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
|