블로그로 돌아가기기술

애플리케이션 로그의 GDPR: 왜 모든 JSON 로그 파일은 잠재적 규정 준수 위반인가

애플리케이션 로그는 GDPR Article 5(1)(e)가 관리할 것을 요구하는 고객 이메일 주소, IP 및 계정 번호를 포함합니다. 로그 익명화가 실제로 어떻게 보이는지 알아봅시다.

April 21, 20266 분 읽기
API logsGDPR complianceJSON anonymizationobservabilitystorage limitation

관찰성 스택의 무조건 GDPR 위반

대부분의 엔지니어링 팀은 애플리케이션 데이터베이스에서 개인 데이터를 처리함을 알고 있습니다. 더 적은 수는 동일한 엄격함으로 로그 관리 시스템을 감사했습니다.

GDPR Article 5(1)(e)는 개인 데이터를 "처리 목적을 위해 필요한 것보다 더 이상 저장"하지 않도록 요구합니다 — 저장 제한 원칙. 애플리케이션 데이터베이스의 경우, 조직은 보유 정책, 삭제 작업 및 데이터 최소화 프로세스를 가지고 있습니다.

애플리케이션 로그의 경우, 일반적인 정책은 훨씬 더 간단합니다: 90일 동안 모든 것을 보관하거나(운영 디버깅), 관찰성 플랫폼으로 무한정 스트리밍합니다.

이는 GDPR Article 5(1)(e) 위반입니다. 로그는 개인 데이터를 포함합니다:

  • 사용자 이메일 주소
  • IP 주소
  • 세션 토큰(사용자 식별 가능)
  • 계정 번호
  • 결제 처리 로그의 신용카드 마지막 4자리(PII 컨텍스트)

JSON 로그의 PII 문제

JSON 로그는 구조화되지 않은 텍스트 로그보다 더 심각한 PII 문제를 제시합니다. 왜냐하면 구조화된 필드는 매핑을 용이하게 하고, API 게이트웨이는 정기적으로 사용자 데이터를 필드에 로깅하기 때문입니다:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "user_email": "sarah.johnson@company.com",
  "request_body": {...full user data...},
  "response_body": {...query results...},
  "client_ip": "82.123.45.67"
}

각 로그 항목은 적어도 3개 또는 4개의 개인 데이터 필드를 포함합니다. 일일 수백만 로그 항목 × 90일 보유 = 2억 7천만 개의 개인 데이터 레코드.

저장 제한 원칙과 로그 보유

GDPR 준수 접근:

원시 로그: 7-14일 내부 보유(운영 디버깅 목적) 익명화된 로그: 90일 보유(추세 분석, 성능 모니터링) 삭제: 90일 후 모든 버전 삭제

이것은 원시 PII의 최소 보유 (필요한 기간만)를 보장하면서, 분석 목적을 위해 익명화된 버전을 더 오래 보유할 수 있게 합니다.

로그 익명화의 기술적 요구 사항

가능한 접근:

  1. 필드 기반 익명화: user_email, client_ip, 기타 알려진 PII 필드를 식별하고 마스크

    • 장점: 빠름, 구현하기 쉬움
    • 단점: 스키마 오류(필드 재이름)를 놓침
  2. 내용 기반 익명화: 필드 이름에 관계없이 이메일, IP, SSN 패턴 감지

    • 장점: 스키마 변경에 강함
    • 단점: 더 느림, 더 복잡함
  3. 하이브리드: 알려진 PII 필드 + 예상치 못한 필드의 내용 감지

    • 장점: 속도 + 견고성
    • 단점: 더 높은 구현 복잡도

사용 사례: SaaS 플랫폼 로그 익명화

SaaS API 회사는 매일 5TB의 JSON 로그를 생성합니다. 현재 정책: 모든 로그를 관찰성 플랫폼(Datadog)으로 스트림, 무제한 보유.

규정 준수 검토는 이것이 GDPR 위반임을 식별합니다:

  • user_email 필드: 4,000명의 고유 사용자 데이터, 무제한 보유
  • client_ip: 50,000개의 고유 IP, 무제한 보유
  • request_body의 계정 번호: 무제한 보유

개선된 프로세스:

로그 생성: 응용 프로그램이 원시 로그를 기록합니다(일반적) 로그 회전(7일): 로그 스트림에서 원시 로그를 내부 저장소에만 유지 익명화 단계: 회전된 로그를 익명화(user_email → user_hash, client_ip → RFC 5737 범위) 외부 전송: 익명화된 로그만 관찰성 플랫폼으로 전송 내부 보관: 원시 로그는 내부에만 7일, 그 후 삭제

결과:

  • 관찰성 플랫폼: 개인 데이터 없음
  • 내부 디버깅: 7일 액세스(필요시 원시 로그)
  • GDPR 준수: 개인 데이터 최소 보유

CI/CD 파이프라인 통합

다양한 통합 포인트:

로그 회전 스크립트:

# Cron: 매일 자정
logrotate -f /etc/logrotate.d/app-logs
# 회전 후: 익명화 스크립트 실행
anonymize-logs /var/log/app/app.log.1 /var/log/anonymized/app.log.1

로그 스트림 필터링:

Input: /var/log/app/ (원시)
Filter: Anonymize on stream
Output: Datadog (익명화됨)

SRE 긴급 액세스:

  • SRE는 원시 로그에 대한 내부 액세스 권한이 있음
  • 로그는 72시간 후 자동 삭제됨
  • 액세스는 감사됨

관찰성 플랫폼 선택의 영향

일부 관찰성 플랫폼(Datadog, New Relic, Splunk)은 PII 감지 및 마스킹 기능을 제공합니다:

  • Datadog PII Redaction: 민감한 데이터 감지 및 마스크
  • Splunk GDPR Toolkit: 로그 익명화 자동화
  • New Relic Data Retention Policy: GDPR 준수 보유 설정

플랫폼의 자체 PII 마스킹을 신뢰하려면, 조직은 여전히 자체 사전 익명화를 할 수 있습니다(깊이 있는 방어).

출처:

데이터 보호를 시작할 준비가 되셨나요?

48개 언어로 285개 이상의 엔티티 유형으로 PII 익명화를 시작하세요.