使用工作区 API 管理仪表板权限
本教程演示如何使用工作区 API 管理仪表板权限。 每个步骤都包含一个示例请求和响应,以及有关如何结合使用 API 工具和属性的说明。
先决条件
- 需要个人访问令牌才能与工作区连接。 请参阅 Azure Databricks 个人访问令牌身份验证。
- 需要具有要访问的工作区的工作区 ID。 请参阅工作区实例名称、URL 和 ID
- 熟悉 Databricks REST API 参考。
路径参数
本文中的每个终结点请求都需要两个路径参数,即 workspace_object_type
和 workspace_object_id
。
workspace_object_type
:对于 AI/BI 仪表板,对象类型为dashboards
。workspace_object_id
:这和与仪表板关联的resource_id
相对应。 可以使用 GET /api/2.0/workspace/list 或 GET /api/2.0/workspace/get-status 检索该值。 它是一个类似于01eec14769f616949d7a44244a53ed10
的 32 个字符的字符串。
有关列出工作区对象的示例,请参阅步骤 1:浏览工作区目录。 有关工作区列表 API 的详细信息,请参阅 GET /api/2.0/workspace/list。
获取工作区对象权限级别
本部分使用“获取工作区对象权限级别”终结点来获取用户可以在仪表板上拥有的权限级别。 请参阅 GET /api/workspace/workspace/getpermissionlevels。
在以下示例中,请求包含上述示例路径参数。 响应包括可应用于请求中指示的仪表板的权限。
GET /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10/permissionLevels
Response:
{
"permission_levels": [
{
"permission_level": "CAN_READ",
"description": "Can view the Lakeview dashboard"
},
{
"permission_level": "CAN_RUN",
"description": "Can view, attach/detach, and run the Lakeview dashboard"
},
{
"permission_level": "CAN_EDIT",
"description": "Can view, attach/detach, run, and edit the Lakeview dashboard"
},
{
"permission_level": "CAN_MANAGE",
"description": "Can view, attach/detach, run, edit, and change permissions of the Lakeview dashboard"
}
]
}
获取工作区对象权限详细信息
“获取工作区对象权限”终结点可获取特定工作区对象的分配权限。 请参阅 GET /api/workspace/workspace/getpermissions。
以下示例显示了上一示例中仪表板的请求和响应。 响应包括有关仪表板以及对仪表板具有权限的用户和组的详细信息。 对此对象的权限已被响应的 access_control_list
部分中的两个项目继承。 在第一个条目中,权限继承自工作区中的文件夹。 第二个条目显示 admins
组的成员身份继承的权限。
GET /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Response:
{
"object_id": "/dashboards/490384175243923",
"object_type": "dashboard",
"access_control_list": [
{
"user_name": "first.last@example.com",
"display_name": "First Last",
"all_permissions": [
{
"permission_level": "CAN_MANAGE",
"inherited": true,
"inherited_from_object": [
"/directories/2951435987702195"
]
}
]
},
{
"group_name": "admins",
"all_permissions": [
{
"permission_level": "CAN_MANAGE",
"inherited": true,
"inherited_from_object": [
"/directories/"
]
}
]
}
]
}
设置工作区对象权限
可以使用“设置工作区对象权限”终结点在仪表板上设置权限。 请参阅 PUT /api/workspace/workspace/setpermissions。
以下示例向所有工作区用户授予对 PUT 请求中 workspace_object_id
的 CAN EDIT 权限。
PUT /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "users",
"permission_level": "CAN_EDIT"
}
]
}
对于 AI/BI 仪表板,可以使用组 All account users
将查看权限分配给已注册到 Azure Databricks 帐户的所有用户。 请参阅共享发布的仪表板。
更新工作区对象权限
“更新工作区对象权限”终结点执行的功能与“设置工作区对象权限”终结点类似。 它使用 PATCH
请求而不是 PUT
请求来分配权限。
请参阅 PATCH /api/workspace/workspace/updatepermissions。
PATCH /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "account userS",
"permission_level": "CAN_VIEW"
}
]
}