Gerenciar as permissões do painel usando o site workspace API

Este tutorial demonstra como gerenciar as permissões do painel usando o workspace API. Cada passo inclui um exemplo de solicitação e resposta e explicações sobre como usar as ferramentas e propriedades do API em conjunto.

Pré-requisitos

Parâmetros do caminho

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

  • workspace_object_type: Para painéis do Lakeview, o tipo de objeto é dashboards.

  • workspace_object_id: Corresponde ao resource_id associado ao painel. O senhor pode usar o comando GET /api/2.0/workspace/list ou GET /api/2.0/workspace/get-status para recuperar esse valor. É uma cadeia de 32 caracteres semelhante a 01eec14769f616949d7a44244a53ed10.

Consulte o passo 1: Explore a workspace directory para ver um exemplo de listagem de objetos workspace. Consulte GET /api/2.0/workspace/list Para obter detalhes sobre a lista workspace API.

Obter níveis de permissão de objetos do espaço de trabalho

Esta seção usa o endpoint Get workspace object permission levels para obter os níveis de permissão que um usuário pode ter em um dashboard. Consulte GET /api/workspace/workspace/getpermissionlevels.

No exemplo a seguir, a solicitação inclui parâmetros de caminho de amostra 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 de permissão do objeto do espaço de trabalho

O Get workspace object permissions endpoint obtém as permissões atribuídas em um objeto workspace específico. Consulte GET /api/workspace/workspace/getpermissions.

O exemplo a seguir mostra uma solicitação e uma resposta para o dashboard do exemplo anterior. A resposta inclui detalhes sobre o painel e os usuários e grupos com permissões no painel. As permissões desse 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 site workspace. A segunda entrada mostra as permissões herdadas pela 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 do espaço de trabalho

O senhor pode definir permissões em dashboards usando a opção Set workspace object permissions endpoint. Consulte PUT /api/workspace/workspace/setpermissions.

O exemplo a seguir concede a permissão CAN EDIT a todos os usuários 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 os painéis Lakeview, é possível usar o grupo All account users para atribuir a permissão view a todos os usuários registrados no Databricks account. Consulte Compartilhar um painel publicado.

Atualizar as permissões de objeto do espaço de trabalho

O Update workspace object permissions endpoint executa funções semelhantes às do Set workspace object permissions endpoint. Ele atribui permissões usando uma solicitação PATCH em vez de uma solicitação 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"
    }
  ]
}