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
O senhor precisa de um access token pessoal para se conectar com seu workspace. Consulte Databricks autenticação pessoal access token .
O senhor precisa do workspace ID do workspace que deseja acessar. Consulte Nomes de instâncias, URLs e IDs do espaçode trabalho
Familiaridade com a referência da API REST da Databricks.
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 os painéis AI/BI, o tipo de objeto édashboards
.workspace_object_id
: Corresponde aoresource_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 a01eec14769f616949d7a44244a53ed10
.
Consulte o passo 1: Explore um diretório workspace para obter um exemplo de listagem de objetos workspace. Consulte GET /api/2.0/workspace/list Para obter detalhes sobre a lista do espaço de trabalho 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 AI/BI, é 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"
}
]
}