Gerenciar permissões de painel usando a API do workspace

Este tutorial demonstra como gerenciar permissões de painel usando a API do workspace. Cada etapa inclui uma solicitação e uma resposta de exemplo e explicações sobre como usar as ferramentas e propriedades da API juntos.

Pré-requisitos

Parâmetros de caminho

Cada solicitação de ponto de extremidade neste artigo requer dois parâmetros de caminho, workspace_object_type e workspace_object_id.

  • workspace_object_type: para painéis de IA/BI, o tipo de objeto é dashboards.
  • workspace_object_id: isso corresponde à resource_id associada ao painel. Você pode usar o GET /api/2.0/workspace/list ou GET /api/2.0/workspace/get-status para recuperar esse valor. É uma cadeia de caracteres de 32 caracteres semelhante a 01eec14769f616949d7a44244a53ed10.

Consulte Etapa 1: Explore um diretório de workspace para obter um exemplo de listagem de objetos de workspace. Consulte GET /api/2.0/workspace/list para obter detalhes sobre a API da lista de workspaces.

Obter níveis de permissão de objeto do workspace

Esta seção usa o Obter níveis de permissão de objeto do workspace ponto de extremidade para obter os níveis de permissão que um usuário pode ter em um painel. Consulte GET /api/workspace/workspace/getpermissionlevels.

No exemplo a seguir, a solicitação inclui parâmetros de caminho de exemplo descritos acima. A resposta inclui as permissões que podem ser aplicadas ao painel indicado na solicitação.

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

Obter detalhes da permissão do objeto do workspace

O Obter permissões de objeto de workspace ponto de extremidade obtém as permissões atribuídas em um objeto de workspace específico. Consulte GET /api/workspace/workspace/getpermissions.

O exemplo a seguir mostra uma solicitação e uma resposta para o painel no exemplo anterior. A resposta inclui detalhes sobre o painel e usuários e grupos com permissões no painel. As permissões neste objeto foram herdadas para ambos os itens na parte access_control_list da resposta. Na primeira entrada, as permissões são herdadas de uma pasta no workspace. A segunda entrada mostra permissões herdadas por associação ao 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/"
                ]
        }
]
}
]
}

Definir permissões de objeto de workspace

Você pode definir permissões nos painéis usando o ponto de extremidade Definir permissões de objeto de workspace. Consulte PUT /api/workspace/workspace/getpermissions.

O exemplo a seguir fornece permissão CAN EDIT para todos os usuários do workspace para o workspace_object_id na solicitação PUT.

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

Request body:

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

Para painéis de IA/BI, é possível usar o grupo All account users para atribuir a permissão de exibição a todos os usuários registrados na conta do Azure Databricks. Confira Compartilhar um painel publicado.

Atualizar permissões de objeto de workspace

As permissões de objeto do workspace Update ponto de extremidade executa funções de forma semelhante às permissões de objeto configurar workspace. Ele atribui permissões usando uma solicitação PATCH em vez de uma solicitação de PUT.

Confira PATCH /api/workspace/workspace/updatepermissions na referência da API REST.


PATCH /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10

Request body:

{
  "access_control_list": [
    {
      "group_name": "account userS",
      "permission_level": "CAN_VIEW"
    }
  ]
}