Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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, siehe Lakeflow-Pipelines mit dem Legacy Hive-Metastore verwenden.
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 unter Verwendung der Identität des ausführenden Benutzers. Standardmäßig ist der ausführende Benutzer der Ersteller der Pipeline, aber Sie können ihn zu einem anderen Benutzer oder einem Dienstprinzipal ändern. Siehe Den ausführenden Benutzer festlegen.
Databricks empfiehlt, den ausführenden Benutzer auf einen Dienstprinzipal festzulegen, sodass Pipelineupdates nicht an das Konto eines einzelnen Benutzers gebunden sind. Siehe Dienstprinzipale.
Gewähren Sie diesem Service Principal nur die Unity Catalog-Berechtigungen, die die Pipeline benötigt, anstatt weitreichenden Zugriff auf Kontoebene. Zum Beispiel USE CATALOG für den Zielkatalog, USE SCHEMA sowie die entsprechende CREATE-Berechtigung (CREATE MATERIALIZED VIEW oder CREATE TABLE) für das Ausgabeschema und SELECT für dessen Quellen erteilen. Für den vollständigen Satz der Privilegien, die für eine Veröffentlichung in Unity Catalog erforderlich sind, siehe Anforderungen.
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-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-Pipelines ACLs.
- Klicken Sie in der Randleiste auf Jobs und Pipelines.
- Wählen Sie den Namen einer Pipeline aus.
- Klicken Sie auf Freigeben. Das Dialogfeld "Berechtigungseinstellungen " wird angezeigt.
- Klicken Sie auf "Benutzer", "Gruppe" oder "Dienstprinzipal auswählen". Wählen Sie einen Benutzer, eine Gruppe oder einen Dienstprinzipal aus.
- Wählen Sie im Dropdownmenü „Berechtigung“ eine Berechtigung aus.
- Klicken Sie auf Hinzufügen.
- Klicken Sie auf "Speichern".
Ändern des Pipelinebesitzers
Standardmäßig ist der Pipelinebesitzer auch der ausführende Benutzer, von dem Pipelineupdates ausgeführt werden. Das Ändern des Besitzers ändert die Identität, die für zukünftige Updates verwendet wird.
Wenn Sie die Identität ändern möchten, von der Pipelineaktualisierungen ausgeführt werden, ohne den Besitzer zu ändern, legen Sie stattdessen den ausführenden Benutzer fest. Siehe Den ausführenden Benutzer festlegen.
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
- Klicken Sie in der Randleiste auf Jobs und Pipelines.
- Wählen Sie den Namen der Pipeline aus.
- Klicken Sie auf Freigeben. Das Dialogfeld "Berechtigungseinstellungen " wird angezeigt.
- 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.
- 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"
}
}
Referenzzugangsdaten aus einem geheimen Rahmen
Programmieren Sie niemals API-Schlüssel, Datenbankpasswörter oder Token in Ihrem Pipeline-Quellcode. Speichere sie in einem geheimen Bereich und verweise zur Laufzeit darauf:
api_token = dbutils.secrets.get(scope="orders-pipeline-secrets", key="external_api_token")
Azure Databricks schwärzt automatisch geheime Werte ([REDACTED]) überall dort, wo sie sonst in ein Notebook oder Log-Ausgabe gedruckt würden, und man kann mit einer geheimen ACL einschränken, wer einen Scope lesen darf. Siehe Verwaltung von Geheimnissen.
Schützen Sie sensible Daten in der Pipeline-Ausgabe
Für Spalten, die personenbezogene Daten (PII) enthalten, wenden Sie Unity Catalog Governance auf die Tabellen an, die Ihre Pipeline erzeugt, anstatt benutzerdefinierte Maskierungslogik in Ihren Pipeline-Code zu schreiben:
- Spaltenmasken schwärzen oder hashen den Wert einer Spalte basierend auf der Gruppenmitgliedschaft des anfragenden Nutzers.
- Zeilenfilter schränken ein, welche Zeilen ein Nutzer sehen kann.
Durch die Anwendung dieser Kontrollen auf die Unity Catalog-Tabelle werden personenbezogene Daten für alle Nutzer dieser Tabelle durchgängig geschützt, einschließlich in Dashboards, Ad-hoc-Abfragen und nachgelagerten Jobs, nicht nur innerhalb der Pipeline. Siehe Zeilenfilter und Spaltenmasken. Als weiteren Schritt sollten Sie die personenbezogene Daten auf bestimmte Spalten oder Tabellen in einem klar benannten Schema beschränken, damit Zugriffszuteilungen und Audits leichter zu bedenken sind.