什么是 Azure Databricks 清洁室?
本文将介绍清洁室,它是 Azure Databricks 的一项功能,使用 Delta Sharing 和无服务器计算来提供一个安全且能够保护隐私的环境,各方可以协同处理企业的敏感数据,而不会直接访问彼此的数据。
要求
若要有资格使用干净的房间,必须具备:
- 为无服务器计算启用的帐户。 请参阅启用无服务器计算。
- 为 Unity Catalog 启用的工作区。 请参阅为工作区启用 Unity Catalog。
- 为 Unity Catalog 元存储启用了 Delta Sharing。 请参阅对元存储启用 Delta Sharing。
清洁室的工作原理是什么?
创建清洁室时,将创建以下内容:
- Unity Catalog 元存储中的安全清洁室对象。
- “中心”清洁室,这是由 Databricks 管理的隔离临时环境。
- 协作者的 Unity Catalog 元存储中的安全清洁室对象。
任一协作者在数据清洁房间中共享的表、卷(非表格数据)、视图和笔记本仅会通过 Delta Sharing 与中央数据清洁房间共享。
协作者无法查看其他协作者的表、视图或卷中的数据,但他们可以查看列名和列类型,并且可以运行对数据资产运行的已批准的笔记本代码。 笔记本代码在中心清洁室中运行。 笔记本还可以生成 输出表 ,让协作者暂时将只读输出保存到其 Unity 目录元存储,以便他们可以在工作区中使用它。
清洁室如何确保“无信任”环境?
Databricks 清洁室模型不信任任何内容。 无信任清洁室中的所有协作者都有平等的权限,包括清洁室的创建者。 清理室旨在防止运行未经授权的代码和未经授权的数据共享。 例如,所有协作者必须批准笔记本,然后该笔记本才能运行。 此信任通过阻止协作者运行自己创建的任何笔记本来隐式强制实施:你只能运行由其他协作者创建的笔记本。
其他安全措施或限制
除了上述隐式笔记本审批过程外,还有以下安全措施:
清洁室创建后,它将被锁定,以防止新的协作者加入该清洁室。
如果任何协作者删除了该清洁室,则中心清洁室将无效,并且任何用户都无法运行任何清洁室任务。
在公共预览版期间,每个清洁室仅限于两个协作者。
不能重命名清洁室。
清洁室名称在每个协作者的元存储中必须是唯一的,以便所有协作者都可以明确引用同一个清洁室。
有关每个协作者的工作区中清洁室安全对象的注释不会传播给其他协作者。
会与其他协作者共享什么内容?
- 清洁室名称。
- 中心清洁室的云和区域。
- 组织名称(可以是你选择的任何名称)。
- 清理室共享标识符(全局元存储 ID + 工作区 ID + 用户电子邮件地址)。
- 共享表、视图或卷的别名。
- 列元数据(列名/别名和类型)。
- 笔记本(只读)。
- 输出表 (只读的,临时的)。
- 清洁室事件系统表。
- 运行历史记录,包括:
- 正在运行的笔记本的名称
- 运行笔记本的协作者(而不是用户)。
- 笔记本运行的状态。
- 笔记本运行的开始时间。
会与中心清洁室共享什么内容?
上一节中列出的所有内容。
只读表、卷、视图和笔记本。
表、视图和卷在中央数据清洁房间的元存储中以提供的任何别名注册。 数据资产将在数据清洁房间的整个生命周期内共享。
清理室常见问题解答
以下是有关干净房间的常见问题。
如何在干净空间中管理数据?
中心清洁室由 Azure Databricks 管理。 在中央数据清洁房间中:
- 两方都没有管理员权限。
- 只有元数据对各方可见。
- 每个参与方都可以将数据添加到中央清理室。
- 洁净室使用Delta Sharing将数据安全地共享到洁净室,但不会在参与者之间共享数据。 请参阅 什么是Delta Sharing?。
我的数据如何保持私密?
中央洁净室在一个由 Databricks 管理的独立无服务器计算平台中运行,该平台托管在由洁净室创建者选择的云提供商区域内。
干净的房间提供:
- 代码审批:数据清洁房间创建者和协作者可以与中央数据清洁房间共享表和卷,但只能运行由另一方上传的笔记本。 在批准之前,可以查看对方添加的代码。 如果运行由另一方添加的笔记本,则隐式批准代码。
- 版本控制: 清洁室笔记本具有版本控制,以确保各方只能运行完全批准的笔记本。 只能运行最新版本的笔记本。 可以使用数据清洁房间系统表查看运行的笔记本的版本,并监视所做的任何更改。
- 受限访问: 创建干净房间时,可以使用无服务器出口控制来管理出站网络连接。 如果限制来自洁净室的访问,则会阻止对未经授权的存储的访问。 请参阅 什么是无服务器出口控制?。
若要详细了解安全性和无服务器计算平面,请参阅 无服务器计算平面网络。
如何记录操作?
清理室操作由你或你的协作者记录在清理室事件系统表中。 这些记录包括有关执行的特定操作的详细元数据。 请参阅数据清洁房间事件系统表参考。
清理室操作也会记录在服务 clean-room
下的帐户审核日志中。 请参阅审核日志系统表参考。
限制
在公共预览版期间,存在以下限制:
- 所需的 Databricks Runtime 版本不包含任何服务凭据 Scala 库。
资源配额
Azure Databricks 对所有清洁室安全对象强制实施资源配额。 这些配额列在资源限制中。 如果预期超过这些资源限制,请联系 Azure Databricks 帐户团队。
可以使用 Unity Catalog 资源配额 API 来监视配额使用情况。 请参阅监视 Unity Catalog 资源配额的使用情况。