Freigeben über


Autorisierender Zugriff auf Azure Databricks-Ressourcen

In diesem Thema werden die grundlegenden Ansätze zum Erstellen gesicherter Azure Databricks CLI- oder REST-API-Aufrufe mithilfe von Azure Databricks-Kontoanmeldeinformationen wie Benutzerkonten oder Dienstprinzipalen erläutert.

Autorisierung für die Azure Databricks CLI und APIs

Um auf eine Azure Databricks-Ressource mit den Databricks CLI- oder REST-APIs zuzugreifen, müssen Clients die Verwendung eines Azure Databricks-Kontos autorisieren. Dieses Konto muss über Berechtigungen für den Zugriff auf die Ressource verfügen, die von Ihrem Azure Databricks-Administrator oder einem Benutzerkonto mit Administratorrechten konfiguriert werden kann.

Es gibt zwei Arten von Konten, die Sie verwenden können, je nachdem, wie Sie auf Ihre Azure Databricks-Ressourcen zugreifen möchten:

  • Benutzerkonto: Verwenden Sie dies, um Azure Databricks CLI-Befehle oder REST-API-Aufrufe interaktiv einzugeben.
  • Dienstprinzipal: Verwenden Sie dies, um Azure Databricks CLI-Befehle oder REST-API-Aufrufe ohne menschliche Interaktion zu automatisieren.

Nachdem Sie sich für den Azure Databricks-Kontotyp entschieden haben, müssen Sie ein Zugriffstoken erwerben, das die Anmeldeinformationen des Kontos darstellt. Sie stellen dieses Zugriffstoken bereit, wenn Sie auf die Ressourcen des Kontos in Ihren Skripts oder Code oder in interaktiven Sitzungen zugreifen.

  1. Wenn Sie Azure Databricks verwenden, können Sie auch einen MS Entra-Dienstprinzipal einsetzen, um den Zugriff auf Ihr Azure Databricks-Konto oder Ihren Arbeitsbereich zu autorisieren. Databricks empfiehlt jedoch, einen Databricks-Dienstprinzipal mit der von uns bereitgestellten OAuth-Autorisierung anstelle der MS Entra-Dienstprinzipalautorisierung zu verwenden. Dies liegt daran, dass die Autorisierung von Databricks OAuth-Zugriffstoken verwendet, die robuster sind, wenn sie nur mit Azure Databricks autorisiert werden.

Weitere Informationen zur Verwendung eines MS Entra-Dienstprinzipals für den Zugriff auf Databricks-Ressourcen finden Sie unter MS Entra-Dienstprinzipal-Authentifizierung.

Abrufen eines Zugriffstokens

Die Anmeldeinformationen Ihres Kontos werden durch ein sicheres Zugriffstoken dargestellt, das Sie direkt oder indirekt für den CLI-Befehl oder API-Aufruf bereitstellen.

Um einen Databricks CLI-Befehl oder eine API-Anforderung sicher auszuführen, die autorisierten Zugriff auf ein Konto oder einen Arbeitsbereich erfordert, müssen Sie ein Zugriffstoken basierend auf gültigen Azure Databricks-Kontoanmeldeinformationen bereitstellen.

In der folgenden Tabelle sind die Autorisierungsmethoden aufgeführt, die für Ihr Azure Databricks-Konto verfügbar sind.

Azure Databricks-Autorisierungsmethoden

Da Azure Databricks-Tools und SDKs mit einer oder mehreren unterstützten Azure Databricks-Autorisierungsmethoden funktionieren, können Sie die beste Autorisierungsmethode für Ihren Anwendungsfall auswählen. Ausführliche Informationen finden Sie in der Tool- oder SDK-Dokumentation in Local development tools.

Azure Databricks-Benutzer benötigen möglicherweise Zugriff auf Azure-spezifische Ressourcen, die nicht direkt unter Ihrem Databricks-Konto verwaltet werden. Die Methoden für den Zugriff auf diese Ressourcen sind auch in dieser Tabelle enthalten. Für den Azure-Ressourcenzugriff verwenden Sie eine Azure Managed Service Identity (MSI) oder eine MS Entra-ID (abhängig von Ihrem Szenario) und nicht Ihre Azure Databricks-Kontoanmeldeinformationen.

Methode Beschreibung Anwendungsfall
Databricks OAuth für Dienstprinzipale Kurzlebige OAuth-Token für Dienstprinzipale. Unbeaufsichtigte Autorisierungsszenarien, z. B. vollständig automatisierte und CI/CD-Workflows.
Databricks OAuth für Benutzer und Benutzerinnen Kurzlebige OAuth-Token für Benutzer. Teilnehmer-gesteuerte Autorisierungsszenarien, bei denen Sie Ihren Webbrowser oder eine andere interaktive Methode nutzen, um die Autorisierung bei Databricks durchzuführen, wenn Sie dazu aufgefordert werden.
Persönliche Zugriffstoken (PAT) für Databricks Kurzlebige oder langlebige Token für Benutzer oder Dienstprinzipale. Verwenden Sie dies nur in Fällen, in denen Ihr Zieltool OAuth nicht unterstützt.
Azure-verwaltete Dienstidentitätsautorisierung Microsoft Entra ID-Token Azure verwaltete Identitäten. Verwendung nur mit Azure-Ressourcen, die verwaltete Identitäten unterstützen, z. B. virtuelle Azure-Computer.
Microsoft Entra ID-Dienstprinzipalauthentifizierung Microsoft Entra ID-Token für Microsoft Entra ID-Dienstprinzipale. Nur mit Azure-Ressourcen verwenden, die Microsoft Entra ID-Tokens unterstützen und keine verwalteten Identitäten unterstützen, wie z. B. Azure DevOps.
Azure CLI-Autorisierung Microsoft Entra ID-Token für Benutzer oder Microsoft Entra ID-Dienstprinzipale. Dient zum Autorisieren des Zugriffs auf Azure-Ressourcen und Azure Databricks mithilfe der Azure CLI.
Microsoft Entra ID-Benutzerautorisierung Microsoft Entra ID-Token für Benutzer. Verwendung nur mit Azure-Ressourcen, die nur Microsoft Entra-ID-Token unterstützen. Databricks empfiehlt nicht, Microsoft Entra ID-Token für Azure Databricks-Benutzer*innen manuell zu erstellen.

Welche Autorisierungsoption sollte ich auswählen?

Azure Databricks bietet zwei Optionen für die Autorisierung oder Authentifizierung mit einem Zugriffstoken:

  • OAuth 2.0-basierte Zugriffstoken.
  • Persönliche Zugriffstoken (PATs).

Hinweis

Azure Databricks empfiehlt dringend, OAuth über PATs für die Autorisierung zu verwenden, da OAuth-Token standardmäßig automatisch aktualisiert werden und die direkte Verwaltung des Zugriffstokens nicht erforderlich ist, um Ihre Sicherheit vor Token-Entführer und unerwünschtem Zugriff zu verbessern.

Da OAuth das Zugriffstoken für Sie erstellt und verwaltet, stellen Sie eine OAuth-Tokenendpunkt-URL, eine Client-ID und einen geheimen Schlüssel bereit, den Sie aus Ihrem Azure Databricks-Arbeitsbereich generieren, anstatt direkt eine Tokenzeichenfolge bereitzustellen. Wählen Sie PATs nur aus, wenn Sie ein Drittanbietertool oder einen Dienst integrieren, das nicht von der einheitlichen Azure Databricks-Clientauthentifizierung unterstützt wird oder keine OAuth-Unterstützung hat.

Wie kann ich OAuth verwenden, um den Zugriff auf Azure Databricks-Ressourcen zu autorisieren?

Azure Databricks bietet eine einheitliche Clientauthentifizierung, die Sie bei der Autorisierung unterstützt, indem Sie einen Standardsatz von Umgebungsvariablen verwenden, die Sie auf bestimmte Anmeldeinformationswerte festlegen können. Dadurch können Sie einfacher und sicherer arbeiten, da diese Umgebungsvariablen spezifisch für die Umgebung sind, die die Azure Databricks-CLI-Befehle ausführt oder Azure Databricks-APIs aufruft.

  • Für die Autorisierung von Benutzerkonten wird der Authentifizierungsteil von Azure Databricks OAuth – die Erstellung und Verwaltung von Zugriffstoken – für Sie mit Databricks Client unified authenticationbehandelt, solange die Tools und SDKs ihren Standard implementieren. Wenn dies nicht der Fall ist, können Sie manuell ein OAuth-Codeüberprüfungs- und Abfragepaar generieren, um sie direkt in Ihren Azure Databricks CLI-Befehlen und API-Anforderungen zu verwenden. Siehe Schritt 1: Generieren eines Paars für OAuth-Codeüberprüfung und -Codeabfrage.
  • Für die Dienstprinzipalautorisierung erfordert Azure Databricks OAuth, dass der Aufrufer Clientanmeldeinformationen zusammen mit einer Tokenendpunkt-URL bereitstellen, in der die Anforderung autorisiert werden kann. (Dies wird für Sie gehandhabt, wenn Sie Azure Databricks-Tools und -SDKs verwenden, die die einheitliche Clientauthentifizierung von Databricks unterstützen.) Die Anmeldedaten enthalten eine eindeutige Client-ID und einen geheimen Clientschlüssel. Der Client, bei dem es sich um den Databricks-Dienstprinzipal handelt, der Ihren Code ausführt, muss Databricks-Arbeitsbereichen zugewiesen werden. Nachdem Sie den Arbeitsbereichen den Dienstprinzipal zugewiesen haben, auf die er zugreifen wird, erhalten Sie eine Client-ID und einen geheimen Clientschlüssel, den Sie mit bestimmten Umgebungsvariablen festlegen.

Dies sind die folgenden Umgebungsvariablen:

Umgebungsvariable Beschreibung
DATABRICKS_HOST Diese Umgebungsvariable wird auf die URL Ihrer Azure Databricks-Kontokonsole (http://accounts.cloud.databricks.com) oder ihrer Azure Databricks-Arbeitsbereichs-URL (https://{workspace-id}.cloud.databricks.com) festgelegt. Wählen Sie einen Host-URL-Typ basierend auf dem Typ der Operationen aus, die Sie in Ihrem Code ausführen werden. Wenn Sie insbesondere Azure Databricks-CLI-Befehle auf Kontoebene oder REST-API-Anforderungen verwenden, legen Sie diese Variable auf Ihre Azure Databricks-Konto-URL fest. Wenn Sie Azure Databricks-CLI-Befehle auf Arbeitsbereichsebene oder REST-API-Anforderungen verwenden, verwenden Sie Ihre Azure Databricks-Arbeitsbereichs-URL.
DATABRICKS_ACCOUNT_ID Wird für Azure Databricks-Kontovorgänge verwendet. Dies ist Ihre Azure Databricks-Konto-ID. Zum Abrufen siehe Auffinden Ihrer Konto-ID.
DATABRICKS_CLIENT_ID (Nur Dienstprinzipal OAuth) Die Client-ID, die Sie beim Erstellen des Dienstprinzipals zugewiesen haben.
DATABRICKS_CLIENT_SECRET (Nur Dienstprinzipal OAuth) Der geheime Clientschlüssel, den Sie beim Erstellen des Dienstprinzipals generiert haben.

Sie können diese direkt oder über die Verwendung eines Databricks-Konfigurationsprofils (.databrickscfg) auf Ihrem Client-Computer festlegen.

Um ein OAuth-Zugriffstoken zu verwenden, muss Ihr Azure Databricks-Arbeitsbereich- oder Kontoadministrator Ihrem Benutzerkonto oder Dienstprinzipal die CAN USE-Berechtigung für die Konto- und Arbeitsbereichsfeatures erteilt haben, auf die Ihr Code zugreift.

Weitere Informationen zum Konfigurieren der OAuth-Autorisierung für Ihren Client und zur Überprüfung von Cloud-Anbieterspezifischen Autorisierungsoptionen finden Sie unter Einheitliche Client-Authentifizierung.

Authentifizierung für Dienste und Tools von Drittanbietern

Wenn Sie Code schreiben, der auf Dienste, Tools oder SDKs von Drittanbietern zugreift, müssen Sie die vom Drittanbieter bereitgestellten Authentifizierungs- und Autorisierungsmechanismen verwenden. Wenn Sie jedoch einem Drittanbietertool, SDK oder Dienst Zugriff auf Ihre Azure Databricks-Konto- oder Arbeitsbereichsressourcen gewähren müssen, bietet Databricks folgende Unterstützung:

Azure Databricks-Konfigurationsprofile

Ein Azure Databricks-Konfigurationsprofil enthält Einstellungen und andere Informationen, die Azure Databricks zum Autorisieren des Zugriffs benötigt. Azure Databricks-Konfigurationsprofile werden in lokalen Client-Dateien gespeichert, die Ihre Tools, SDKs, Skripte und Anwendungen verwenden können. Die Datei des Standardkonfigurationsprofils heißt .databrickscfg.

Weitere Informationen finden Sie unter Azure Databricks-Konfigurationsprofile.