Important
此功能目前以公共预览版提供。
可以通过多种方式在Azure Databricks中担任角色。 在所有情况下,用户标识权限都会在会话或连接期间由角色的权限替换,所有操作都归咎于该角色。
若要担任某个角色,您必须直接或作为所属组的成员对该角色具有 担任 权限。 请参阅 对组的管理权限。
Important
分配给工作区的所有组都从工作区 users 的系统组继承权限,其中包括所有工作区用户。 当你以某个角色身份操作时,除了直接授予该角色的内容外,你仍会看到与所有工作区用户共享的目录集、Unity Catalog 对象、工作区资产和计算资源。 若要限制该角色可查看的内容,请降低工作区中 users 系统群组的权限。
工作区中的角色切换器
使用 角色切换器 在整个工作区范围内切换角色。 在整个会话期间,所有访问权限、许可、所有权和操作都将按该角色处理。
- 在Azure Databricks工作区中,单击顶部栏右上角的工作区名称。
- 将鼠标悬停在当前工作区(菜单的顶部项)上以显示角色切换器子菜单。
- 在子菜单中,单击要承担的角色。
UI 重新加载,工作区名称下显示的标识将更改为所选角色。
若要切换回用户标识,请打开相同的子菜单并选择用户名。
注释
如果未看到角色切换器子菜单,请确认你属于已分配给该工作区的某个组,或者你已被授予对已分配给该工作区的某个组的 Assume 权限。 请参阅 对组的管理权限。
工作区 URL (深层链接)
你可以通过在工作区 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)限制。
后续步骤
- 查看限制条件:了解 Azure Databricks 的哪些功能在用作角色时不受支持或仅获得部分支持。 请参阅 基于角色的访问控制(RBAC)限制。
- 限制工作区资产共享:阻止充当角色的用户共享角色拥有的工作区资产。 请参阅 工作区资产共享控件。
- 管理假设权限:授予或撤销对组的假设,以便用户可以承担相应的角色。 请参阅 对组的管理权限。