切换角色

Important

此功能目前以公共预览版提供。

可以通过多种方式在Azure Databricks中担任角色。 在所有情况下,用户标识权限都会在会话或连接期间由角色的权限替换,所有操作都归咎于该角色。

若要担任某个角色,您必须直接或作为所属组的成员对该角色具有 担任 权限。 请参阅 对组的管理权限

Important

分配给工作区的所有组都从工作区 users 的系统组继承权限,其中包括所有工作区用户。 当你以某个角色身份操作时,除了直接授予该角色的内容外,你仍会看到与所有工作区用户共享的目录集、Unity Catalog 对象、工作区资产和计算资源。 若要限制该角色可查看的内容,请降低工作区中 users 系统群组的权限。

工作区中的角色切换器

使用 角色切换器 在整个工作区范围内切换角色。 在整个会话期间,所有访问权限、许可、所有权和操作都将按该角色处理。

  1. 在Azure Databricks工作区中,单击顶部栏右上角的工作区名称。
  2. 将鼠标悬停在当前工作区(菜单的顶部项)上以显示角色切换器子菜单。
  3. 在子菜单中,单击要承担的角色。

UI 重新加载,工作区名称下显示的标识将更改为所选角色。

若要切换回用户标识,请打开相同的子菜单并选择用户名。

注释

如果未看到角色切换器子菜单,请确认你属于已分配给该工作区的某个组,或者你已被授予对已分配给该工作区的某个组的 Assume 权限。 请参阅 对组的管理权限

你可以通过在工作区 URL 中添加 aid(assume ID)查询参数,并将其设置为该组的 ID,来直接切换到某个角色:aid=<group-id>。 打开该 URL 后,系统会像往常一样以您的用户身份完成身份验证,然后自动切换到该角色,因此您无需使用角色切换器。

例如,若要打开已充当角色的工作区,请执行以下操作:

https://<workspace-url>/?o=<workspace-id>&aid=<group-id>

这对于将直接进入某个角色的链接加入书签或进行分享非常有用。 Azure Databricks 会在您于工作区内导航时保留 aid 参数,因此您在该会话期间将保持该角色身份。 切换到其他工作区会清除它,因为角色特定于工作区。

若要查找组的 ID,请参阅 “管理组”。 若要在打开链接后切换角色或返回到用户标识,请使用 角色切换器

分配给组的专用计算资源

连接到分配给组的专用计算资源时,权限会自动缩小到该组对该计算上的所有操作的权限。 这等同于在计算会话期间将该组视为一个角色,并且适用于在该计算资源上运行的笔记本、查询以及任何其他工作负载。 与其他方法不同,您无需先在工作区 UI 中切换角色:连接到计算资源这一操作会将您的作用范围限定到该组。

有关为组设置专用计算的详细信息,请参阅 专用计算组访问权限

CLI

使用 CLI 向Azure Databricks工作区进行身份验证时,CLI 会打开 Web 浏览器以完成身份验证流。 如果对一个或多个角色具有“假设”权限,请在浏览器中选择是作为自己的用户标识进行身份验证,还是作为其中一个角色进行身份验证。

databricks auth login --host <workspace-url>

完成登录流程后,CLI 将使用此配置文件,以您所选的角色身份为所有操作授权。 例如:

databricks warehouses list --profile <profile-name>

有关 CLI 身份验证的详细信息,请参阅 Databricks CLI 的身份验证

API (OAuth 令牌交换)

可以生成限定为角色的 OAuth 令牌,该令牌可用于作为该角色进行 API 调用。 该作用域令牌授权以该角色身份执行所有 API 操作。

若要生成角色作用域令牌,请按照 databricks auth login 中所述运行 ,并在网络浏览器中选择该角色。 生成的令牌的范围限定为该角色。

您还可以在 OAuth 授权码流程中,将底层组 ID 作为 assume_group 参数传递,以手动生成具有角色作用域的 OAuth 令牌。 有关详细信息,请参阅授权用户使用 OAuth 访问Azure Databricks

第三方 BI 工具

支持 OAuth 的第三方 BI 工具(例如 Tableau 和 Power BI)可以作为角色进行授权。 配置后,BI 工具会授权其作为角色执行的所有查询。 此授权适用于所有计算和 SQL 仓库类型。

在担任角色时发生哪些更改

无论你使用哪种方法切换到某个角色:

  • 笔记本和查询以该角色身份运行。 角色的权限用于所有数据访问和 Unity 目录操作。
  • 以该角色身份创建的作业会自动将其运行身份设置为该角色。 还可以将作业的“运行方式”设置为组,而无需先假设它。 请参阅 将“运行身份”设置为组
  • 该角色拥有你创建的任何 工作区资产 (笔记本、SQL 查询、SQL 仓库、作业)。
  • 审计日志将identity_metadata.run_by记录为您的用户身份,并将identity_metadata.run_as记录为角色。

有关在充当角色时不受支持或仅部分支持的功能,请参阅 基于角色的访问控制(RBAC)限制

后续步骤