Наръчник: Ротация на секрети
Категории секрети
OAuth Client Secrets
Ротация: При компрометиране или изтичане
- Генерирайте нов secret в конзолата на провайдъра:
- Google Cloud Console → OAuth 2.0 Client IDs
- Azure Portal → App Registrations → Certificates & Secrets
- GitHub → Settings → Developer Settings → OAuth Apps
- Обновете GitHub Secret (
GOOGLE_CLIENT_SECRET,AZURE_OAUTH_CLIENT_SECRET,GH_OAUTH_CLIENT_SECRET) - Тригнете
deploy-licensing.yml
Stripe keys
Ротация: При компрометиране
- Stripe Dashboard → Developers → API Keys → Roll keys
- Обновете
STRIPE_SECRET_KEYв GitHub Secrets - За webhook: Stripe Dashboard → Webhooks → Signing secret → Roll
- Обновете
STRIPE_WEBHOOK_SECRETв GitHub Secrets - Тригнете
deploy-licensing.yml
Database password
Ротация: При компрометиране или периодично
- Azure Portal → dictaro-db-server → Reset password
- Обновете
DB_PASSWORDв GitHub Secrets - Обновете Key Vault:
az keyvault secret set --vault-name dictaro-kv --name db-password --value "<new>" - Тригнете
deploy-licensing.yml
Session secret
- Генерирайте нов:
openssl rand -hex 32 - Обновете
SESSION_SECRETв GitHub Secrets - Тригнете
deploy-licensing.yml - Всички сесии ще бъдат невалидирани
ASR API key
- Генерирайте нов:
openssl rand -hex 32 - Обновете
ASR_SERVER_API_KEYв GitHub Secrets - Обновете клиентската конфигурация ако ключът е хардкоднат
- Тригнете
deploy-asr.yml
Cloudflare Tunnel tokens
- Cloudflare Dashboard → Zero Trust → Tunnels → Configure → Token
- Обновете съответния GitHub Secret
- Тригнете съответния deploy workflow
Проверка след ротация
# Licensing API
curl -sf https://api.dictaro.ai/health
# ASR
curl -sf https://gx10-804f.dictaro.ai/health
# Grafana
curl -sf https://monitoring.dictaro.ai/api/health