Проблема: JSON логи содержат скрытую PII
Типичный JSON лог
JSON логи содержат много скрытой PII:
- username: Email адрес (PII)
- ip_address: Может быть связана с пользователем
- user_agent: Может содержать версию ОС и браузер
- request_path: Содержит email
- request_body: Содержит email, phone, SSN (критичная PII)
GDPR нарушение: Логирование PII без явного согласия.
Архитектура: JSON лог анонимизация
Система 1: Application-level фильтрация
Применяем фильтр логирования который анализирует каждый лог и удаляет известную PII перед отправкой в систему логирования.
Система 2: Middleware анонимизация
В FastAPI или другом фреймворке добавляем middleware который перехватывает все request/response и анонимизирует PII перед логированием.
Интеграция с популярными системами логирования
Elasticsearch (ELK Stack)
Используем Elasticsearch ingest pipeline для анонимизации PII fields перед индексированием:
- email fields: заменяем на [REDACTED]
- phone numbers: заменяем на [REDACTED]
- SSN: заменяем на [REDACTED]
AWS CloudWatch
Фильтруем логи перед отправкой в CloudWatch используя Lambda function.
Datadog
Используем Datadog Log Processing Rules для анонимизации.
GDPR требования
Статья 6: Законность обработки
Обработка законна только если есть явное согласие. Для логирования:
- Можно логировать для целей безопасности (lawful interest)
- Нельзя логировать PII без явного согласия
- Лучше всего логировать только анонимизированные данные
Статья 32: Безопасность
Логи должны быть защищены:
- Шифрование in transit (TLS)
- Шифрование at rest
- Ограничение доступа
- Регулярное удаление (retention policy)
Вывод
JSON логирование — это скрытая угроза GDPR. Анонимизируйте все логи перед отправкой в централизованную систему.