本页介绍新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 元存储。
使用帐户控制台
此方法需要帐户管理员权限。
- 以 Azure Databricks 帐户管理员身份登录到帐户控制台。
- 单击
工作区。
- 找到你的工作区并检查元存储列。 如果存在 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 允许列表。
- 通过Delta Sharing接收共享数据。
- 当团队成员离开时转移对象所有权。
有关分配这些角色的说明,请参阅 Unity 目录中的管理员权限。
步骤 3:创建兼容 Unity Catalog 的计算资源
若要运行 Unity 目录工作负荷,计算资源必须满足 Unity 目录安全要求。 下表显示了哪些计算类型符合性:
| 计算类型 | 符合 UC 标准 |
|---|---|
| SQL 仓库 | 是 |
| 无服务器计算(笔记本、作业、管道) | 是 |
| 群集 - 单用户访问模式 | 是 |
| 群集 - 共享访问模式 | 是 |
| 群集 - 无隔离共享访问模式 | 否 |
若要创建符合 UC 要求的计算资源:
- SQL 仓库:请参阅 创建 SQL 仓库。
- 无服务器计算:请参阅 “连接到无服务器计算”。
- 群集:配置群集时,选择 “单用户 ”或“ 共享 ”作为访问模式。 请参阅访问模式。
作为工作区管理员,可以仅将群集创建限制为管理员,或使用群集策略允许用户创建自己的符合 Unity 目录的群集。 请参阅计算访问权限和创建和管理计算策略。
步骤 4:创建目录和架构
目录是 Unity 目录中数据隔离的主要单元。 所有架构、表、卷、视图和函数都位于目录中。
何时创建新目录
系统会自动为新工作区预配一个工作区目录,默认情况下,该目录以您的工作区名称命名。 若要检查是否有工作区目录,请单击边栏中的目录,并查找与工作区名称匹配的目录。 如果存在,可能不需要立即创建其他目录。
随着时间的推移,请考虑在使用情况增长时创建新目录,围绕逻辑边界进行组织,例如:
- 团队或业务部门:用于工程、财务和营销的单独目录
-
环境:将
dev、staging和prod目录分开设置,以将开发数据与生产数据隔离开 - 项目:每个主要数据产品或计划专用目录
如果组织的数据边界已定义良好,现在可以创建目录。
创建产品目录
若要创建目录,请运行以下 SQL。
CREATE CATALOG IF NOT EXISTS <catalog-name>;
注释
此目录中的托管数据存储于元存储的默认托管存储位置。 若要使用其他位置,请指定一个 MANAGED LOCATION。 请参阅 使用 Unity 目录连接到云对象存储。
然后,创建架构来组织表和其他数据对象:
CREATE SCHEMA IF NOT EXISTS <catalog-name>.<schema-name>;
有关详细说明以及如何使用 Catalog Explorer,请参阅 创建目录 和 创建架构。
步骤 5:向用户授予权限
在 Unity 目录中,默认情况下,用户无权访问数据。 工作区管理员可以向工作区中的安全对象授予权限。 Databricks 建议向组而不是单个用户授予权限。 这样一来,随着团队规模的扩大,访问权限会更易于管理。
启用数据发现
Azure Databricks 建议向 All account users 组授予对所有目录的 BROWSE 权限。
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 目录权限模型的工作原理。
- Unity Catalog 权限参考:列出 Unity Catalog 中的每一项权限、其适用的可保护对象,以及该权限允许执行的操作。
- 管理 Unity 目录中的权限:介绍如何使用 SQL 或目录资源管理器授予、撤销和检查安全对象的权限。
设置清单
如果已完成所有五个步骤,Unity 目录将在工作区中设置,用户可以开始使用数据。 使用以下清单确认一切已到位:
- [ ] 已启用 Unity 目录,这意味着 Unity 目录元存储已附加到工作区。 请参阅步骤 1:确认您的工作区已启用 Unity Catalog。
- [ ] 用户已添加到工作区,并被分配了适当的角色。 请参阅 步骤 2:管理工作区访问权限和身份。
- [ ] 提供兼容 Unity Catalog 的计算资源。 请参阅 步骤 3:创建符合 Unity 目录的计算。
- [ ] 创建目录和架构以组织数据。 请参阅 步骤 4:创建目录和架构。
- [ ] 用户可以访问预期目录。 请参阅 步骤 5:向用户授予权限。
后续步骤
设置 Unity 目录后,可以开始将更高级的治理功能应用到工作区。
数据分类
数据分类 使用 AI 代理自动扫描目录并标记敏感数据,例如 PII、财务信息和凭据。 分类后,标记可以直接与 ABAC 策略集成,使你可以根据数据实际包含的内容应用治理控制,而不是按对象管理访问对象。