Administrar los permisos del panel mediante la API del área de trabajo

En esta página se muestra cómo administrar permisos de panel mediante workspace API. Cada paso incluye una solicitud de ejemplo y una respuesta y explicaciones sobre cómo usar las propiedades y las herramientas de API juntas. Para administrar permisos mediante la interfaz de usuario, consulte Uso compartido de un panel.

Requisitos previos

Parámetros de ruta

Cada solicitud de punto de conexión de este artículo requiere dos parámetros de ruta de acceso, workspace_object_type y workspace_object_id.

  • workspace_object_type: en el caso de los paneles de AI/BI, el tipo de objeto es dashboards.
  • workspace_object_id: corresponde al resource_id asociado al panel. Puede usar el GET /api/2.0/workspace/list o GET /api/2.0/workspace/get-status para recuperar ese valor. Es una cadena de 32 caracteres similar a 01eec14769f616949d7a44244a53ed10.

Consulte Paso 1: Explorar un directorio del área de trabajo para obtener un ejemplo de enumeración de objetos de área de trabajo. Consulte GET /api/2.0/workspace/list para obtener más información sobre la API de lista de áreas de trabajo.

Obtención de niveles de permisos de objetos de área de trabajo

Esta sección utiliza el punto de conexión Obtener niveles de permiso de objetos de área de trabajo para determinar los niveles de permiso que un usuario puede tener en un tablero de control. Consulte GET /api/workspace/workspace/getpermissionlevels.

En el ejemplo siguiente, la solicitud incluye parámetros de ruta de acceso de ejemplo descritos anteriormente. La respuesta incluye los permisos que se pueden aplicar al panel indicado en la solicitud.

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"
                }
        ]
}

Obtener detalles de permisos del objeto del espacio de trabajo

El endpoint Obtener los permisos del objeto del área de trabajo obtiene los permisos asignados a un objeto específico del área de trabajo. Consulte GET /api/workspace/workspace/getpermissions.

En el ejemplo siguiente se muestra una solicitud y respuesta para el panel en el ejemplo anterior. La respuesta incluye detalles sobre el panel y los usuarios y grupos con permisos en el panel. Los permisos de este objeto se han heredado para ambos elementos de la parte access_control_list de la respuesta. En la primera entrada, los permisos se heredan de una carpeta del área de trabajo. En la segunda entrada se muestran los permisos heredados por la pertenencia al grupo, 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/"
                ]
        }
]
}
]
}

Establecer permisos de objeto de espacio de trabajo

Puede establecer permisos en los tableros mediante el endpoint Establecer permisos de objetos del área de trabajo. Consulte PUT /api/workspace/workspace/setpermissions.

En el siguiente ejemplo, se otorga a todos los usuarios del área de trabajo el permiso CAN EDIT para workspace_object_id en la solicitud PUT.

PUT /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10

Request body:

{
"access_control_list": [
{
        "group_name": "users",
        "permission_level": "CAN_EDIT"
}
]
}

En el caso de los paneles de IA/BI, puede usar el grupo All account users para asignar permisos de vista a todos los usuarios registrados en la cuenta de Azure Databricks. Consulte cómo compartir un panel publicado.

Actualizar los permisos del objeto del espacio de trabajo

El punto de conexión Actualizar permisos de objetos del área de trabajo realiza funciones similares a las del punto de conexión Establecer permisos de objetos del área de trabajo. Asigna permisos mediante una solicitud de PATCH en lugar de una solicitud PUT.

Consulte 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"
    }
  ]
}