Unity 目录设置指南

本页介绍新Azure Databricks工作区中工作区管理员的初始 Unity 目录设置,包括:

  • 确认您的工作区已启用 Unity Catalog
  • 管理工作区访问权限和身份
  • 创建符合 Unity 目录的计算资源
  • 为数据创建目录和架构
  • 向用户授予所需的权限

在您开始之前

在开始之前,请熟悉以下 Unity 目录概念:

  • 元存储:顶级 Unity 目录容器,范围限定为单个云区域。 它保存所有 安全对象:目录、存储凭据、外部位置等。 请参阅 Metastore
  • 目录:元存储中最高级别的数据容器对象。 目录保存架构,而架构又包含表、视图、卷和函数。 请参阅 目录
  • 管理员角色:Unity 目录有三个主要管理员角色:帐户管理员、工作区管理员和元存储管理员,每个角色具有不同的范围和职责。 请参阅 Unity Catalog 中的管理员权限

你还需要以下内容:

  • 高级计划上的 Azure Databricks 工作区。
  • 工作区管理员 权限。 在以下情况下,可能需要 帐户管理员 权限:
    • 如果您的工作区尚无计算资源,则您需要具备账户管理员权限,才能通过 步骤 1:确认您的工作区已启用 Unity Catalog 中的账户控制台来验证是否已启用 Unity Catalog。
    • 如果您的工作区尚未附加到 Unity Catalog 元存储,则需要账户管理员权限才能将其附加到该元存储。
    • 如果元存储不存在,则需要帐户管理员权限才能创建它。

步骤 1:确认您的工作区已启用 Unity Catalog

请使用以下任一方法确认您的工作区已附加到 Unity Catalog 元存储。

使用帐户控制台

此方法需要帐户管理员权限。

  1. 以 Azure Databricks 帐户管理员身份登录到帐户控制台。
  2. 单击 “工作区”图标。工作区
  3. 找到你的工作区并检查元存储列。 如果存在 metastore 名称,则表示你的工作区已启用 Unity Catalog。

运行 SQL 查询

此方法不需要管理员权限,但需要符合 Unity 目录的计算资源。 步骤 3:创建符合 Unity 目录的计算 指南,指导你创建符合 UC 的计算资源。

在 SQL 查询编辑器或附加到计算资源的笔记本中运行以下命令:

SELECT CURRENT_METASTORE();

如果查询返回元存储 ID,则表示你的工作区已启用 Unity Catalog。

当前元存储输出

如果未为 Unity 目录启用工作区,请参阅 将Azure Databricks工作区更新到 Unity 目录

步骤 2:管理工作区访问权限和身份

工作区管理员可以添加用户和组、分配管理员角色以及管理服务主体。

添加用户

添加需要访问此工作区的单个用户。 有关说明,请参阅 “管理用户”。

将用户组织成组

Databricks 建议通过组而不是单个用户管理访问权限。 向组授予权限会将其应用于所有成员,这可减少团队增长时的管理开销。

  • 如果贵组织在身份提供商 (IdP) 中已有组:请使用自动身份管理或 SCIM 预配将其同步到 Azure Databricks,以便组成员关系自动保持同步。 请参阅 自动标识管理
  • 如果您还没有组:作为工作区管理员,请转到 设置>身份和访问>管理(位于 旁边),以创建帐户级别的组。 请参阅管理组

分配管理员角色

工作区管理员可以 执行大多数日常管理任务:添加和删除用户、管理计算、配置工作区设置以及授予对数据的访问权限。 此角色适用于负责维护工作区的中心数据平台或 IT 团队成员。 对接收此角色的人员有选择性。 工作区管理员对工作区资源和设置具有广泛的访问权限。

通常,工作区管理员角色是唯一需要分配的管理员角色。 (可选)可以为特殊用例分配 元存储管理员 。 例如,如果需要,可以将此角色分配给专用数据管理团队或一小组高级平台工程师:

  • 将目录创建委托给非工作区管理员。
  • 管理初始化脚本和 JAR 允许列表
  • 通过 OpenSharing 接收共享数据。
  • 当团队成员离开时转移对象所有权。

有关分配这些角色的说明,请参阅 Unity 目录中的管理员权限

步骤 3:创建兼容 Unity Catalog 的计算资源

若要运行 Unity 目录工作负荷,计算资源必须满足 Unity 目录安全要求。 下表显示了哪些计算类型符合性:

计算类型 符合 UC 标准
SQL 仓库 是的
无服务器计算(笔记本、作业、管道) 是的
群集 - 单用户访问模式 是的
群集 - 共享访问模式 是的
群集 - 无隔离共享访问模式

若要创建符合 UC 要求的计算资源:

作为工作区管理员,可以仅将群集创建限制为管理员,或使用群集策略允许用户创建自己的符合 Unity 目录的群集。 请参阅计算访问权限创建和管理计算策略

步骤 4:创建目录和架构

目录是 Unity 目录中数据隔离的主要单元。 所有架构、表、卷、视图和函数都位于目录中。

何时创建新目录

系统会自动为新工作区预配一个工作区目录,默认情况下,该目录以您的工作区名称命名。 若要检查是否有工作区目录,请单击“数据”图标。边栏中的目录,并查找与工作区名称匹配的目录。 如果存在,可能不需要立即创建其他目录。

随着时间的推移,请考虑在使用情况增长时创建新目录,围绕逻辑边界进行组织,例如:

  • 团队或业务部门:用于工程、财务和营销的单独目录
  • 环境:将 devstagingprod 目录分开设置,以将开发数据与生产数据隔离开
  • 项目:每个主要数据产品或计划专用目录

如果组织的数据边界已定义良好,现在可以创建目录。

创建产品目录

若要创建目录,请运行以下 SQL。

CREATE CATALOG IF NOT EXISTS <catalog-name>;

Note

此目录中的托管数据存储于元存储的默认托管存储位置。 若要使用其他位置,请指定一个 MANAGED LOCATION。 请参阅 使用 Unity 目录连接到云对象存储

然后,创建架构来组织表和其他数据对象:

CREATE SCHEMA IF NOT EXISTS <catalog-name>.<schema-name>;

有关详细说明以及如何使用 Catalog Explorer,请参阅 创建目录创建架构

步骤 5:向用户授予权限

在 Unity 目录中,默认情况下,用户无权访问数据。 工作区管理员可以向工作区中的安全对象授予权限。 Databricks 建议向组而不是单个用户授予权限。 这样一来,随着团队规模的扩大,访问权限会更易于管理。

启用数据发现

Azure Databricks 建议向 BROWSE 组授予对所有目录的 All account users 权限。 BROWSE 允许用户在目录资源管理器中查看对象是否存在并查看其元数据,而无需授予对基础数据的访问权限。 这样,用户便可以发现数据和请求访问权限,而无需管理员先发制人地授予权限。

GRANT BROWSE ON CATALOG <catalog-name> TO `account users`;

授予数据访问权限

若要访问 Unity 目录中的数据,用户通常需要对操作(例如 SELECT 读取表)和适当的 使用权限 (如 USE CATALOG 父目录和 USE SCHEMA 父架构)具有特定的特权。 请参阅 Unity 目录权限模型概念

仅向需要访问特定目录和架构的用户和组授予这些权限。 例如,若要授予对架构的只读访问权限,请使用以下 SQL:

GRANT USE CATALOG ON CATALOG <catalog-name> TO `<group-name>`;
GRANT USE SCHEMA ON SCHEMA <catalog-name>.<schema-name> TO `<group-name>`;
GRANT SELECT ON SCHEMA <catalog-name>.<schema-name> TO `<group-name>`;

对于读写权限:

GRANT USE CATALOG ON CATALOG <catalog-name> TO `<group-name>`;
GRANT USE SCHEMA ON SCHEMA <catalog-name>.<schema-name> TO `<group-name>`;
GRANT SELECT, MODIFY ON SCHEMA <catalog-name>.<schema-name> TO `<group-name>`;

访问模式随时间而变化。 在 Unity 目录中管理特权时,请使用以下页面作为参考:

设置清单

如果已完成所有五个步骤,Unity 目录将在工作区中设置,用户可以开始使用数据。 使用以下清单确认一切已到位:

后续步骤

设置 Unity 目录后,可以开始将更高级的治理功能应用到工作区。

基于属性的访问控制

基于属性的访问控制(ABAC) 允许基于数据的属性以及访问数据的用户访问来定义动态的精细访问策略。 而不是按表管理权限表,而是编写自动强制实施行级别筛选和列级掩码的策略。 例如,您可以对特定区域之外的用户隐藏敏感列,或对非特权角色屏蔽 PII。

ABAC 列掩码在操作中

数据分类

数据分类 使用 AI 代理自动扫描目录并标记敏感数据,例如 PII、财务信息和凭据。 分类后,标记可以直接与 ABAC 策略集成,使你可以根据数据实际包含的内容应用治理控制,而不是按对象管理访问对象。

数据分类结果

数据质量监控

数据质量监控可对模式中所有表进行异常检测,并在表级别进行数据剖析。 异常检测基于历史数据模式自动监控数据新鲜度和完整性,无需手动配置即可发现问题。 数据分析会捕获一段时间内的统计分布,使你能够跟踪数据完整性并设置针对意外更改的警报。

数据质量监视仪表板

使用 Unity AI 网关进行 AI 治理

Unity AI 网关 将 Unity 目录治理扩展到 AI。 它为 LLM 终结点、代理和 MCP 服务器提供企业治理,使你能够在统一 UI 中实现所有 AI 交互的访问控制、审核日志记录和可观测性。