Verwalten von Identitäten, Berechtigungen und Privilegien für Pipelines

Identitäten, Berechtigungen und Privilegien steuern, wer die Pipelines und die von ihnen erzeugten Daten ausführen, verwalten und abfragen kann.

Databricks empfiehlt die Verwendung des Unity-Katalogs für alle neuen Pipelines. Standardmäßig können materialisierte Ansichten und Streamingtabellen, die mit Unity-Katalog konfiguriert sind, nur vom Pipelinebesitzer abgefragt werden. Siehe Verwenden des Unity-Katalogs mit Pipelines.

Wenn Ihre Pipelines Datasets im Legacy-Hive-Metastore veröffentlichen, lesen Sie Verwenden Sie Lakeflow Spark Deklarative Pipelines mit dem Legacy-Hive-Metastore.

Allgemeine bewährte Methoden für Identitätskonfigurationen finden Sie unter "Bewährte Methoden für Identitäten".

Welche Identität wird für Pipelineupdates verwendet?

Pipelines verarbeiten Updates mithilfe der Identität des Pipelinebesitzers. Weisen Sie einen neuen Pipelinebesitzer zu, um die Identität zu ändern, die zum Ausführen der Pipeline verwendet wird. Siehe Ändern des Pipelinebesitzers.

Databricks empfiehlt, einen Dienstprinzipal als Pipelinebesitzer festzulegen. Siehe Dienstprinzipale.

Wer kann ein Pipeline-Update ausführen?

Pipelineupdates können von jedem Benutzer- oder Dienstprinzipal mit CAN RUN-, CAN MANAGE- oder IS OWNER-Berechtigungen ausgeführt werden.

Wer kann eine Pipeline und deren Ausgabe anzeigen?

Um eine Pipeline zu öffnen und deren Details anzuzeigen, benötigt ein Benutzer mindestens die CAN VIEW Berechtigung für die Pipeline. Die vollständige Liste der Pipelineberechtigungsstufen und die fähigkeiten, die jeweils gewährt werden, finden Sie unter Lakeflow Spark Declarative Pipelines ACLs.

Um die Pipeline anzuzeigen, die einer Streamingtabelle oder materialisierten Ansicht zugrunde liegt, benötigt ein Benutzer ohne Administratorrechte zusätzlich zu seinen Berechtigungen für die Pipeline auch das REFRESH-Recht für die Streamingtabelle oder materialisierte Ansicht. Ohne die Berechtigung REFRESH wird unter der Pipeline-URL Pipeline nicht verfügbar angezeigt.

Konfigurieren von Pipelineberechtigungen

Sie müssen über die Berechtigung CAN MANAGE oder IS OWNER für die Pipeline verfügen, um Berechtigungen zu verwalten. Pipelines verwenden Zugriffssteuerungslisten (ACCESS Control Lists, ACLs), um Berechtigungen zu steuern. Eine vollständige Liste der Berechtigungen und ihrer Fähigkeiten finden Sie unter Lakeflow Spark Declarative Pipelines ACLs.

  1. Klicken Sie in der Randleiste auf Jobs und Pipelines.
  2. Wählen Sie den Namen einer Pipeline aus.
  3. Klicken Sie auf Freigeben. Das Dialogfeld "Berechtigungseinstellungen " wird angezeigt.
  4. Klicken Sie auf "Benutzer", "Gruppe" oder "Dienstprinzipal auswählen". Wählen Sie einen Benutzer, eine Gruppe oder einen Dienstprinzipal aus.
  5. Wählen Sie im Dropdownmenü „Berechtigung“ eine Berechtigung aus.
  6. Klicken Sie auf Hinzufügen.
  7. Klicken Sie auf "Speichern".

Ändern des Pipelinebesitzers

Der Besitzer der Pipeline ist die Identität, unter der Aktualisierungen der Pipeline ausgeführt werden. Das Ändern des Besitzers ändert die Identität, die für zukünftige Updates verwendet wird.

Um den Besitzer einer Pipeline zu ändern, müssen Sie sowohl ein Metastoreadministrator als auch ein Arbeitsbereichsadministrator sein. Ändern Sie den Besitzer mithilfe der Benutzeroberfläche oder der REST-API.

Verwende die Benutzeroberfläche

  1. Klicken Sie in der Randleiste auf Jobs und Pipelines.
  2. Wählen Sie den Namen der Pipeline aus.
  3. Klicken Sie auf Freigeben. Das Dialogfeld "Berechtigungseinstellungen " wird angezeigt.
  4. Löschen Sie den aktuellen Besitzer, und wählen Sie dann den neuen Besitzer aus. Der Besitzer kann ein Benutzer oder ein Dienstprinzipal sein. Databricks empfiehlt einen Serviceprinzipal. Siehe Dienstprinzipale.
  5. Klicken Sie auf "Speichern".

Verwenden der REST-API

Wenn das Besitzersteuerelement in der Benutzeroberfläche nicht verfügbar ist, z. B. für einige intern verwaltete Pipelines, ändern Sie den Besitzer mit dem REST-API-Vorgang " Pipelineberechtigungen festlegen ". Geben Sie die user_name des neuen Besitzers (oder service_principal_name für einen Serviceprinzipal) mit der Berechtigungsstufe IS_OWNER an:

{
  "access_control_list": [
    {
      "user_name": "new.owner@example.com",
      "permission_level": "IS_OWNER"
    }
  ]
}

Wenn kein Benutzer sowohl ein Metastore-Administrator als auch ein Arbeitsbereichsadministrator ist

Wenn niemand in Ihrer Organisation sowohl ein Metastore-Administrator als auch ein Arbeitsbereichsadministrator ist, wenden Sie sich an Ihren Databricks-Vertreter, um den Pipelinebesitzer zu ändern.

Zulassen, dass Nicht-Administratorbenutzer die Treiberprotokolle aus einer Unity-Katalog-fähigen Pipeline anzeigen können

Standardmäßig können nur der Pipelinebesitzer und arbeitsbereichsadministratoren die Treiberprotokolle aus dem Cluster anzeigen, in dem eine Unity-Katalog-fähige Pipeline ausgeführt wird. Sie können den Zugriff auf die Treiberprotokolle für jeden Benutzer mit DEN Berechtigungen CAN MANAGE, CAN VIEW oder CAN RUN aktivieren, indem Sie dem configuration Objekt in den Pipelineeinstellungen den folgenden Spark-Konfigurationsparameter hinzufügen:

{
  "configuration": {
    "spark.databricks.acl.needAdminPermissionToViewLogs": "false"
  }
}