Az account get access token databricks
Authentifizieren des Zugriffs auf Azure Databricks-Ressourcen
Um mit der Databricks-CLI oder den REST-APIs auf eine Azure Databricks-Ressource zuzugreifen, müssen sich Clients mit einem Azure Databricks-Konto authentifizieren, das über die erforderliche Autorisierung für den Zugriff auf die Ressource verfügt. Um einen Databricks-CLI-Befehl sicher auszuführen oder eine Databricks-API-Anforderung aufzurufen, die autorisierten Zugriff auf ein Konto oder einen Arbeitsbereich erfordert, müssen Sie ein Zugriffstoken bereitstellen, das auf gültigen Anmeldeinformationen für das Azure Databricks-Konto basiert. In diesem Artikel werden die Authentifizierungsoptionen zum Bereitstellen dieser Anmeldeinformationen und zum Autorisieren des Zugriffs auf einen Azure Databricks-Arbeitsbereich oder ein Azure Databricks-Konto behandelt.
In der folgenden Tabelle sind die Authentifizierungsmethoden aufgeführt, die für Ihr Azure Databricks-Konto verfügbar sind.
Azure Databricks-Authentifizierungsmethoden
Da Azure Databricks-Tools und -SDKs mit einer oder mehreren unterstützten Azure Databricks-Authentifizierungsmethoden funktionieren, haben Sie folgende Möglichkeiten: Wählen Sie die beste Authentifizierungsmethode für Ihren Anwendungsfall aus. Weitere Informationen finden Sie in der Tool- oder SDK-Dokumentation unter Entwicklertools.
Methodenbeschreibung | : Anwendungsfall | |
---|---|---|
OAuth für Dienstprinzipale (OAuth, M2M): | Kurzlebige OAuth-Token für Dienstprinzipale. | Szenarien für die unbeaufsichtigte Authentifizierung, z. B. vollautomatische und CI/CD-Workflows. |
OAuth für Benutzer (OAuth U2M) | Kurzlebige OAuth-Token für Benutzer. | Szenarien für diebeaufsichtigte Authentifizierung, in denen Sie Ihren Webbrowser verwenden, um sich bei Azure Databricks in Echtzeit zu authentifizieren, wenn Sie dazu aufgefordert werden. |
Persönliche Zugriffstoken (Personal Access Token, PAT) | Kurzlebige oder langlebige Token für Benutzer oder Dienstprinzipale. | Szenarien, in denen Ihr Ziel Das Tool unterstützt OAuth nicht. |
Authentifizierung von verwalteten Azure-Identitäten | Microsoft Entra ID-Token für verwaltete Azure-Identitäten. | Verwenden Sie diese Option 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. | Verwenden Sie diese Option nur mit Azure-Ressourcen, die Microsoft Entra ID-Token unterstützen und verwaltete Identitäten nicht unterstützen, z. B. Azure DevOps. |
Azure CLI-Authentifizierung | : Microsoft Entra ID-Token für Benutzer oder Microsoft Entra ID-Dienstprinzipale. | Verwenden Sie diese Option, um den Zugriff auf Azure-Ressourcen und Azure Databricks mithilfe der Azure CLI zu authentifizieren. |
Microsoft Entra ID-Benutzerauthentifizierung | Microsoft Entra ID-Token für Benutzer. | Verwenden Sie diese Option nur mit Azure-Ressourcen, die nur Microsoft Entra ID-Token unterstützen. Databricks empfiehlt, Microsoft Entra ID-Token für Azure Databricks-Benutzer nicht manuell zu erstellen. |
Welchen Authentifizierungsansatz sollte ich wählen?
Sie haben zwei Möglichkeiten, einen Databricks-CLI-Befehl oder API-Aufruf für den Zugriff auf Ihre Azure Databricks-Ressourcen zu authentifizieren:
- Verwenden Sie ein Azure Databricks-Benutzerkonto (als "User-to-Machine"-Authentifizierung oder U2M bezeichnet). Wählen Sie diese Option nur aus, wenn Sie einen Azure Databricks-CLI-Befehl in Ihrer lokalen Clientumgebung ausführen oder eine Azure Databricks-API-Anforderung von Code aufrufen, den Sie besitzen und exklusiv ausführen.
- Verwenden Sie einen Azure Databricks-Dienstprinzipal (Machine-to-Machine-Authentifizierung oder M2M). Wählen Sie diese Option aus, wenn andere Ihren Code ausführen (insbesondere im Fall einer App) oder wenn Sie eine Automatisierung erstellen, die Azure Databricks CLI-Befehle oder API-Anforderungen aufruft.
- Wenn Sie Azure Databricks verwenden, können Sie auch einen MS Entra Dienstprinzipal verwenden, um den Zugriff auf Ihr Azure Databricks-Konto oder Ihren Arbeitsbereich zu authentifizieren. Databricks empfiehlt jedoch, dass Sie einen Databricks-Dienstprinzipal mit der von uns bereitgestellten OAuth-Authentifizierung über die MS Entra-Dienstprinzipalauthentifizierung verwenden. Dies liegt daran, dass bei der Authentifizierung von Databricks OAuth-Zugriffstoken verwendet werden, die bei der Authentifizierung nur mit Azure Databricks stabiler sind.
Weitere Informationen zur Verwendung eines MS Entra-Dienstprinzipals für den Zugriff auf Databricks-Ressourcen finden Sie unter MS Entra Dienstprinzipalauthentifizierung.
Sie müssen auch über ein Zugriffstoken verfügen, das mit dem Konto verknüpft ist, das Sie zum Aufrufen der Databricks-API verwenden. Bei diesem Token kann es sich entweder um ein OAuth 2.0-Zugriffstoken oder um ein Persönliches Zugriffstoken (PAT). Azure Databricks empfiehlt jedoch dringend, OAuth über PATs für die Autorisierung zu verwenden, da OAuth-Token standardmäßig automatisch aktualisiert werden und keine direkte Verwaltung des Zugriffstokens erfordern, wodurch Ihre Sicherheit gegen Token-Hijacking und unerwünschten Zugriff verbessert wird. Da OAuth das Zugriffstoken für Sie erstellt und verwaltet, geben Sie eine OAuth-Tokenendpunkt-URL, eine Client-ID und einen geheimen Schlüssel an, den Sie aus Ihrem Azure Databricks-Arbeitsbereich generieren, anstatt selbst eine Tokenzeichenfolge direkt bereitzustellen. PATs bergen das Risiko, dass langlebige Token Ausgangsmöglichkeiten bieten, wenn sie nicht regelmäßig überwacht und rotiert oder widerrufen werden oder wenn die Tokenzeichenfolgen und Kennwörter nicht sicher für Ihre Entwicklungsumgebung verwaltet werden.
Wie verwende ich OAuth für die Authentifizierung bei Azure Databricks?
Azure Databricks bietet eine einheitliche Clientauthentifizierung, um Sie bei der Authentifizierung zu unterstützen Mit einem Standardsatz von Umgebungsvariablen, die Sie auf bestimmte Anmeldeinformationswerte festlegen können. Auf diese Weise können Sie einfacher und sicherer arbeiten, da diese Umgebungsvariablen spezifisch für die Umgebung sind, in der die Azure Databricks CLI-Befehle ausgeführt oder Azure Databricks-APIs aufgerufen werden.
- Für die Authentifizierung von Benutzerkonten (Benutzer-zu-Computer) wird Azure Databricks OAuth für Sie mit der einheitlichen Databricks-Clientauthentifizierung verarbeitet, sofern die Tools und SDKs den Standard implementieren. Wenn dies nicht der Fall ist, können Sie manuell ein OAuth-Codeüberprüfungs- und Abfragepaar generieren, das direkt in Ihren Azure Databricks-CLI-Befehlen und API-Anforderungen verwendet werden kann. Weitere Informationen finden Sie unter Schritt 1: Generieren eines Paares aus OAuth-Codeüberprüfung und Codeabfrage.
- Für die Dienstprinzipalauthentifizierung (Computer-zu-Computer-Authentifizierung) erfordert Azure Databricks OAuth, dass der Aufrufer Clientanmeldeinformationen zusammen mit einer Tokenendpunkt-URL angibt, an der die Anforderung autorisiert werden kann. (Dies wird für Sie erledigt, wenn Sie Azure Databricks-Tools und SDKs verwenden, die die einheitliche Databricks-Clientauthentifizierung unterstützen.) Zu den Anmeldeinformationen gehören eine eindeutige Client-ID und ein geheimer 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 Dienstprinzipal den Arbeitsbereichen zugewiesen haben, auf die er zugreifen soll, erhalten Sie eine Client-ID und einen geheimen Clientschlüssel, die Sie mit bestimmten Umgebungsvariablen festlegen.
Diese Umgebungsvariablen sind:
- : Diese Umgebungsvariable ist auf die URL Ihrer Azure Databricks-Kontokonsole () oder Ihrer Azure Databricks-Arbeitsbereichs-URL () festgelegt. Wählen Sie einen Host-URL-Typ basierend auf der Art der Vorgänge aus, die Sie in Ihrem Code ausführen möchten. Wenn Sie Azure Databricks-CLI-Befehle auf Kontoebene oder REST-API-Anforderungen verwenden, legen Sie Folgendes fest -Variable an die URL Ihres Azure Databricks-Kontos an. Wenn Sie CLI-Befehle auf Azure Databricks-Arbeitsbereichsebene oder REST-API-Anforderungen verwenden, verwenden Sie die URL Ihres Azure Databricks-Arbeitsbereichs.
- : Wird für Azure Databricks-Kontovorgänge verwendet. Dies ist Ihre Azure Databricks-Konto-ID. Informationen zum Abrufen finden Sie unter Suchen Ihrer Konto-ID.
- : (Nur M2M OAuth) Die Client-ID, die Ihnen beim Erstellen des Dienstprinzipals zugewiesen wurde.
- : (Nur M2M OAuth) Der geheime Clientschlüssel, den Sie beim Erstellen des Dienstprinzipals generiert haben.
Sie können diese direkt oder mithilfe eines Databricks-Konfigurationsprofils () auf Ihrem Clientcomputer festlegen.
Um ein OAuth-Zugriffstoken verwenden zu können, muss Ihr Azure Databricks-Arbeitsbereichs- oder Kontoadministrator Ihrem Benutzerkonto oder Dienstprinzipal die Berechtigung für die Konto- und Arbeitsbereichsfeatures erteilt haben, auf die Ihr Code zugreifen kann.
Weitere Informationen zur Konfiguration OAuth-Autorisierung für Ihren Client und Informationen zu Cloud-anbieterspezifischen Autorisierungsoptionen finden Sie unter Einheitliche Clientauthentifizierung.
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 Authentifizierungs- und Autorisierungsmechanismen verwenden, die vom Drittanbieter bereitgestellt werden. Wenn Sie jedoch einem Tool, SDK oder Dienst eines Drittanbieters Zugriff auf Ihr Azure Databricks-Konto oder Ihre Arbeitsbereichsressourcen gewähren müssen, bietet Databricks die folgende Unterstützung:
Azure Databricks-Konfigurationsprofile
Ein Azure Databricks-Konfigurationsprofil enthält Einstellungen und andere Informationen, die Azure Databricks zur Authentifizierung benötigt. Azure Databricks-Konfigurationsprofile werden in lokalen Clientdateien gespeichert, die von Ihren Tools, SDKs, Skripts und Apps verwendet werden können. Die Standardkonfigurationsprofildatei heißt . Weitere Informationen finden Sie unter Azure Databricks-Konfigurationsprofile.