Contrôle d’accès aux travaux

Notes

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

L’activation du contrôle d’accès pour des travaux permet aux propriétaires de ceux-ci de contrôler qui peut consulter les résultats des travaux ou gérer leur exécution. Cet article décrit les autorisations individuelles et la manière de configurer le contrôle d'accès aux travaux.

Pour que vous puissiez utiliser le contrôle d’accès aux travaux, un administrateur Azure Databricks doit l’activer pour l’espace de travail. Consultez Activer le contrôle d’accès aux travaux pour votre espace de travail.

Autorisations de travaux

Il existe cinq niveaux d’autorisation pour les travaux : Aucune autorisation, Affichage, Gestion de l’exécution, Propriétaire et Gestion. Les administrateurs se voient accorder l’autorisation Gestion par défaut et peuvent attribuer cette autorisation à des utilisateurs non administrateurs.

Notes

Le propriétaire du travail ne peut être modifié que par un administrateur.

Ce tableau répertorie les capacités associées à chaque autorisation.

Capacité Aucune autorisation Can View Can Manage Run Est propriétaire Can Manage
Afficher les détails et paramètres du travail x x x x x
Afficher les résultats, l’interface utilisateur Spark et les journaux d’exécution d’un travail x x x x
Exécuter maintenant x x x
Annuler l’exécution x x x
Modifier les paramètres d’un travail x x
Modifier les autorisations x x
Supprimer le travail x x
Modifier le propriétaire

Notes

  • Le créateur d’un travail dispose de l’autorisation Propriétaire.
  • Un travail ne peut avoir qu’un seul propriétaire.
  • Un travail ne peut pas avoir un groupe en tant que propriétaire.
  • Les travaux déclenchés via la commande Exécuter maintenant présupposent les autorisations du propriétaire du travail, non celles de l’utilisateur qui a émis la commande Exécuter maintenant. Par exemple, même si le travail A est configuré pour s’exécuter sur un cluster existant accessible uniquement au propriétaire du travail (utilisateur A), un utilisateur (utilisateur B) titulaire de l’autorisation Gestion de l’exécution peut démarrer une nouvelle exécution du travail.
  • Vous pouvez afficher les résultats de l’exécution d’un notebook uniquement si vous disposez de l’autorisation Affichage ou d’une autorisation de niveau supérieur sur le travail. Cela permet que le contrôle d’accès aux travaux reste intact même si le notebook du travail a été renommé, déplacé ou supprimé.
  • Le contrôle d’accès aux travaux s’applique aux travaux affichés dans l’interface utilisateur des travaux Databricks et à leur exécution. Il ne s’applique pas aux exécutions générées par des du code modularisé ou lié dans des notebooks ou aux exécutions soumises par une API dont les listes de contrôle d’accès sont fournies avec les notebooks.

Configurer les autorisations de travaux

Notes

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

Vous devez disposer de l’autorisation Gestion ou Propriétaire.

  1. Accédez à la page des détails d’un travail.

  2. Cliquez sur le bouton Modifier les autorisations dans le volet Détails du travail.

  3. Dans la boîte de dialogue contextuelle, attribuez des autorisations de travaux via le menu déroulant en regard du nom d’un utilisateur.

    Assign job permissions

  4. Cliquez sur Enregistrer les modifications.

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"
}

data "databricks_spark_version" "latest" {}

data "databricks_node_type" "smallest" {
  local_disk = true
}

resource "databricks_job" "this" {
  name                = "Featurization"
  max_concurrent_runs = 1

  new_cluster {
    num_workers   = 300
    spark_version = data.databricks_spark_version.latest.id
    node_type_id  = data.databricks_node_type.smallest.id
  }

  notebook_task {
    notebook_path = "/Production/MakeFeatures"
  }
}

resource "databricks_permissions" "job_usage" {
  job_id = databricks_job.this.id

  access_control {
    group_name       = "users"
    permission_level = "CAN_VIEW"
  }

  access_control {
    group_name       = databricks_group.auto.display_name
    permission_level = "CAN_MANAGE_RUN"
  }

  access_control {
    group_name       = databricks_group.eng.display_name
    permission_level = "CAN_MANAGE"
  }
}