Karometr
Безопасность

Микросервисная архитектура безопасности

Контур сервисов FastAPI, Keycloak, Redis, RabbitMQ, MinIO и PostgreSQL.

Микросервисная архитектура безопасности

1. Технологический стек

  1. FastAPI — backend микросервисы.
  2. Keycloak — аутентификация, токены, IAM.
  3. PostgreSQL — транзакционные данные и служебные метаданные.
  4. Redis — кэш, сессии, rate-limit counters.
  5. RabbitMQ — очереди и асинхронные задачи.
  6. MinIO — хранение файлов, выгрузок, артефактов.

2. Сервисы

  1. api-gateway
  2. auth-service (Keycloak)
  3. ingestion-service (FastAPI)
  4. analytics-service (FastAPI)
  5. forecast-service (FastAPI)
  6. billing-service (FastAPI)
  7. notification-service (FastAPI)

3. Схема взаимодействия

Frontend (Nuxt)
   |
   v
API Gateway
   |
   +--> Keycloak (OIDC/OAuth2, JWT, MFA)
   |
   +--> FastAPI services (ABAC checks at API boundary)
   |         |
   |         +--> PostgreSQL
   |         +--> Redis
   |         +--> MinIO
   |
   +--> RabbitMQ <--> Workers (analytics/forecast/notifications)

4. Контроль безопасности на уровне сервисов

  1. Каждая ручка API проверяет JWT + ABAC-политику.
  2. Межсервисная авторизация: client credentials + mTLS.
  3. Доступ к MinIO через сервисные учетные записи и bucket-policy.
  4. Критичные операции отправляют события в security-аудит.

5. Эксплуатационные требования

  1. Централизованные логи безопасности и трассировка запросов.
  2. Ротация секретов и ключей по регламенту.
  3. Backup/restore для PostgreSQL и проверка восстановления.
  4. Dead-letter очереди и retry-политики в RabbitMQ.