工作区对象访问控制

注意

访问控制仅在 Azure Databricks 高级计划中提供。

默认情况下,除非管理员启用工作区访问控制,否则所有用户均可创建和修改工作区对象(包括文件夹、笔记本、试验和模型)。 在使用工作区对象访问控制的情况下,用户的操作能力取决于单个权限。 本文介绍各个权限以及配置工作区对象访问控制的方式。

Azure Databricks 管理员必须先为工作区启用工作区对象访问控制,然后你才能使用该控制。 请参阅启用工作区对象访问控制

文件夹权限

可为文件夹分配五个权限级别:“无权限”、“可读取”、“可运行”、“可编辑”和“可管理” 。 该表列出了每个权限赋予用户的能力。

能力 无权限 可读取 可运行 可编辑 可管理
列出文件夹中的项 x x x x x
查看文件夹中的项 x x x x
克隆和导出项 x x x x
创建、导入和删除项 x
移动和重命名项 x
更改权限 x

文件夹中的笔记本和试验继承该文件夹的所有权限设置。 例如,在某个文件夹上拥有“可运行”权限的用户对该文件夹中的笔记本拥有“可运行”权限。

默认的文件夹权限

  • 以下权限独立于工作区对象访问控制而存在:
    • 所有用户对工作区共享文件夹中的项具有"可Shared Icon管理"权限。 可以通过将笔记本和文件夹移动到 Shared 文件夹来授予"可以管理 Shared Icon"权限。
    • 所有用户对自己创建的对象都有“可管理”权限。
  • 在禁用工作区对象访问控制的情况下,存在以下权限:
    • 对于“Workspace”文件夹中的项,所有用户都有“可编辑”权限 。
  • 启用工作区对象访问控制的情况下,存在以下权限:
    • Workspace 文件夹
      • 只有管理员才能在 Workspace 文件夹中创建新项目。
      • “Workspace”文件夹中的现有项 -“可管理” 。 例如,如果"工作区"文件夹包含"文档"和"临时"文件夹,则所有用户继续拥有这些文件夹的" Folder IconFolder Icon管理"权限。
      • Workspace 文件夹中的新项 -“无权限”。
    • 用户对文件夹中的所有项(包括在设置权限后创建到或移动到文件夹中的项)的权限与用户对该文件夹的权限相同。
    • 用户主目录 - 用户有“可管理”权限。 所有其他用户的权限为“无权限”。

笔记本权限

可为笔记本分配五个权限级别:“无权限”、“可读取”、“可运行”、“可编辑”和“可管理” 。 该表列出了每个权限赋予用户的能力。

能力 无权限 可读取 可运行 可编辑 可管理
查看单元 x x x x
注释 x x x x
通过 %run 或笔记本工作流来运行 x x x x
附加和分离笔记本 x x x
运行命令 x x x
编辑单元 x x
更改权限 x

存储库权限

可为存储库分配五个权限级别:“无权限”、“可读取”、“可运行”、“可编辑”和“可管理” 。 该表列出了每个权限赋予用户的能力。

能力 无权限 可读取 可运行 可编辑 可管理
列出存储库中的项 x x x x x
查看存储库中的项 x x x x
克隆和导出项 x x x x
运行存储库中的笔记本 x x x
编辑存储库中的笔记本 x x
创建、导入和删除项 x
移动和重命名项 x
更改权限 x

配置笔记本、文件夹和存储库权限

注意

此部分介绍如何使用 UI 来管理权限。 你还可以使用 权限 API 2.0

  1. 打开“权限”对话框:

    • 笔记本 Permissions icon 在笔记本上下文栏中单击。
    • 文件夹或存储库 - 在文件夹的下拉菜单中选择“权限”:

    Folder permissions Drop Down

  2. 若要向用户或组授予权限,请从“添加用户、组和服务主体”下拉菜单中选择权限,然后单击“添加” :

    Add notebook and folder users

    若要更改用户或组的权限,请从权限下拉菜单中选择新权限:

    Change notebook and folder permissions

  3. 在对话框中进行更改后,将更改保存更改并显示 "取消" 按钮。 单击 " 保存更改 " 以保存所做的更改,或单击 " 取消 " 放弃更改。

MLflow 试验权限

可为 MLflow 试验分配四个权限级别:“无权限”、“可读取”、“可编辑”和“可管理” 。 该表列出了每个权限赋予用户的能力。

能力 无权限 可读取 可编辑 可管理
查看运行信息、搜索、比较运行 x x x
查看、列出和下载运行项目 x x x
创建、删除和还原运行 x x
记录运行参数、指标、标记 x x
记录运行项目 x x
编辑试验标记 x x
清除运行和试验 x
授予权限 x

注意

  • 只会对存储在由 MLflow 管理的 DBFS 位置中的项目强制实施试验权限。 有关详细信息,请参阅 MLflow 项目权限
  • 创建、删除和还原试验需要对包含试验的文件夹拥有“可编辑”或“可管理”访问权限 。
  • 可以为试验指定“可运行”权限。 它以与“可编辑”相同的方式强制实施。

配置 MLflow 试验权限

可以从试验页面或工作区配置 MLflow 试验权限。

从试验页面配置 MLflow 试验权限

你的帐户中的所有用户都属于“all users”组。 管理员属于“admins”组,该组对所有对象具有“管理”权限。

注意

在此对话框中设置的权限适用于与此试验对应的笔记本。

  1. 单击“权限”。

    Experiment page permissions button

  2. 在对话框中,单击 " 选择用户、组或服务主体 ... " 下拉菜单,然后选择用户、组或服务主体。

    Permissions Settings dialog

  3. 从权限下拉菜单中选择权限。

  4. 单击“添加”。

  5. 单击“保存”保存所做的更改,或单击“取消”放弃所做的更改。

从工作区配置 MLflow 试验权限

  1. 若要打开权限对话框,请在试验的下拉菜单中选择“权限”。

    Workspace experiment permissions Drop Down

  2. 授予权限。 帐户中的所有用户都属于“所有用户”组。 管理员属于“管理员”组,该组对所有项拥有“可管理”权限。

    若要向用户或组授予权限,请从“添加用户、组和服务主体”下拉菜单中选择权限,然后单击“添加” :

    Add MLFlow experiment users

    若要更改用户或组的权限,请从权限下拉菜单中选择新权限:

    Change MLFlow experiment permissions

  3. 在对话框中进行更改后,将更改保存更改并显示 "取消" 按钮。 单击 " 保存更改 " 以保存所做的更改,或单击 " 取消 " 放弃更改。

MLflow 项目权限

每个 MLflow 试验都有一个“项目位置”,用于存储记录到 MLflow 运行的项目。 从 MLflow 1.11 开始,项目默认会存储在 Databricks 文件系统 (DBFS) 的由 MLflow 管理的子目录中。 MLflow 试验权限 适用于在这些托管位置中存储的项目,这些项目具有前缀 。 若要下载或记录项目,必须对其关联的 MLflow 试验具有相应级别的访问权限。

注意

  • 只能使用 MLflow 客户端 (版本 1.9.1 或更) 高版本(可用于1.9.1JavaR)访问 MLflow 托管位置中存储的 Artifacts。MLflow 管理的位置不支持其他访问机制,例如dbutilsDBFS API 2.0
  • 创建 MLflow 试验时,还可以指定自己的项目位置。 对于存储在默认的由 MLflow 管理的 DBFS 目录之外的项目,不会强制执行试验访问控制。

MLflow 模型权限

可为 MLflow 模型注册表中注册的 MLflow 模型指定六个权限级别:“无权限”、“可读取”、“可编辑”、“可管理过渡版本”、“可管理生产版本”和“可管理” 。 该表列出了每个权限赋予用户的能力。

注意

模型版本从其父模型继承权限;不能设置模型版本的权限。

能力 无权限 可读取 可编辑 可管理过渡版本 可管理生产版本 可管理
创建模型 x x x x x x
查看模型详细信息、版本、阶段转换请求、活动以及项目下载 URI x x x x x
请求模型版本阶段转换 x x x x x
向模型添加版本 x x x x
更新模型和版本说明 x x x x
添加或编辑模型或模型版本的标记 x x x x
在阶段之间转换模型版本 x(在“无”、“已存档”和“正在过渡”之间) x x
批准或拒绝模型版本阶段转换请求 x(在“无”、“已存档”和“暂存”之间) x x
取消模型版本阶段转换请求(请参阅注意 x
修改权限 x
重命名模型 x
删除模型和模型版本 x

注意

阶段转换请求的创建者也可以取消请求。

默认的 MLflow 模型权限

  • 以下权限独立于工作区对象访问控制而存在:
    • 所有用户都有权新建一个经过注册的模型。
    • 所有管理员对所有模型都具有“管理”权限。
  • 在禁用工作区对象访问控制的情况下,存在以下权限:
    • 所有用户对所有模型都具有“管理”权限。
  • 启用了工作区对象访问控制的情况下,存在以下默认权限:
    • 所有用户都对自己创建的模型有“管理”权限。
    • 非管理员用户对并非自己创建的模型具有的权限为“无权限”。

配置 MLflow 模型权限

你的帐户中的所有用户都属于“all users”组。 管理员属于“admins”组,该组对所有对象具有“管理”权限。

注意

此部分介绍如何使用 UI 来管理权限。 你还可以使用 权限 API 2.0

  1. 单击 Models Icon 侧栏中的 "模型"。

  2. 单击模型名称。

  3. 单击“权限”。

    Model permissions button

  4. 在对话框中,单击 " 选择用户、组或服务主体 ... " 下拉菜单,然后选择用户、组或服务主体。

    Change MLFlow model permissions

  5. 从权限下拉菜单中选择权限。

  6. 单击“添加”。

  7. 单击“保存”保存所做的更改,或单击“取消”放弃所做的更改。

为模型注册表中的所有 MLflow 模型配置权限

工作区管理员可以使用 UI 为模型注册表中特定用户或组的所有模型设置权限级别。

  1. 单击 Models Icon 边栏。

  2. 单击“权限”。

    Registry model permissions drop down

  3. 按照配置 MLflow 模型权限中的步骤 4 开始进行操作。

    导航到特定模型页时,在注册表范围级别设置的权限将标记为"继承"。

    Inherited model permissions

注意

在注册表 范围级别 具有"可管理"权限的用户可以更改所有其他用户的注册表范围权限。

MLflow 模型项目权限

每个 MLflow 模型版本的模型文件都存储在 MLflow 托管位置,前缀为

若要获取模型版本的文件的确切位置,你必须对模型具有“读取”访问权限。 使用 REST API 终结点

获取 URI 后,可以使用 DBFS API 2.0 下载文件。

适用于Python、JavaR (的 MLflow 客户端) 提供了几种包装此工作流以下载和加载模型的便捷方法,例如

注意

MLflow 托管文件位置不支持其他访问机制,例如 dbutils 和 。

库和作业访问控制

Library icon 所有用户都可以查看库。 若要控制谁可以将库附加到群集,请参阅群集访问控制

Schedule jobs - notebook icon 若要控制谁可以运行作业并查看作业运行的结果,请参阅 作业访问控制