1. 课程导入与安全全景

在数据平台建设中,安全从来不是“上线之后再补”的附加项,而是决定数据能否被放心使用的底层能力。Databricks 作为统一的数据智能平台,把数据工程、数据分析、机器学习与治理能力放在同一套 Lakehouse 架构之上,这也意味着访问控制必须同时覆盖存储、计算、元数据、作业与用户身份等多个层面。本课程的目标,是帮助读者建立一套可落地的安全认知框架:知道数据在哪些位置被访问、由谁访问、通过什么机制授权、出现异常时从哪里排查,以及如何把最小权限原则真正落到日常配置中。

一、核心目标:让正确的人,在正确的条件下,访问正确的数据

Databricks 数据安全与访问控制的核心目标可以概括为四个关键词:机密性、完整性、可用性、可审计性。机密性要求敏感数据不被未授权主体读取;完整性要求数据不被越权篡改或误删;可用性要求合法用户在需要时能够正常访问;可审计性要求每一次关键访问都有迹可循。四者之间存在张力:权限收得越紧,越安全,但可能影响协作效率;放得越开,效率高,却容易造成数据泄露。因此,安全设计的本质不是“全部禁止”,而是基于身份、数据敏感级别和使用场景做精细化授权。

在 Databricks 中,这一目标通过多层机制共同实现:身份层使用用户、组和服务主体(Service Principal)区分访问主体;权限层使用 Unity Catalog 的权限模型、表/视图/函数级授权以及行级与列级过滤;存储层使用云存储凭证与外部位置控制物理访问;计算层通过集群策略、网络隔离和凭据透传限制执行环境;审计层通过审计日志、系统表和访问记录支撑追溯。理解这些层次之间的关系,比记住单个配置项更重要。

二、责任共担模型:云厂商、Databricks 与客户各管什么

责任共担模型是理解云上安全边界的起点。简单说,云厂商负责“云本身的安全”,Databricks 负责“平台控制面的安全”,而客户负责“云中数据与配置的安全”。具体来看:

  • 云厂商(如 AWS、Azure、GCP):负责物理数据中心、底层网络、虚拟化层、托管存储与密钥管理服务的基础设施安全。
  • Databricks:负责控制平面(Web 控制台、API、作业调度、Unity Catalog 元数据服务)的安全、平台组件的漏洞修复、服务可用性以及平台侧的身份集成能力。
  • 客户:负责数据分类分级、身份与组结构设计、权限授予与回收、网络配置(如 Private Link、VPC 对等)、密钥管理(BYOK)、集群策略、审计日志留存与告警,以及最终“谁可以访问哪些数据”的决策。

需要特别强调的是:权限授予的责任始终在客户侧。Databricks 提供的是授权能力和默认安全基线,但把某张表授予某个组、是否开启行级过滤、是否允许外部位置写入,这些决定必须由数据所有者或平台管理员完成。很多安全事故并非平台漏洞,而是权限过宽、凭证泄露或配置疏忽造成的。

常见误区:认为“使用了 Unity Catalog 就自动安全了”。Unity Catalog 提供的是统一权限模型和审计能力,但如果仍然把权限授予 ALL USERS 或使用过宽的服务主体,风险依然存在。

三、整体架构:从身份到数据的一条访问链路

为了把上述目标与责任落到具体对象上,可以用一条“访问链路”来理解 Databricks 的安全架构:用户或服务主体发起请求,经过身份认证,进入工作区,由 Unity Catalog 做元数据与权限校验,再通过计算资源访问云存储中的实际数据,整个过程被审计日志记录。下面这张图展示了这一链路中的关键组件与信任边界。

Databricks 数据安全访问链路与责任边界 客户责任区 Databricks 平台责任区 云厂商责任区 用户 / 组 / 服务主体 身份来源:Entra ID / Okta / SCIM 数据分类与分级 公开 / 内部 / 机密 / 受限 网络与密钥配置 Private Link / BYOK / 防火墙 审计与告警 审计日志 / 系统表 / 异常检测 最终授权决策责任 谁可访问哪些数据由客户决定 身份认证与工作区入口 SSO / MFA / SCIM 同步 Unity Catalog 权限校验 Catalog / Schema / Table / View / Function 计算资源与集群策略 集群策略 / 凭据透传 / 隔离模式 行级 / 列级过滤 Row Filter / Column Mask 平台控制面安全与可用性 漏洞修复 / 服务 SLA / 元数据服务 对象存储 S3 / ADLS / GCS 密钥管理服务 KMS / HSM 网络基础设施 VPC / 子网 / 安全组 物理与虚拟化安全 数据中心 / Hypervisor 云本身的安全 基础设施层责任 访问链路:身份认证 → 工作区入口 → Unity Catalog 权限校验 → 计算资源 → 云存储数据 → 审计记录

图中左侧是客户责任区,中间是 Databricks 平台责任区,右侧是云厂商责任区。箭头表示访问请求的传递方向:用户身份先经过认证进入工作区,再由 Unity Catalog 完成权限校验,随后计算资源以受控方式访问云存储中的真实数据,整个过程写入审计日志。需要再次强调,最终“谁可以访问哪些数据”的授权决策属于客户责任,平台提供的是执行与校验能力。

四、学习路径:从概念到可操作的安全能力

本课程后续章节将沿着“身份—权限—数据—计算—网络—审计”的主线展开。建议的学习顺序是:先理解身份与组模型,因为所有权限都依附于主体;再掌握 Unity Catalog 的层级权限模型,包括 Catalog、Schema、Table、View、Function 的授权方式;然后进入行级过滤与列级脱敏,处理同一张表内不同用户看到不同数据的需求;接着学习存储凭证、外部位置与云存储访问控制,理解数据物理层的边界;之后是集群策略、网络隔离与密钥管理,确保计算环境本身可信;最后通过审计日志、系统表和异常检测形成闭环,让安全策略可验证、可追溯、可改进。

在学习过程中,建议始终带着三个问题:这个配置改变了谁对什么对象的什么权限?如果配置错误,最坏后果是什么?如何通过日志或测试验证它确实生效? 这三个问题会贯穿整个课程,也是从“知道概念”走向“能够落地”的关键。

建议在阅读后续章节时,同步在自己的 Databricks 工作区中建立一个最小实验环境:一个测试 Catalog、两个测试组、一张含敏感列的小表。每学完一个权限机制,就实际授予、验证、再回收一次,形成肌肉记忆。

安全不是一次性配置,而是持续运营。Databricks 提供了足够细粒度的控制能力,但只有把责任边界、访问链路和验证方法都理解清楚,才能真正把平台能力转化为组织的数据安全防线。接下来的章节,将从身份与组模型开始,逐步展开每一个关键控制点。