anonym.legal
Назад до блогуТехнічні

Відповідність GDPR при обміні журналами...

Журнали застосунків містять адреси електронної пошти клієнтів та IP-адреси, що підпадають під стаття 5(1)(e) GDPR.

April 21, 20267 хв читання
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

Відповідність GDPR при обміні журналами: анонімізація JSON-журналів застосунку перед надсиланням до DevOps-постачальників

Ваша програма записує структуровані JSON-журнали. Ваша команда DevOps пересилає їх до Datadog для аналізу. Datadog обробляє ці журнали на серверах США. Ваші журнали містять адреси електронної пошти клієнтів і IP-адреси.

Це GDPR-передача даних стороннім особам, яка потребує Угоди про обробку даних з Datadog та документації про правову підставу за статтями 44–49.

Типова структура JSON-журналів із PII

{
  "timestamp": "2025-03-15T14:23:11Z",
  "level": "INFO",
  "service": "api-gateway",
  "user_email": "customer@example.com",
  "source_ip": "203.0.113.45",
  "endpoint": "/api/v2/documents",
  "status": 200,
  "duration_ms": 145
}

Рішення: анонімізація до пересилання

Підхід 1: Конвеєр попередньої обробки

import json
from anonymizer import anonymize_text

def anonymize_log_line(log_line):
    log = json.loads(log_line)
    # Анонімізувати PII-поля
    if 'user_email' in log:
        log['user_email'] = anonymize_text(log['user_email'])
    if 'source_ip' in log:
        log['source_ip'] = anonymize_text(log['source_ip'])
    return json.dumps(log)

Підхід 2: Анонімізація на стороні клієнта Анонімізуйте в коді застосунку перед записом журналу:

logger.info("Запит оброблено", extra={
    "user_email": anonymize(user.email),
    "source_ip": anonymize(request.ip),
    "endpoint": endpoint
})

Що зберігати в журналах після анонімізації

ПолеДоПісля
user_emailcustomer@example.com[EMAIL_1]
source_ip203.0.113.45[IP_1]
endpoint/api/v2/documents/api/v2/documents
status200200
duration_ms145145

Джерела:

Готові захистити свої дані?

Почніть анонімізувати PII з 285+ типами сутностей на 48 мовах.