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>
Partagé. Vous pouvez accorder l’autorisation Peut gérer sur les notebooks et les dossiers en les déplaçant vers le dossier
Partagé.
- Tous les utilisateurs disposent de l’autorisation Peut gérer sur les objets créés par l’utilisateur.
- Tous les utilisateurs disposent de l’autorisation Peut gérer sur les éléments du dossier Espace de travail>
- 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
Documents et
Temp, 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.
- Dossier Espace de travail
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.
Sélectionnez Autorisations dans le menu déroulant du notebook, du dossier ou du dépôt :
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 :
Pour changer les autorisations d’un utilisateur ou d’un groupe, sélectionnez la nouvelle autorisation dans la liste déroulante des autorisations :
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 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.
Cliquez sur Partager.
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.
Sélectionnez une autorisation dans la liste déroulante des autorisations.
Cliquez sur Add.
Si vous voulez supprimer une autorisation, cliquez sur
pour cet utilisateur, ce groupe ou ce principal de service.
Cliquez sur Enregistrer ou sur Annuler.
Configurer les autorisations d’expérience MLflow à partir de l’espace de travail
Pour ouvrir la boîte de dialogue des autorisations, sélectionnez Autorisations dans le menu déroulant de l’expérience.
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 :
Pour modifier des autorisations existantes, sélectionnez la nouvelle autorisation dans la liste déroulante des autorisations :
Pour supprimer une autorisation, cliquez sur
pour cet utilisateur, ce groupe ou ce principal de service.
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.
Cliquez sur
Modèles dans la barre latérale.
Cliquez sur un nom de modèle.
Cliquez sur Autorisations.
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.
Sélectionnez une autorisation dans la liste déroulante des autorisations.
Cliquez sur Add.
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.
Cliquez sur
dans la barre latérale.
Cliquez sur Autorisations.
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 ».
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
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.
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.