Kontrola dostępu do zadań

Uwaga

Kontrola dostępu jest dostępna tylko w usłudze Azure Databricks Premium Plan.

Włączenie kontroli dostępu dla zadań umożliwia właścicielom zadań kontrolowanie, kto może wyświetlać wyniki zadania lub zarządzać uruchomieniami zadania. W tym artykule opisano poszczególne uprawnienia i sposób konfigurowania kontroli dostępu zadań.

Aby można było użyć kontroli dostępu do zadań, administrator usługi Azure Databricks musi włączyć go dla obszaru roboczego. Zobacz Włączanie kontroli dostępu zadań dla obszaru roboczego.

Uprawnienia zadania

Istnieją pięć poziomów uprawnień dla zadań: Brak uprawnień, Może wyświetlać, Zarządzać przebiegiem, Właścicielem i Może zarządzać. Administratorzy otrzymują domyślnie uprawnienie Może zarządzać i mogą przypisywać to uprawnienie do użytkowników niebędących administratorami.

Uwaga

Właściciel zadania można zmienić tylko przez administratora.

W tabeli wymieniono możliwości poszczególnych uprawnień.

Umiejętność (Ability) Brak uprawnień Może wyświetlać Może zarządzać przebiegiem Jest właścicielem Może zarządzać
Wyświetlanie szczegółów i ustawień zadania x x x x x
Wyświetlanie wyników, interfejsu użytkownika platformy Spark, dzienników przebiegu zadania x x x x
Wykonaj teraz x x x
Anuluj przebieg x x x
Edytowanie ustawień zadania x x
Modyfikowanie uprawnień x x
Usuwanie zadania x x
Zmienianie właściciela

Uwaga

  • Twórca zadania ma uprawnienie Właściciel .
  • Zadanie nie może mieć więcej niż jednego właściciela.
  • Zadanie nie może mieć grupy jako właściciela.
  • Zadania wyzwalane za pomocą polecenia Uruchom teraz przyjmują uprawnienia właściciela zadania , a nie użytkownika, który wydał polecenie Uruchom teraz. Na przykład nawet jeśli zadanie A jest skonfigurowane do uruchamiania w istniejącym klastrze dostępnym tylko dla właściciela zadania (użytkownika A), użytkownik (użytkownik B) z uprawnieniem Can Manage Run może uruchomić nowy przebieg zadania.
  • Wyniki uruchamiania notesu można wyświetlić tylko wtedy, gdy masz uprawnienie Może wyświetlić lub wyższe w zadaniu. Dzięki temu kontrola dostępu zadań może być nienaruszona, nawet jeśli notes zadań został zmieniony, przeniesiony lub usunięty.
  • Kontrola dostępu do zadań ma zastosowanie do zadań wyświetlanych w interfejsie użytkownika zadań usługi Databricks i ich uruchomieniach. Nie ma zastosowania do przebiegów zduplikowanych przez przepływy pracy notesu lub przebiegi przesyłane przez interfejs API , którego listy ACL są powiązane z notesami.

Konfigurowanie uprawnień zadania

Uwaga

W tej sekcji opisano sposób zarządzania uprawnieniami przy użyciu interfejsu użytkownika. Możesz również użyć interfejsu API uprawnień 2.0.

Musisz mieć uprawnienie Może zarządzać właścicielem lub jest właścicielem .

  1. Przejdź do strony szczegółów zadania.

  2. Kliknij przycisk Edytuj uprawnienia w panelu Szczegóły zadania .

  3. W wyskakującym oknie dialogowym przypisz uprawnienia zadania za pośrednictwem menu rozwijanego obok nazwy użytkownika.

    Assign job permissions

  4. Kliknij pozycję Zapisz zmiany.

Integracja narzędzia Terraform

Uprawnienia można zarządzać w pełnej automatycznej konfiguracji przy użyciu dostawcy narzędzia Terraform usługi Databricks i 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"
  }
}