使用工作区 API 管理仪表板权限

本教程演示如何使用工作区 API 管理仪表板权限。 每个步骤都包含一个示例请求和响应,以及有关如何结合使用 API 工具和属性的说明。

先决条件

路径参数

本文中的每个终结点请求都需要两个路径参数,即 workspace_object_typeworkspace_object_id

  • workspace_object_type:对于 AI/BI 仪表板,对象类型为 dashboards
  • workspace_object_id:这和与仪表板关联的 resource_id 相对应。 可以使用 GET /api/2.0/workspace/listGET /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"
    }
  ]
}