Quay lại BlogKỹ Thuật

GDPR Trong Nhật ký Ứng dụng của Bạn...

Nhật ký ứng dụng chứa địa chỉ email khách hàng, IP và số tài khoản mà GDPR Điều 5(1)(e) yêu cầu quản lý.

April 21, 20266 phút đọc
API logsGDPR complianceJSON anonymizationobservabilitystorage limitation

Vi phạm GDPR Im lặng trong Ngăn xếp Khả năng Quan sát của Bạn

Hầu hết các đội kỹ thuật biết họ xử lý dữ liệu cá nhân trong cơ sở dữ liệu ứng dụng của họ. Ít hơn đã kiểm toán hệ thống quản lý nhật ký của họ với sự cẩn thận tương tự.

GDPR Điều 5(1)(e) yêu cầu dữ liệu cá nhân được lưu trữ "không lâu hơn là cần thiết cho các mục đích mà dữ liệu cá nhân được xử lý" - nguyên tắc hạn chế bảo quản. Đối với cơ sở dữ liệu ứng dụng, các tổ chức có chính sách bảo quản, công việc xóa và quy trình giảm thiểu dữ liệu.

Đối với nhật ký ứng dụng, chính sách điển hình đơn giản hơn nhiều: giữ mọi thứ trong 90 ngày (hoặc 6 tháng, hoặc 1 năm) vì lý do hoạt động và bảo mật. Khoảng thời gian bảo quản được điều khiển bởi nhu cầu gỡ lỗi và kiểm toán, không phải bằng phân tích dữ liệu cá nhân.

Vấn đề: các nhật ký đó chứa dữ liệu cá nhân. Mọi nhật ký yêu cầu bao gồm địa chỉ email của người dùng, mọi nhật ký lỗi nắm bắt đầu vào xác thực, mọi nhật ký truy cập ghi lại địa chỉ IP - đây là GDPR Điều 4(1) dữ liệu cá nhân. Tổ chức có một câu hỏi cơ sở pháp lý GDPR để trả lời cho mỗi khoảng thời gian bảo quản.

Những gì Thực sự Kết thúc trong Nhật ký Ứng dụng

Một khảo sát các định dạng nhật ký ứng dụng web phổ biến tiết lộ phạm vi của PII tích tụ:

Nhật ký truy cập (nginx/Apache):

  • Địa chỉ IP (dữ liệu cá nhân GDPR trực tiếp theo hướng dẫn EDPB)
  • Chuỗi User-agent (có thể đóng góp vào truy vết)
  • Mã thông báo phiên (nếu được ghi lại)

Nhật ký ứng dụng (JSON có cấu trúc):

  • Mã định danh người dùng (địa chỉ email, ID người dùng được liên kết với hồ sơ)
  • Lỗi xác thực đầu vào (thường chứa đầu vào không hợp lệ - đó có thể là dữ liệu thực của người dùng)
  • Nhật ký sự kiện kinh doanh (ID đơn hàng được liên kết với tài khoản khách hàng, tham chiếu vé hỗ trợ)
  • Truy vấn tìm kiếm (có thể chứa tên cá nhân, địa chỉ)

Nhật ký cổng API:

  • Tiêu đề Ủy quyền (ghi lại một phần trong một số cấu hình)
  • Tham số truy vấn (có thể chứa ID người dùng, tên, email)
  • Phần thân Yêu cầu/Phản hồi (trong cấu hình ghi lại gỡ lỗi)

Nhật ký truy vấn cơ sở dữ liệu (nhật ký truy vấn chậm, nhật ký kiểm toán):

  • Truy vấn SQL bao gồm các mệnh đề WHERE với email = 'user@example.com'
  • Giá trị dữ liệu cá nhân theo nghĩa đen trong các tham số truy vấn

Sự tích tụ không phải là cố ý. Nó là một sản phẩm phụ của các thực tiễn ghi lại tiêu chuẩn được thiết kế cho gỡ lỗi, không được thiết kế với tuân thủ GDPR trong tâm trí.

Vị trí EDPB trên Địa chỉ IP Trong Nhật ký

Hội đồng Bảo vệ Dữ liệu Châu Âu liên tục khẳng định rằng địa chỉ IP là dữ liệu cá nhân theo GDPR - chúng "có thể nhận dạng" vì các nhà cung cấp dịch vụ Internet có thể liên kết chúng với những người đăng ký, và trong các bối cảnh tổ chức, chúng có thể xác định những người dùng cụ thể.

Điều này có một ý nghĩa trực tiếp đối với bảo quản nhật ký: nhật ký truy cập chứa địa chỉ IP là nhật ký dữ liệu cá nhân. Giữ nhật ký truy cập nginx trong 12 tháng là giữ dữ liệu cá nhân trong 12 tháng. Bảo quản 12 tháng yêu cầu một cơ sở hợp pháp theo Điều 6 và nguyên tắc hạn chế bảo quản yêu cầu khoảng thời gian bảo quản là cần thiết cho mục đích cụ thể.

Hầu hết các tổ chức không rõ ràng đã phân tích các khoảng thời gian bảo quản nhật ký của họ chống lại khung công tác này. "Chúng tôi giữ nhật ký trong 90 ngày vì đó là những gì đội bảo mật nói" là một tuyên bố về thực tiễn hoạt động, không phải là phân tích GDPR Điều 5(1)(e).

Đường dẫn Vô danh hóa để Tuân thủ

Đường dẫn thực tế để tuân thủ GDPR nhật ký cho hầu hết các đội kỹ thuật không phải giảm bảo quản nhật ký (có lý do bảo mật hoạt động) mà vô danh hóa nhật ký trước khi bảo quản dài hạn.

Mô hình bảo quản theo tầng:

0-7 ngày: Nhật ký thô đầy đủ được giữ lại cho gỡ lỗi hoạt động. Lý do hoạt động rõ ràng; khoảng thời gian bảo quản đủ ngắn để tránh vấn đề hạn chế bảo quản cho hầu hết các tổ chức.

7-90 ngày: Nhật ký được vô danh hóa được giữ lại để phân tích xu hướng và giám sát bảo mật. Địa chỉ IP được thay thế bằng IP được vô danh hóa; email người dùng được thay thế bằng mã thông báo nhất quán; số tài khoản bị che phủ. Siêu dữ liệu kỹ thuật (dấu thời gian, mã lỗi, độ trễ, điểm cuối) được bảo lưu để phân tích hoạt động.

90+ ngày (nếu cần): Chỉ dữ liệu nhật ký tổng hợp (số lượng sự kiện, tỷ lệ lỗi, phân bố độ trễ) - không có hồ sơ cấp độ riêng lẻ.

Mô hình này duy trì tiện ích hoạt động ở mỗi tầng bảo quản trong khi đáp ứng nguyên tắc hạn chế bảo quản: khoảng thời gian bảo quản dữ liệu cá nhân là 7 ngày; dữ liệu hoạt động tổng hợp được giữ lâu hơn mà không có phơi bày dữ liệu cá nhân.

Giữ Cấu trúc cho Trường hợp Sử dụng Khả năng Quan sát

Yêu cầu kỹ thuật chính cho vô danh hóa nhật ký duy trì tiện ích khả năng quan sát là bảo lưu cấu trúc với thay thế nội dung:

Bảo lưu:

  • Cấu trúc JSON và tên khóa
  • Dấu thời gian và chuỗi thời gian
  • Loại lỗi và mã
  • Các phương pháp HTTP, đường dẫn, mã trạng thái
  • Giá trị độ trễ và số liệu hiệu suất
  • Loại sự kiện kinh doanh (đơn hàng đặt, thanh toán nhận)

Thay thế:

  • Địa chỉ email → user1@example.com (mã thông báo nhất quán cho mỗi email gốc trong tệp nhật ký)
  • Địa chỉ IP → Địa chỉ tài liệu RFC 5737 (192.0.2.x, 198.51.100.x)
  • Số tài khoản → ACCT_XXXXX
  • Số điện thoại → +XX XXX XXX XXXX
  • Tên từ bối cảnh lỗi → [PERSON]

Với thay thế mã thông báo nhất quán, phân tích hoạt động được bảo lưu: một dòng yêu cầu theo dõi user1@example.com qua 40 mục nhật ký hoạt động giống hệt như email gốc - vì mã thông báo nhất quán trong toàn bộ tệp nhật ký.

Số liệu tổng hợp không bị ảnh hưởng: tỷ lệ lỗi trên mỗi điểm cuối, tỷ lệ phần trăm độ trễ, tính toán thông lượng - không có gì trong số này yêu cầu biết địa chỉ email thực của người dùng đã kích hoạt yêu cầu.

Tích hợp Thực tế cho Đội Kỹ thuật

Đối với một đội ứng dụng Django hoặc Node.js, tích hợp vô danh hóa nhật ký trông giống như:

Tùy chọn 1: Tích hợp đường ống nhật ký

  • Shipper nhật ký Fluentd/Logstash đánh chặn nhật ký
  • Bước vô danh hóa chạy trên mỗi dòng nhật ký trước khi chuyển tiếp
  • Nền tảng khả năng quan sát (Elastic/Datadog) nhận nhật ký được vô danh hóa
  • Không cần thay đổi mã ghi lại ứng dụng

Tùy chọn 2: Vô danh hóa hàng loạt ban đêm

  • Nhật ký thô được viết vào lưu trữ cục bộ
  • Cron hàng đêm: vô danh hóa nhật ký của hôm qua, xóa phiên bản thô
  • Nhật ký được vô danh hóa được gửi để lưu trữ dài hạn
  • Nhật ký thô được giữ lại chỉ trong 7 ngày

Tùy chọn 3: Vô danh hóa trước khi chia sẻ

  • Nhật ký thô được giữ lại nội bộ với các điều khiển truy cập thích hợp
  • Khi chia sẻ bên ngoài (kiểm tra xâm nhập, nhà thầu): chạy vô danh hóa trước khi cung cấp quyền truy cập
  • Bên ngoài luôn nhận các phiên bản được vô danh hóa

Để tài liệu tuân thủ GDPR: vô danh hóa nhật ký là "biện pháp kỹ thuật" theo GDPR Điều 32. Ghi lại bước vô danh hóa - công cụ, cấu hình, chính sách bảo quản - là một phần của Hồ sơ Hoạt động Xử lý (RoPA) được yêu cầu theo Điều 30.

Nguồn:

Sẵn sàng bảo vệ dữ liệu của bạn?

Bắt đầu ẩn danh PII với 285+ loại thực thể trên 48 ngôn ngữ.