权限控制用户可以对 Databricks 应用执行的操作,例如访问、管理和共享这些应用。 这不同于身份验证,用于验证用户的标识。 用户权限决定用户在应用中有权执行的操作。
权限级别
-
CAN MANAGE- 可以管理应用设置和权限,包括编辑和删除应用的功能。 包括所有CAN USE功能。 -
CAN USE- 可以运行应用并与之交互,但无法对其进行修改或管理。
只有具有 CAN MANAGE 权限的用户才能分配或撤销对应用的权限。
在 Databricks 应用 UI 中分配权限
通过在 Databricks 应用 UI 中直接分配权限来管理谁可以查看、运行或修改 Databricks 应用。
- 导航到“应用概述”选项卡。
- 单击“共享”。
- 使用下拉列表选择用户、组或服务主体。
- 选择适当的权限级别(
CAN USE或CAN MANAGE)。 - 单击“ 添加”,然后单击 “保存” 以应用更改。
组织权限
使用以下选项之一为应用配置组织级权限:
- 只有具有访问权限的人员才能使用: 只有用户、组和服务主体在权限模式中显式授予权限才能访问应用。
-
我的组织中的任何人都可以使用: 当前Azure Databricks账户(
All account users组)中的所有用户和服务主体接收CAN USE权限。 用户和服务主体显式授予的CAN MANAGE权限将保留,并单独存储这些提升的权限。
JIT 预配的用户仍必须通过组织的标识提供者进行身份验证,并由Azure Databricks识别为帐户用户。 即使这些用户无权访问任何工作区,也可以授予这些用户 CAN USE 对应用的访问权限。 但是,访问权限取决于工作区身份验证策略。 例如,如果启用了 PrivateLink,Azure Databricks可能会回退到工作区级身份验证。 在这种情况下,通过 Azure Databricks 公共终结点连接的用户将被阻止访问。
无法公开 Databricks 应用。 不支持匿名访问和绕过单一登录(SSO)。 若要授予对外部协作者的访问权限,请使用与 SCIM 和 JIT 预配的联合身份验证,通过标识提供者载入用户,而无需授予完整的工作区访问权限。
权限与授权
在 Databricks Apps 中,区分权限和授权非常重要,这些权限与概念相关但不同。
权限 在工作区级别分配,并定义工作区中可以管理或使用应用的人员。 权限控制对应用本身的访问,例如谁可以部署、更新或运行它。 权限不会控制应用或其用户可以访问的数据。
授权 是指控制对数据和资源的访问,并且有两个子类别:
- 用户授权 - 当用户向应用进行身份验证时,Azure Databricks将其标识转发到应用运行时。 这使 Unity 目录和其他数据访问策略能够基于用户的标识强制实施权限,从而限制应用可以代表他们访问哪些数据。
- App 授权 - 应用使用具有其自己的权限的服务主体来访问所需的Azure Databricks资源。 此授权规定应用本身可以独立于任何用户执行的操作。
总之,权限控制对应用(谁可以使用或管理应用)的工作区级访问权限,而授权控制数据级和资源访问,包括基于用户标识的访问和应用服务主体访问权限。
有关详细信息,请参阅 在 Databricks 应用中配置授权。
应用权限
工作区中的任何用户都可以创建 Databricks Apps,类似于其他无服务器产品。 但是,以下权利控制应用访问的不同方面:
- 应用访问和管理: 谁可以访问和管理应用,通过权限级别进行控制
- 服务主体权限: 分配给应用的专用服务主体的权限
- 用户同意: 用户是否同意允许应用使用其标识进行用户授权
- 用户权限: 访问应用的用户的基础 Unity 目录和工作区权限
权限的最佳做法
遵循以下最佳做法安全地管理 Databricks 应用权限:
- 通过仅授予每个用户角色所需的权限,遵循最低特权原则。
- 除非用户需要管理功能,否则首选分配
CAN USE权限。 - 使用组或服务主体能以更高效的方式大规模管理权限。