OpenArchLabOpen Architecture — From Models to Systems

X · Service correctness

Cô lập người dùng và quản lý dữ liệu trong cache

Đảm bảo ranh giới cô lập dữ liệu, bộ nhớ đệm KV cache và nhật ký hệ thống giữa các người dùng hoặc tổ chức (tenants) khác nhau.

LESSON ID security GROUP Kiến trúc Inference
Mục lục bài học

1Định nghĩa

Trong dịch vụ suy luận dùng chung (multi-tenant), nhiều người dùng hoặc tổ chức cùng gửi dữ liệu vào chung một cụm worker. Bảo mật và cô lập dữ liệu đảm bảo nội dung prompt, câu trả lời và trạng thái trung gian của tổ chức này tuyệt đối không bị lộ hoặc ảnh hưởng sang tổ chức khác.

Rủi ro lớn nhất ở tầng engine nằm ở việc tái sử dụng bộ nhớ đệm: khi bật chia sẻ tiền tố trong KV cache (prefix caching), hệ thống phải gắn nhãn không gian tên (tenant namespace) vào khóa tra cứu để chỉ chia sẻ cache trong phạm vi được phép. Đồng thời, khi request hoàn tất hoặc hủy, vùng nhớ và nhật ký quan sát (observability) phải tuân thủ nghiêm ngặt chính sách ẩn dữ liệu nhạy cảm và thời hạn lưu giữ.

Ví dụ đời thường: Cô lập dữ liệu đa người dùng (multi-tenant security) giống như hệ thống két gửi đồ và phòng họp dùng chung trong một tòa nhà văn phòng. Nhiều công ty cùng thuê một tòa nhà để tiết kiệm chi phí, nhưng thẻ từ của công ty nào chỉ mở được đúng ngăn tủ của công ty đó, và sau mỗi cuộc họp nhân viên phải xóa sạch bảng viết trước khi đoàn khách khác bước vào.

2Luồng

Sơ đồ luồng (4 bước)
  1. Xác thực người gọi

    Xác định quyền và tenant.

  2. Mang quyền theo request

    Router/worker có cùng ngữ cảnh.

  3. Áp quy tắc state và logging

    Cache reuse và ghi dữ liệu đúng phạm vi.

  4. Dọn và kiểm tra

    Theo policy sau request hoặc hết thời hạn.

Mã Mermaid
flowchart TD
  step1["Xác thực người gọi"]
  step2["Mang quyền theo request"]
  step3["Áp quy tắc state và logging"]
  step4["Dọn và kiểm tra"]
  step1 --> step2
  step2 --> step3
  step3 --> step4

3Giải pháp

Thiết kế cache keys và authorization context để reuse không vượt policy. Log metadata đủ chẩn đoán mà hạn chế lưu nguyên prompt khi không cần.

Không mặc định hai prefix giống nhau là được chia sẻ state giữa mọi tenant. Cần xét cả isolation và các kênh quan sát như timing.

4Profiling

  • Kiểm tra quyền theo đường đi

    Thử request không có quyền ở từng boundary và xác nhận bị từ chối đúng.

  • Kiểm tra retention và reuse

    Đo cache/log được giữ và dọn; test các tenants có prefix giống nhau.

Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.

5Ví dụ

Dịch vụ nhiều tổ chức

Mỗi tổ chức có policy cache riêng; router phải chuyển cả tenant context.

Gỡ lỗi request lỗi

Dùng request ID và timings thay vì tự động ghi toàn tài liệu người dùng vào logs.

6Thuật ngữ

Cache namespace
Vùng định danh giúp tách hoặc kiểm soát dữ liệu cache được phép dùng chung.
Retention policy
Quy tắc dữ liệu được giữ bao lâu và khi nào được xóa.
Glossary (3)
Prefix
Phần đầu của một chuỗi token; cache reuse cần phần đầu tương thích.
Worker
Tiến trình hoặc máy thực hiện một phần công việc của hệ thống.
Context
Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.

7Bài liên quan

8Nguồn