Преминете към основното съдържание

Наръчник: Ротация на секрети

Категории секрети

OAuth Client Secrets

Ротация: При компрометиране или изтичане

  1. Генерирайте нов secret в конзолата на провайдъра:
    • Google Cloud Console → OAuth 2.0 Client IDs
    • Azure Portal → App Registrations → Certificates & Secrets
    • GitHub → Settings → Developer Settings → OAuth Apps
  2. Обновете GitHub Secret (GOOGLE_CLIENT_SECRET, AZURE_OAUTH_CLIENT_SECRET, GH_OAUTH_CLIENT_SECRET)
  3. Тригнете deploy-licensing.yml

Stripe keys

Ротация: При компрометиране

  1. Stripe Dashboard → Developers → API Keys → Roll keys
  2. Обновете STRIPE_SECRET_KEY в GitHub Secrets
  3. За webhook: Stripe Dashboard → Webhooks → Signing secret → Roll
  4. Обновете STRIPE_WEBHOOK_SECRET в GitHub Secrets
  5. Тригнете deploy-licensing.yml

Database password

Ротация: При компрометиране или периодично

  1. Azure Portal → dictaro-db-server → Reset password
  2. Обновете DB_PASSWORD в GitHub Secrets
  3. Обновете Key Vault: az keyvault secret set --vault-name dictaro-kv --name db-password --value "<new>"
  4. Тригнете deploy-licensing.yml

Session secret

  1. Генерирайте нов: openssl rand -hex 32
  2. Обновете SESSION_SECRET в GitHub Secrets
  3. Тригнете deploy-licensing.yml
  4. Всички сесии ще бъдат невалидирани

ASR API key

  1. Генерирайте нов: openssl rand -hex 32
  2. Обновете ASR_SERVER_API_KEY в GitHub Secrets
  3. Обновете клиентската конфигурация ако ключът е хардкоднат
  4. Тригнете deploy-asr.yml

Cloudflare Tunnel tokens

  1. Cloudflare Dashboard → Zero Trust → Tunnels → Configure → Token
  2. Обновете съответния GitHub Secret
  3. Тригнете съответния 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