Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
重要
此功能目前以公共预览版提供。
此页面描述了如何在现有的 Azure Databricks 工作区中禁用对旧版 Databricks 文件系统(DBFS)根目录和挂载的访问。 若要在新建工作区的帐户级别禁用 DBFS 根和挂载,请使用 “禁用旧功能” 帐户设置。
将基于文件的工作流迁移到 Unity 目录卷、外部位置或工作区文件后,可以阻止用户上传、修改或访问 DBFS 根和 DBFS 装载中的数据。 禁用 DBFS 根目录和装载可以增强您的安全态势,因为这将移除对不受 Unity Catalog 控制的共享存储的访问。
什么是 DBFS 根目录和挂载点?
DBFS 是 Databricks 工作区中的分布式文件系统,可在 URI 方案 dbfs:
中访问,并用于与基于云的存储进行交互。
dbfs:
URI 方案用于访问工作区中的多个存储区域,包括:
-
DBFS 根:可以直接在文件系统的根目录下访问的区域,例如当您键入
dbfs:/
时。 所有工作区用户都可以访问直接在 DBFS 根下创建的内容,但以下保留前缀下的内容除外,每个内容都受特殊条件的约束。 请参阅什么是 DBFS 根? -
DBFS 装载:一种用于定义外部云存储访问的旧方法,可在其下
dbfs:/mnt/<mount_name>
访问。 请参阅 装载对象存储。 -
保留的 Azure Databricks 前缀: Unity 目录卷和其他 Azure Databricks 系统路径使用的前缀,例如
dbfs:/databricks-datasets/
MLflow 资产路径。 例如,dbfs:/Volumes/
。
所有路径也可以通过 POSIX 样式的路径访问。 请参阅是否需要提供用于访问数据的 URI 方案?
有关 DBFS(包括 DBFS 根和装载)的详细信息,请参阅 什么是 DBFS?
正在禁用哪些功能?
禁用 DBFS 根目录和挂载后:
禁用并阻止通过所有接口(UI、API、CLI、FUSE)访问现有工作区中的 DBFS 根目录和挂载点。
尝试从 DBFS 根目录读取或写入文件,装载失败并出现错误。 例如,禁用了 “公共 DBFS 根”错误消息。
不再可从 UI 访问 DBFS 浏览器和 “上传到 DBFS ”选项。 除非恢复设置,否则引用 DBFS 根目录和挂载的作业、笔记本或脚本将无法运行。
不再可从常见功能访问 DBFS 选项,例如:
- 集群库
- 群集日志传送
- MLflow 跟踪/模型注册表(非 UC)
- AutoML 实验
- DLT 管道
使用静态
/files
笔记本文件嵌入失败并出现 500 错误。 请参阅 在笔记本中嵌入静态图像。挂载/卸载操作被阻止。
文件存储操作被阻止。
在工作区中禁用 DBFS 根目录和装载会导致 Databricks Runtime 版本低于 13.3 LTS 的版本也被禁用。
哪些内容不受影响?
dbfs:
URI 方案仍然是 Azure Databricks 的核心,禁用 DBFS 根和 DBFS 装载不会禁用 dbfs:
URI 本身。 以下将继续按预期工作:
-
Unity Catalog 卷:卷通过
dbfs:/Volumes
前缀和 POSIX 样式/Volumes
路径保持可访问。 有关详细信息,请参阅是否需要提供用于访问数据的 URI 方案?什么是 Unity 目录卷? 请参阅“连接到 DBFS 根外部位置”(旧版)。 -
系统路径:只读数据仍可使用
dbfs:/databricks-datasets/
其他 Azure Databricks 系统路径(例如 MLflow 资源路径)访问。 - 内部工作区系统数据:这包括 Azure Databricks 自动生成的内容,例如笔记本修订、作业运行详细信息、命令结果和 Spark 日志。 请参阅工作区存储帐户。
注释
DBFS 根目录下已有的数据和挂载不会被删除。 如果在工作区级别设置中通过使用 禁用 DBFS 根和装载 来重新启用 DBFS 根和装载,则数据将再次变为可访问。
下面是一些路径示例,这些路径仍可访问且不受 DBFS 根目录和装载禁用的影响:
类别 | 路径 | DESCRIPTION |
---|---|---|
Unity 目录卷 | dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file_name> |
保留为 UC 卷,只能通过特定于 UC 的 API 访问,并受 UC 治理规则的约束。 有关详细信息,请参阅 哪些路径用于访问卷中的文件?。 |
系统路径 | dbfs:/databricks/mlflow-registry dbfs:/databricks/mlflow-tracking |
指向由 Azure Databricks 内部 API 在工作区系统数据中撰写内容的路径,这些路径为只读路径。 |
系统路径 | dbfs:/databricks-datasets/ |
默认在 Azure Databricks 工作区中装载的只读数据集集合体。 请参阅 DBFS 中已挂载的 Databricks 数据集浏览。 |
dbfs:
前缀(URI 方案)是可选的,在大多数情况下可以省略。 请参阅是否需要提供用于访问数据的 URI 方案?
何时可以禁用 DBFS 根目录和挂载点?
可以随时禁用 DBFS。 但是,如果现有工作流仍依赖于它,则它们可能会中断。 Databricks 建议仅在完成以下操作后禁用非关键环境中的 DBFS 根目录和挂载点:
- 已经将依赖于 DBFS 根目录或挂载的所有工作流迁移到 Unity Catalog 卷、外部位置或工作区文件。
- 已将所有作业和群集升级到 Databricks Runtime 13.3 LTS 或更高版本。
注释
在继续之前,可以使用 监测脚本 扫描剩余的 DBFS 根目录和装载使用情况。
禁用 DBFS 根目录及挂载点
注释
如果缺少禁用 DBFS 根目录和挂载设置,则帐户管理员必须在帐户控制台的预览中启用Unity Catalog: 禁用旧功能设置。
可以在现有工作区和新工作区中禁用 DBFS 根目录和装载。
作为工作区管理员,请按照以下步骤禁用 DBFS 根目录和装载点:
登录到 Azure Databricks 工作区。
单击右上角的用户配置文件图标,然后选择“设置”。
导航到工作区管理员并单击“ 安全性”。
将 禁用 DBFS 根和安装点 设置为 禁用:无法使用 DBFS 根和安装点。
等待最多 20 分钟才能使设置生效。
重启所有正在运行的群集。
- 传播时间延迟:该过程最多可能需要 20 分钟,以完全传播关于 DBFS 根目录和挂载点被禁用的信息。
- 群集重启:任何正在运行的全用途计算和 SQL 仓库都必须 手动 重启,这必须在 20 分钟的传播时间后完成,才能使更改生效。 如果未重启,此类群集将继续能够访问 DBFS 根目录和装载。
请参阅 Notebook 示例:查找长时间运行的计算 ,以获取用于识别和重启长时间运行的全用途计算的示例。