Gérer les autorisations de tableau de bord en utilisant l’API Espace de travail
Ce tutoriel montre comment gérer les autorisations de tableau de bord à l’aide de l’API Espace de travail. Chaque étape comprend un exemple de requête et de réponse ainsi que des explications sur la façon d’utiliser ensemble les outils et les propriétés de l’API.
Prérequis
- Vous avez besoin d’un jeton d’accès personnel pour vous connecter à votre espace de travail. Consultez Authentification à l’aide de jetons d’accès personnels Azure Databricks.
- Vous avez besoin de l’ID d’espace de travail de l’espace de travail auquel vous souhaitez accéder. Consultez Noms d’instance, URL et ID d’espace de travail
- Connaissance des Informations de référence sur l’API REST Databricks.
Paramètres de chemin d’accès
Chaque demande de point de terminaison de cet article nécessite deux paramètres de chemin d’accès, workspace_object_type
et workspace_object_id
.
workspace_object_type
: Pour les tableaux de bord AI/BI, le type d’objet estdashboards
.workspace_object_id
: cela correspond auresource_id
associé au tableau de bord. Vous pouvez utiliser GET /api/2.0/workspace/list ou GET /api/2.0/workspace/get-status pour récupérer cette valeur. Il s’agit d’une chaîne de 32 caractères similaire à01eec14769f616949d7a44244a53ed10
.
Consultez Étape 1 : Explorer un répertoire d’espace de travail pour obtenir un exemple de liste d’objets d’espace de travail. Consultez GET /api/2.0/workspace/list pour plus d’informations sur l’API liste d’espaces de travail.
Obtenir les niveaux d’autorisation de l’objet d’espace de travail
Cette section utilise le point de terminaison Obtenir les niveaux d’autorisation de l’objet d’espace de travail pour obtenir les niveaux d’autorisation qu’un utilisateur peut avoir sur un tableau de bord. Consultez GET /api/workspace/workspace/getpermissionlevels.
Dans l’exemple suivant, la requête inclut des exemples de paramètres de chemin d’accès décrits ci-dessus. La réponse inclut les autorisations qui peuvent être appliquées au tableau de bord indiqué dans la demande.
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"
}
]
}
Obtenir les détails de l’autorisation de l’objet d’espace de travail
Le point de terminaison Obtenir les autorisations d’objet d’espace de travail obtient les autorisations attribuées sur un objet d’espace de travail spécifique. Consultez GET /api/workspace/workspace/getpermissions.
L’exemple suivant montre une demande et une réponse pour le tableau de bord dans l’exemple précédent. La réponse inclut des détails sur le tableau de bord et les utilisateurs et les groupes disposant d’autorisations sur le tableau de bord. Les autorisations sur cet objet ont été héritées pour les deux éléments de la partie access_control_list
de la réponse. Dans la première entrée, les autorisations sont héritées d’un dossier dans l’espace de travail. La deuxième entrée affiche les autorisations héritées par l’appartenance au groupe, 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/"
]
}
]
}
]
}
Définir des autorisations d’objet d’espace de travail
Vous pouvez définir des autorisations sur des tableaux de bord à l’aide du point de terminaison Définir des autorisations d’objet d’espace de travail. Consultez PUT /api/workspace/workspace/setpermissions.
L’exemple suivant donne l’autorisation CAN EDIT à tous les utilisateurs de l’espace de travail pour la workspace_object_id
dans la demande PUT.
PUT /api/2.0/permissions/dashboards/01eec14769f616949d7a44244a53ed10
Request body:
{
"access_control_list": [
{
"group_name": "users",
"permission_level": "CAN_EDIT"
}
]
}
Pour les tableaux de bord AI/BI, vous pouvez utiliser le groupe All account users
pour attribuer l’autorisation d’affichage à tous les utilisateurs enregistrés dans le compte Azure Databricks. Consultez Partager un tableau de bord publié.
Mettre à jour les autorisations d’objet de l’espace de travail
Le point de terminaison Mettre à jour les autorisations d’objet de l’espace de travail effectue des fonctions de la même façon que le point de terminaison Définir les autorisations d’objet de l’espace de travail. Il attribue des autorisations à l’aide d’une demande PATCH
au lieu d’une demande PUT
.
Consultez 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"
}
]
}