Databricks for Data & AI Engineers
Trang chủ / Module 12
🛡️ Module 12 / 14 · 1-2 tuần

Security & Governance nâng cao

Network security (VPC/VNet injection, PrivateLink), secret management, ABAC, audit logs, compliance.

SecurityComplianceNetwork
📌 Vì sao module này quan trọng

Ở quy mô doanh nghiệp, governance cơ bản của Unity Catalog (Module 5) cần được bổ sung thêm lớp bảo mật hạ tầng mạng và quản lý secret đúng chuẩn — đặc biệt quan trọng khi lakehouse xử lý dữ liệu nhạy cảm hoặc chịu các yêu cầu tuân thủ ngành (tài chính, y tế, chính phủ).

🎯 Mục tiêu học tập

  • Hiểu các mô hình triển khai mạng an toàn: VPC/VNet injection, PrivateLink
  • Quản lý secret đúng chuẩn bằng Databricks Secrets, không hard-code credential
  • Nắm khái niệm Attribute-Based Access Control (ABAC) — mô hình phân quyền theo thuộc tính/tag
  • Sử dụng audit log để phục vụ điều tra sự cố và báo cáo tuân thủ

Network Security: VPC/VNet Injection & PrivateLink

VPC/VNet injection cho phép triển khai data plane Databricks vào mạng riêng đã có sẵn của tổ chức (thay vì Databricks tự tạo mạng mặc định) — cần thiết khi tổ chức có yêu cầu kiểm soát chặt network segmentation, firewall rule theo chuẩn nội bộ. PrivateLink loại bỏ hoàn toàn việc truyền dữ liệu qua public internet giữa control plane và data plane, hoặc giữa client và workspace — bắt buộc với nhiều yêu cầu compliance nghiêm ngặt (tài chính, chính phủ).

Secret Management

Không bao giờ hard-code API key/mật khẩu trong notebook. Databricks Secrets lưu trữ credential trong "secret scope" (có thể backed bởi chính Databricks hoặc bởi Azure Key Vault nếu trên Azure), truy cập qua API mà không bao giờ hiển thị giá trị thật trong log hay output notebook:

api_key = dbutils.secrets.get(scope="prod-secrets", key="openai-api-key")

Nguyên tắc giống hệt quản lý secret cho AI service (Module 2, 10 của khoá AI Engineer) — chỉ khác cơ chế lưu trữ tích hợp sẵn trong nền tảng thay vì tự cấu hình .env/secret manager riêng.

Attribute-Based Access Control (ABAC)

Thay vì cấp quyền thủ công cho từng bảng/schema (GRANT truyền thống ở Module 5 — mô hình RBAC), ABAC cho phép định nghĩa policy dựa trên tag gắn vào dữ liệu (ví dụ tag pii=true, classification=confidential) — một policy duy nhất tự động áp dụng cho mọi bảng/cột hiện tại và tương lai có tag phù hợp, không cần cập nhật GRANT thủ công mỗi khi có bảng mới. Đây là mô hình quản trị mở rộng tốt hơn nhiều khi số lượng bảng trong lakehouse lên đến hàng nghìn.

Audit Log & Compliance

system.access.audit ghi lại mọi thao tác trên workspace (ai truy vấn bảng nào, lúc nào, từ IP nào, thành công hay bị từ chối quyền) — dữ liệu nền tảng cho việc điều tra sự cố bảo mật và tạo báo cáo tuân thủ định kỳ. Nên thiết lập truy vấn định kỳ (qua Workflows, Module 7) quét audit log tìm pattern bất thường (một tài khoản truy vấn khối lượng dữ liệu lớn bất thường ngoài giờ làm việc) và tự động cảnh báo.

🏋️ Bài tập thực hành

Thiết lập bảo mật nâng cao cho dữ liệu nhạy cảm

Tạo 1 secret scope, lưu 1 giá trị giả lập (API key mẫu), viết notebook đọc secret đó thay vì hard-code. Gắn tag classification=confidential cho 1 bảng chứa dữ liệu giả lập nhạy cảm (nếu workspace hỗ trợ ABAC). Viết 1 truy vấn trên system.access.audit tìm các lần truy vấn bị từ chối quyền (permission denied) trong 7 ngày qua.

📚 Tài nguyên học tập

✅ Tự đánh giá hoàn thành

  • Lưu và đọc được secret qua Databricks Secrets, không hard-code credential
  • Giải thích được khi nào cần VPC injection/PrivateLink
  • Hiểu khái niệm ABAC và khác biệt so với RBAC truyền thống
  • Viết được truy vấn cơ bản trên system.access.audit