API와 GDPR: 의무의 범위를 정하고 데이터를 보호하기

핵심 요약

HTTPS 사용만으로 API가 GDPR을 준수하지는 않습니다. 적용 범위, 처리 목적과 적법한 근거를 정하고 데이터와 접근을 필요한 범위로 제한해야 합니다.

문서와 디지털 증거 저장 매체가 있는 빈 기록실
이 글의 목차

HTTPS 사용만으로 API가 GDPR을 준수하지는 않습니다. 적용 범위, 처리 목적과 적법한 근거를 정하고 데이터와 접근을 필요한 범위로 제한해야 합니다.

지역적 적용 범위와 적법한 근거

제3조는 EU 내 사업장 활동과 관련된 처리 외에도 특정 조건에서 EU에 있는 사람에게 상품·서비스를 제공하거나 행동을 모니터링하는 처리를 포함합니다. 국적이나 유럽 거주 여부만으로 범위를 설명할 수 없습니다. 동의는 제6조의 여러 근거 중 하나이며, 제9조는 특별 범주의 데이터에 추가 조건을 둡니다.

접근 통제와 입증 가능한 책임

호출자 인증이 모든 기록을 읽을 권한을 뜻하지는 않습니다. 객체와 작업마다 권한을 확인하고 반환 필드를 최소화하며 전송을 보호해야 합니다. 로그에 비밀이나 불필요한 개인정보를 남기지 않습니다. 컨트롤러와 프로세서, 보관 기간, 정보주체 권리, 국제 이전을 정합니다. 높은 위험이 발생할 가능성이 큰 처리에는 제35조에 따른 영향평가가 필요합니다.

최근 동향: 협상 권한과 현행 법률을 구분하기

EU 이사회는 2026년 10월 21일 데이터 보호 규칙을 포함한 Digital Omnibus 협상 입장을 발표했습니다. 협상 권한 승인은 최종 법안 채택이 아닙니다. 이 발표만으로 현행 의무가 제안된 개정 내용으로 바뀌지는 않습니다.

사고에 대비하기

  • 처리 문서와 통제의 증거를 최신 상태로 유지한다.
  • 컨트롤러는 침해를 인지한 뒤 부당한 지체 없이, 가능하면 72시간 안에 감독기관에 통지한다. 권리와 자유에 대한 위험이 발생할 가능성이 낮은 경우는 제외된다(제33조).
  • 프로세서는 컨트롤러에 부당한 지체 없이 알린다. 로그를 보호하고 보관 기간을 제한한다.

출처와 적용 범위

편집 검토: 2026년 10월 31일.

필드별로 데이터 노출을 제한합니다.

데이터 보호 정책은 시스템 외부로 유출될 수 있는 필드를 식별해야 합니다. GraphQL에서는 하나의 작업에서 여러 유형의 필드를 결합할 수 있으므로 각 리졸버는 의도된 목적과 권한을 준수해야 합니다.

  • 민감한 필드와 해당 필드가 필요한 역할을 목록화합니다.
  • 권한이 없는 계정으로 테스트 목록과 중첩 객체를 열어보세요.
  • 로그에 저장되는 인수 및 결과 수를 줄입니다.

1차 자료: OWASP — GraphQL Cheat Sheet. 관련 방법: 실무 가이드 읽기.

ZIP과 TAR: 디렉터리와 자원 예산 안에서 압축 해제

추출한 파일을 공개하기 전에 경로, 링크와 실제 해제량을 검증합니다.

  • 최소 권한의 새 비공개 디렉터리에 추출합니다. 절대 경로, 상위 이동, 불필요한 링크와 특수 파일을 거부합니다. 실제 해석된 대상과 충돌을 대소문자를 포함한 대상 시스템 규칙으로 확인합니다. 문자열 접두사만으로 격리를 입증할 수 없습니다.
  • 기록한 바이트, 항목 수, 깊이, 시간과 프로세스 자원에 파일별 및 합계 한도를 둡니다. 압축 크기나 선언 크기만 믿지 않습니다. 불필요한 중첩을 거부하고 허용 시 모든 단계가 총예산을 공유합니다. 라이브러리와 필터를 갱신합니다.
  • ../, 절대 경로, 링크, 중복과 예산 초과를 시험합니다. 중단 시 배치를 공개하지 않고 기존 파일을 덮어쓰지 않아야 합니다. 유형과 내용을 검증한 후 공개하고 격리 디렉터리 정리 시 대상을 확인합니다.

재현 가능한 수락 사례

가상 예시입니다. 고객이나 실제 관측 결과를 나타내지 않습니다.

사례 입력 보기
{
    "compressed_mb": 2,
    "expanded_mb": 600,
    "aggregate_budget_mb": 100,
    "first_files_valid": true,
    "expected": "stop_on_actual_overrun_and_do_not_promote"
}

예상 판단

가상 예: 2 MB 압축 데이터가 600 MB로 늘어나며 예산은 100 MB입니다. 실제 기록량 초과 시 중단하고 앞 파일이 정상 같아도 공개하지 않습니다.

Python — tarfile extraction filters and further verification

작은 압축 파일이나 필터가 안전을 보장하나요?

아닙니다. 크게 늘어날 수 있습니다. 자원 한도, 경로 규칙과 추출 파일 검증을 추가하세요.

1차 자료: Python — tarfile extraction filters and further verification. 관련 방법: 실무 가이드 읽기.