Gérer les autorisations de tableau de bord à l'aide de l'API Workspace
Cette page explique comment gérer les autorisations des tableaux de bord à l'aide de l'API Workspace. 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. Pour gérer les autorisations via l'interface utilisateur, consultez Partager un tableau de bord.
Prérequis
- Configurez l'authentification pour accéder aux ressources Databricks. Pour en savoir plus sur les options d’authentification et les instructions de configuration, consultez Autoriser l’accès aux ressources Databricks.
- Vous avez besoin de l'URL/les URL du Workspace auxquelles vous souhaitez accéder. Consultez Noms, URL et ID d’instance du Workspace.
- Connaissance de la référence de l'API REST Databricks.
Paramètres de chemin
Chaque requête Endpoint de cet article nécessite deux paramètres de chemin, workspace_object_type et workspace_object_id.
workspace_object_type** ** : Pour les tableaux de bord AI/BI, le type d’objetdashboardsest.workspace_object_id: cela correspond auresource_idassocié au tableau de bord. Vous pouvez utiliser l'API 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 de workspace pour un exemple de liste d'objets de workspace. Consultez GET /api/2.0/workspace/list pour plus de détails sur l'API de liste de Workspace.
Obtenir les niveaux d'autorisation des objets Workspace
Cette section utilise l'endpoint Obtenir les niveaux d'autorisation des objets de workspace pour obtenir les niveaux d'autorisation qu'un utilisateur peut avoir sur un tableau de bord. Voir GET /api/workspace/workspace/getpermissionlevels.
Dans l’exemple suivant, la requête comprend des paramètres de chemin d’accès, tels que décrits ci-dessus. La réponse inclut les autorisations qui peuvent être appliquées au tableau de bord indiqué dans la requête.
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 des autorisations d'objet de workspace
L'Endpoint Obtenir les autorisations d'objet de Workspace obtient les autorisations attribuées sur un objet de Workspace spécifique. Consultez GET /api/workspace/workspace/getpermissions.
L'exemple suivant montre une requête et une réponse pour le tableau de bord de l'exemple précédent. La réponse comprend des détails sur le tableau de bord, ainsi que 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 dans la portion access_control_list de la réponse. Dans la première entrée, les autorisations sont héritées d'un dossier du Workspace. La deuxième entrée indique 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 les autorisations d'objet de Workspace
Vous pouvez définir les autorisations sur les tableaux de bord à l'aide de l'Endpoint Définir les autorisations d'objet de Workspace . Consultez PUT /api/workspace/workspace/setpermissions.
L'exemple suivant donne l'autorisation CAN EDIT à tous les utilisateurs du workspace pour le workspace_object_id dans la requête 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 auprès du compte Databricks. Consultez Partager un tableau de bord publié.
Mettre à jour les autorisations d'objet du Workspace
L'Endpoint Mettre à jour les autorisations d'objet de Workspace fonctionne de manière similaire à l'Endpoint Définir les autorisations d'objet de Workspace . Elle attribue des autorisations en utilisant une requête PATCH au lieu d'une requête 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"
}
]
}