Contrôle d’accès aux objets d’espace de travail

Notes

Le contrôle d'accès est disponible uniquement dans le plan Premium.

Avec le contrôle d’accès aux objets de l’espace de travail, les autorisations individuelles déterminent les capacités d’un utilisateur à modifier les objets de l’espace de travail. Cet article décrit les autorisations individuelles et explique comment configurer le contrôle d’accès aux objets d’espace de travail.

Conseil

Vous pouvez gérer les autorisations dans une configuration entièrement automatisée avec le fournisseur Databricks Terraform et databricks_permissions.

Avant de pouvoir utiliser le contrôle d’accès aux objets de l’espace de travail, un administrateur de l’espace de travail Azure Databricks doit l’activer pour l’espace de travail. Consultez Activer le contrôle d’accès.

Autorisations du dossier

Vous pouvez affecter cinq niveaux d’autorisation aux dossiers : Aucune autorisation, Peut lire, Peut exécuter, Peut modifier et Peut gérer. Le tableau ci-après liste les capacités associées à chaque autorisation.

Possibilité Aucune autorisation Peut lire Peut exécuter Modification Peut gérer
Lister les éléments d’un dossier x x x x x
Afficher les éléments d’un dossier x x x x
Cloner et exporter des éléments x x x x
Créer, importer et supprimer des éléments x
Déplacer et renommer des éléments x
Modifier les autorisations x

Les notebooks et les expériences d’un dossier héritent de tous les paramètres d’autorisation de ce dossier. Par exemple, un utilisateur qui dispose de l’autorisation Peut exécuter sur un dossier dispose également de cette autorisation sur les notebooks de ce dossier.

Autorisations de dossier par défaut

  • Indépendamment du contrôle d’accès aux objets d’espace de travail, les autorisations suivantes existent :
    • Tous les utilisateurs disposent de l’autorisation Peut gérer sur les éléments du dossier Espace de travail>Icône PartagéPartagé. Vous pouvez accorder l’autorisation Peut gérer sur les notebooks et les dossiers en les déplaçant vers le dossier Icône PartagéPartagé.
    • Tous les utilisateurs disposent de l’autorisation Peut gérer sur les objets créés par l’utilisateur.
  • Quand le contrôle d’accès aux objets d’espace de travail est désactivé, les autorisations suivantes existent :
    • Tous les utilisateurs disposent de l’autorisation Peut modifier sur les éléments du dossier Espace de travail.
  • Quand le contrôle d’accès aux objets d’espace de travail est activé, les autorisations suivantes existent :
    • Dossier Espace de travail
      • Seuls les administrateurs de l'espace de travail peuvent créer de nouveaux éléments dans le dossier Espace de travail.
      • Éléments existants dans le dossier Espace de travail - Peut gérer. Par exemple, si le dossier Espace de travail contient les dossiers Icône DossierDocuments et Icône DossierTemp, tous les utilisateurs continuent d’avoir l’autorisation Peut gérer sur ces dossiers.
      • Nouveaux éléments dans le dossier Espace de travail - Aucune autorisation.
    • Un utilisateur dispose de la même autorisation sur tous les éléments d’un dossier, y compris les éléments créés ou déplacés dans le dossier après que vous avez défini les autorisations, que l’autorisation dont il dispose sur le dossier.
    • Répertoire racine de l’utilisateur : l’utilisateur dispose de l’autorisation Peut gérer. Tous les autres utilisateurs disposent de l’autorisation Aucune autorisation.

Autorisations de notebook

Vous pouvez affecter cinq niveaux d’autorisation aux notebooks : Aucune autorisation, Peut lire, Peut exécuter, Peut modifier et Peut gérer. Le tableau ci-après liste les capacités associées à chaque autorisation.

Possibilité Aucune autorisation Peut lire Peut exécuter Modification Peut gérer
Afficher les cellules x x x x
Commentaire x x x x
Exécuter via %run ou des workflows de notebook x x x x
Attacher et détacher des notebooks x x x
Commandes d’exécution x x x
Modifier les cellules x x
Modifier les autorisations x

Autorisations de fichier

Vous pouvez affecter cinq niveaux d’autorisation aux fichiers : Aucune autorisation, Peut lire, Peut exécuter, Peut modifier et Peut gérer. Ce tableau répertorie les capacités associées à chaque autorisation.

Possibilité Aucune autorisation Peut lire Peut exécuter Modification Gérer
Lire un fichier x x x x
Commentaire x x x x
Attacher et détacher un fichier (.py, .R, .sql, .scala) x x x
Exécuter un fichier de manière interactive (.py, .R, .sql, .scala) x x x
Modifier le fichier x x
Modifier les autorisations x

Autorisations de dépôt

Vous pouvez affecter cinq niveaux d’autorisation aux dépôts : Aucune autorisation, Peut lire, Peut exécuter, Peut modifier et Peut gérer. Le tableau ci-après liste les capacités associées à chaque autorisation.

Possibilité Aucune autorisation Peut lire Peut exécuter Modification Peut gérer
Lister les éléments d’un dépôt x x x x x
Afficher les éléments d’un dépôt x x x x
Cloner et exporter des éléments x x x x
Exécuter des notebooks dans un dépôt x x x
Modifier les notebooks dans un dépôt x x
Créer, importer et supprimer des éléments x
Déplacer et renommer des éléments x
Modifier les autorisations x

Configurer les autorisations de notebook, de dossier et de dépôt

Notes

Cette section explique comment gérer les autorisations avec l’interface utilisateur. Vous pouvez également utiliser l'API Permissions.

  1. Sélectionnez Autorisations dans le menu déroulant du notebook, du dossier ou du dépôt :

    Liste déroulante des autorisations d’accès aux dossiers

  2. Pour accorder des autorisations à un utilisateur ou à un groupe, sélectionnez dans la liste déroulante Ajouter des utilisateurs, des groupes et des principaux de service, sélectionnez l’autorisation, puis cliquez sur Ajouter :

    Ajouter un notebook et des utilisateurs de dossiers

    Pour changer les autorisations d’un utilisateur ou d’un groupe, sélectionnez la nouvelle autorisation dans la liste déroulante des autorisations :

    Changer les autorisations pour le notebook et le dossier

  3. Une fois que vous avez apporté des modifications dans la boîte de dialogue, Terminé est remplacé par Enregistrer les modifications et un bouton Annuler s’affiche. Cliquez sur Enregistrer les modifications ou Annuler.

Autorisations d’expérience MLflow

Vous pouvez attribuer quatre niveaux d’autorisation aux expériences MLflow : Aucune autorisation, Peut lire, Peut modifier et Peut gérer. Le tableau ci-après liste les capacités associées à chaque autorisation.

Notes

Vous ne pouvez pas définir directement des autorisations sur une expérience MLflow créée par un bloc-notes dans un dépôt Databricks. Les autorisations définies au niveau du Repo contrôlent l'accès aux expériences créées par les notebooks dans le Repo.

Possibilité Aucune autorisation Peut lire Peut modifier Peut gérer
Afficher les informations sur les exécutions, rechercher et comparer les exécutions x x x
Afficher, lister et télécharger des artefacts d’exécution x x x
Créer, supprimer et restaurer des exécutions x x
Journaliser les paramètres, les métriques et les étiquettes des exécutions x x
Journaliser les artefacts des exécutions x x
Modifier les étiquettes des expériences x x
Vider les exécutions et les expériences x
Accorder des autorisations x

Notes

  • Les autorisations d’expérience sont appliquées uniquement aux artefacts stockés dans des emplacements DBFS gérés par MLflow. Pour plus d’informations, consultez Autorisations d’artefact MLflow.
  • La création, la suppression et la restauration d’une expérience nécessitent l’accès Peut modifier ou Peut gérer au dossier contenant l’expérience.
  • Vous pouvez spécifier l’autorisation Peut exécuter pour les expériences. Elle est appliquée de la même façon que l’autorisation Peut modifier.

Configurer les autorisations d’expérience MLflow

Vous pouvez configurer des autorisations d’expérience MLflow à partir de la page des expériences, de la page d’une expérience ou de l’espace de travail.

Configurer des autorisations d’expérience MLflow à partir de la page des expériences

Vous pouvez modifier les autorisations d’une expérience dont vous êtes le propriétaire à partir de la page des expériences. Cliquez sur Icône trois boutons dans la colonne Actions et sélectionnez Autorisations.

Configurer les autorisations d’expérience MLflow à partir de la page d’expérience

Tous les utilisateurs de votre compte appartiennent au groupe all users. Les administrateurs appartiennent au groupe admins, qui dispose des autorisations de gestion sur tous les objets.

Notes

Les autorisations que vous définissez dans cette boîte de dialogue s’appliquent au notebook qui correspond à cette expérience.

  1. Cliquez sur Partager.

    Bouton Autorisations de la page d’expérience

  2. Dans la boîte de dialogue, cliquez sur la liste déroulante Sélectionner un utilisateur, un groupe ou un principal du service..., puis sélectionnez un utilisateur, un groupe ou un principal de service.

    Boîte de dialogue Paramètres des autorisations

  3. Sélectionnez une autorisation dans la liste déroulante des autorisations.

  4. Cliquez sur Add.

  5. Si vous voulez supprimer une autorisation, cliquez sur x pour cet utilisateur, ce groupe ou ce principal de service.

    supprimer l’autorisation

  6. Cliquez sur Enregistrer ou sur Annuler.

Configurer les autorisations d’expérience MLflow à partir de l’espace de travail

  1. Pour ouvrir la boîte de dialogue des autorisations, sélectionnez Autorisations dans le menu déroulant de l’expérience.

    Liste déroulante des autorisations d’expérience de l’espace de travail

  2. Accordez ou supprimez des autorisations. Tous les utilisateurs de votre compte appartiennent au groupe tous les utilisateurs. Les administrateurs appartiennent au groupe admins, qui dispose des autorisations Peut gérer sur tous les éléments.

    Pour accorder des permissions, sélectionnez le menu déroulant Sélectionner un utilisateur, un groupe ou un principal de service, puis l’autorisation et cliquez sur Ajouter :

    Ajouter des utilisateurs de l’expérience MLflow

    Pour modifier des autorisations existantes, sélectionnez la nouvelle autorisation dans la liste déroulante des autorisations :

    Changer les autorisations de l’expérience MLflow

    Pour supprimer une autorisation, cliquez sur x pour cet utilisateur, ce groupe ou ce principal de service.

  3. Après avoir apporté des modifications dans la boîte de dialogue, cliquez sur Enregistrer ou Annuler.

Autorisations d’artefact MLflow

Chaque expérience MLflow a un emplacement d’artefact utilisé pour stocker les artefacts journalisés dans les exécutions MLflow. À compter de MLflow 1.11, les artefacts sont stockés par défaut dans un sous-répertoire de DBFS (Databricks File System) géré par MLflow. Les autorisations d’expérience MLflow s’appliquent aux artefacts stockés dans ces emplacements gérés, qui ont le préfixe dbfs:/databricks/mlflow-tracking. Pour télécharger ou journaliser un artefact, vous devez disposer du niveau d’accès approprié à l’expérience MLflow associée.

Notes

  • Les artefacts stockés dans les emplacements gérés par MLflow ne sont accessibles qu'à l'aide du client MLflow (version 1.9.1 ou version ultérieure), disponible pour Python, Java et R. D'autres mécanismes d'accès, tels que dbutils et l'API DBFS, ne sont pas pris en charge pour les emplacements gérés par MLflow.
  • Vous pouvez également spécifier votre propre emplacement d’artefacts lors de la création d’une expérience MLflow. Les contrôles d’accès aux expériences ne sont pas appliqués sur les artefacts stockés en dehors du répertoire DBFS par défaut géré par MLflow.

Autorisations de modèle MLflow

Vous pouvez attribuer six niveaux d’autorisation aux modèles MLflow inscrits dans le registre de modèles MLflow : Aucune autorisation, Peut lire, Peut modifier, Peut gérer les versions de préproduction, Peut gérer les versions de production et Peut gérer. Le tableau ci-après liste les capacités associées à chaque autorisation.

Notes

Une version de modèle hérite des autorisations de son modèle parent ; vous ne pouvez pas définir d’autorisations pour les versions de modèle.

Possibilité Aucune autorisation Peut lire Peut modifier Peut gérer les versions de préproduction Peut gérer les versions de production Peut gérer
Créer un modèle x x x x x x
Afficher les détails du modèle, les versions, les demandes de transition de phase, les activités et les URI de téléchargement d’artefacts x x x x x
Demander une transition de phase pour une version de modèle x x x x x
Ajouter une version à un modèle x x x x
Mettre à jour la description d’un modèle et d’une version x x x x
Ajouter ou modifier des étiquettes pour un modèle ou une version de modèle x x x x
Effectuer la transition d’une version de modèle entre des phases x (entre Aucun, Archivé et Préproduction) x x
Approuver ou rejeter une demande de transition de phase pour une version de modèle x (entre Aucun, Archivé et Préproduction) x x
Annuler une demande de transition de phase pour une version de modèle (voir Remarque) x
Modifier les autorisations x
Renommer un modèle x
Supprimer un modèle et des versions de modèle x

Notes

Le créateur d’une demande de transition de phase peut aussi annuler cette demande.

Autorisations de modèle MLflow par défaut

  • Indépendamment du contrôle d’accès aux objets d’espace de travail, les autorisations suivantes existent :
    • Tous les utilisateurs ont l’autorisation de créer un modèle inscrit.
    • Tous les administrateurs de l'espace de travail disposent de l'autorisation Gérer pour tous les modèles.
  • Quand le contrôle d’accès aux objets d’espace de travail est désactivé, les autorisations suivantes existent :
    • Tous les utilisateurs disposent de l’autorisation Gérer sur tous les modèles.
  • Quand le contrôle d’accès aux objets d’espace de travail est activé, les autorisations par défaut suivantes existent :
    • Tous les utilisateurs disposent de l’autorisation Gérer sur les modèles créés par l’utilisateur.
    • Les utilisateurs non-administrateurs n’ont pas d’autorisations sur les modèles qu’ils n’ont pas créés.

Configurer les autorisations de modèle MLflow

Tous les utilisateurs de votre compte appartiennent au groupe all users. Les administrateurs de l'espace de travail appartiennent au groupe admins qui dispose des autorisations Gérer sur tous les objets.

Notes

Cette section explique comment gérer les autorisations avec l’interface utilisateur. Vous pouvez également utiliser l'API Permissions.

  1. Cliquez sur Icône ModèlesModèles dans la barre latérale.

  2. Cliquez sur un nom de modèle.

  3. Cliquez sur Autorisations.

    Bouton Autorisations de modèle

  4. Dans la boîte de dialogue, cliquez sur la liste déroulante Sélectionner un utilisateur, un groupe ou un principal du service..., puis sélectionnez un utilisateur, un groupe ou un principal de service.

    Changer les autorisations de modèle MLflow

  5. Sélectionnez une autorisation dans la liste déroulante des autorisations.

  6. Cliquez sur Add.

  7. Cliquez sur Enregistrer ou sur Annuler.

Configurer les autorisations pour tous les modèles MLflow dans le registre de modèles

Les administrateurs d’espace de travail peuvent définir des niveaux d’autorisation sur tous les modèles pour des utilisateurs ou des groupes spécifiques dans le registre de modèles avec l’interface utilisateur.

  1. Cliquez sur Icône Modèles dans la barre latérale.

  2. Cliquez sur Autorisations.

    Liste déroulante des autorisations du modèle de registre

  3. Suivez les étapes indiquées dans Configurer les autorisations de modèle MLflow, à partir de l’étape 4.

    Quand vous accédez à une page de modèle spécifique, les autorisations définies au niveau du registre sont marquées « héritées ».

    Autorisations de modèle non héritées

Notes

Un utilisateur disposant de l’autorisation Peut gérer au niveau du registre peut changer les autorisations à l’échelle du registre pour tous les autres utilisateurs.

Autorisations d’artefact de modèle MLflow

Les fichiers de modèle de chaque version de modèle MLflow sont stockés dans un emplacement géré par MLflow, avec le préfixe dbfs:/databricks/mlflow-registry/.

Pour obtenir l’emplacement exact des fichiers pour une version de modèle, vous devez disposer d’un accès en lecture au modèle. Utilisez le point de terminaison d’API REST/api/2.0/mlflow/model-versions/get-download-uri.

Après avoir obtenu l'URI, vous pouvez utiliser l'API DBFS pour télécharger les fichiers.

Le client MLflow (pour Python, Java et R) offre plusieurs méthodes pratiques qui encapsulent ce workflow pour télécharger et charger le modèle, par exemple mlflow.<flavor>.load_model().

Notes

Les autres mécanismes d’accès, tels que dbutils et %fs, ne sont pas pris en charge pour les emplacements de fichiers gérés par MLflow.

Contrôle d’accès aux bibliothèques et aux travaux

Icône bibliothèque Tous les utilisateurs peuvent afficher les bibliothèques. Pour contrôler qui peut joindre des bibliothèques aux clusters, consultez Contrôle d’accès aux clusters.

Planifier des travaux – Icône de notebook Pour contrôler qui peut exécuter des travaux et afficher les résultats des exécutions de travaux, consultez Contrôle d’accès aux travaux.

Intégration de Terraform

Vous pouvez gérer les autorisations dans une configuration entièrement automatisée à l’aide du fournisseur Terraform Databricks et de databricks_permissions :

resource "databricks_group" "auto" {
    display_name = "Automation"
}
resource "databricks_group" "eng" {
    display_name = "Engineering"
}
resource "databricks_notebook" "this" {
    content_base64 = base64encode("# Welcome to your Python notebook")
    path = "/Production/ETL/Features"
    language = "PYTHON"
}
resource "databricks_permissions" "notebook_usage" {
    notebook_path = databricks_notebook.this.path
    access_control {
        group_name = "users"
        permission_level = "CAN_READ"
    }
    access_control {
        group_name = databricks_group.auto.display_name
        permission_level = "CAN_RUN"
    }
    access_control {
        group_name = databricks_group.eng.display_name
        permission_level = "CAN_EDIT"
    }
}

Conseil

Vous pouvez obtenir une liste des chemins d’accès des blocs-notes (et de leurs langues) pour un espace de travail à l’aide de databricks_notebook_paths.