Freigeben über


Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken

Azure Databricks persönliche Zugriffstoken (PATs) werden zur Authentifizierung des Zugriffs auf Ressourcen und APIs auf der Ebene des Azure Databricks Workspace verwendet. Viele Speichermechanismen für Anmeldeinformationen und zugehörige Informationen, beispielsweise Umgebungsvariablen und Azure Databricks-Konfigurationsprofile, erfordern persönliche Azure Databricks-Zugriffstoken. Obwohl Benutzer mehrere persönliche Zugriffstoken in einem Azure Databricks-Arbeitsbereich haben können, funktioniert jedes persönliche Zugriffstoken nur für einen einzigen Azure Databricks-Arbeitsbereich. Die Anzahl der persönlichen Zugriffstoken pro Benutzer ist auf 600 pro Arbeitsbereich beschränkt.

Databricks widerruft automatisch persönliche Zugriffstoken, die in 90 oder mehr Tagen nicht verwendet wurden.

Wichtig

Databricks empfiehlt die Verwendung von OAuth anstelle von PATs für die Authentifizierung und Autorisierung von Benutzerkonten aufgrund der verbesserten Sicherheit von OAuth. Informationen zum Verwenden von OAuth zum Ausführen der Clientauthentifizierung mit einem Databricks-Benutzerkonto finden Sie unter Authentifizierung des Zugriffs auf Azure Databricks mit einem Benutzerkonto mithilfe von OAuth (OAuth U2M) (für die Benutzerkontoauthentifizierung).

Einfache (nicht tokenbasierte) Authentifizierung mit einem Azure Databricks-Benutzernamen und Kennwort erreicht am 10. Juli 2024 des Ende der Lebensdauer.

Zum Automatisieren der Funktionen auf Azure Databricks-Kontoebene können Sie keine persönlichen Azure Databricks-Zugriffstoken verwenden. Stattdessen müssen Sie die Microsoft Entra ID-Tokens von Azure Databricks-Kontoadministratoren verwenden. Azure Databricks-Kontoadministratoren können Benutzer oder Dienstprinzipale sein. Weitere Informationen finden Sie unter

Persönliches Azure Databricks-Zugriffstoken für Arbeitsbereichsbenutzer*innen

Gehen Sie wie folgt vor, um ein persönliches Azure Databricks-Zugriffstoken für eine Benutzerin oder einen Benutzer Ihres Azure Databricks-Arbeitsbereichs zu erstellen:

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich in der oberen Leiste auf Ihren Azure Databricks-Benutzernamen, und wählen Sie dann im Dropdownmenü die Option Einstellungen aus.
  2. Klicken Sie auf Entwickler.
  3. Klicken Sie neben Zugriffstoken auf Verwalten.
  4. Klicken Sie auf Neues Token generieren.
  5. (Optional) Geben Sie einen Kommentar ein, durch den Sie dieses Token in Zukunft identifizieren können, und ändern Sie die standardmäßige Lebensdauer des Tokens von 90 Tagen. Wenn Sie ein Token ohne Gültigkeitsdauer erstellen möchten (nicht empfohlen), lassen Sie das Feld Lebensdauer (Tage) leer.
  6. Klicken Sie auf Generate (Generieren) .
  7. Kopieren Sie das angezeigte Token an einen sicheren Speicherort, und klicken Sie auf Fertig.

Hinweis

Achten Sie darauf, den kopierten Token an einem sicheren Ort zu speichern. Geben Sie das kopierte Token nicht an andere Personen weiter. Wenn Sie das kopierte Token verlieren, können Sie das gleiche Token nicht erneut generieren. Stattdessen müssen Sie erneut das Verfahren zum Erstellen eines neuen Tokens durchlaufen. Wenn Sie das kopierte Token verlieren oder glauben, dass das Token kompromittiert wurde, empfiehlt Databricks dringend, dass Sie das Token sofort aus Ihrem Arbeitsbereich löschen. Klicken Sie hierzu auf der Seite Zugriffstoken auf das Papierkorbsymbol (Widerrufen) neben dem Token.

Wenn Sie in Ihrem Arbeitsbereich keine Token erstellen oder verwenden können, liegt dies möglicherweise daran, dass Ihr Arbeitsbereichsadministrator Token deaktiviert hat oder Ihnen keine Berechtigung zum Erstellen oder Verwenden von Token erteilt hat. Wenden Sie sich an Ihren Arbeitsbereichsadministrator oder lesen Sie die folgenden Themen:

Persönliche Zugriffstoken für Dienstprinzipale von Azure Databricks

Ein Dienstprinzipal kann persönliche Databricks-Zugriffstoken wie folgt für sich selbst erstellen:

Bei diesem Verfahren wird davon ausgegangen, dass Sie die OAuth-Authentifizierung (Machine-to-Machine, M2M)-Authentifizierung oder die Microsoft Entra ID-Dienstprinzipalauthentifizierung verwenden, um die Databricks CLI zum Authentifizieren des Dienstprinzipals zum Generieren von persönlichen Azure Databricks-Zugriffstoken für sich selbst einzurichten. Siehe OAuth Machine-to-Machine (M2M)-Authentifizierung oder Microsoft Entra ID-Dienstprinzipalauthentifizierung.

  1. Verwenden Sie die Databricks CLI, um den folgenden Befehl auszuführen, der ein weiteres Zugriffstoken für den Dienstprinzipal generiert.

    Führen Sie den folgenden Befehl aus:

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment: Ersetzen Sie <comment> durch einen aussagekräftigen Kommentar zum Zweck des Zugriffstokens. Wenn die --comment-Option nicht angegeben ist, wird kein Kommentar generiert.
    • --lifetime-seconds: Ersetzen Sie <lifetime-seconds> durch die Anzahl von Sekunden, für die das Zugriffstoken gültig ist. Beispielsweise beträgt 1 Tag 86400 Sekunden. Wenn die --lifetime-seconds-Option nicht angegeben ist, wird das Zugriffstoken so festgelegt, dass es nie abläuft (nicht empfohlen).
    • --profile-name: Ersetzen Sie <profile-name> durch den Namen eines Azure Databricks-Konfigurationsprofils, das Authentifizierungsinformationen für den Dienstprinzipal und den Zielarbeitsbereich enthält. Wenn die -p-Option nicht angegeben ist, versucht die Databricks CLI, ein Konfigurationsprofil mit dem Namen DEFAULT zu suchen und zu verwenden.
  2. Kopieren Sie in der Antwort den Wert von token_value, der das Zugriffstoken für den Dienstprinzipal ist.

    Achten Sie darauf, den kopierten Token an einem sicheren Ort zu speichern. Geben Sie das kopierte Token nicht an andere Personen weiter. Wenn Sie das kopierte Token verlieren, können Sie das gleiche Token nicht erneut generieren. Stattdessen müssen Sie erneut das Verfahren zum Erstellen eines neuen Tokens durchlaufen.

    Wenn Sie in Ihrem Arbeitsbereich keine Token erstellen oder verwenden können, liegt dies möglicherweise daran, dass Ihr Arbeitsbereichsadministrator Token deaktiviert hat oder Ihnen keine Berechtigung zum Erstellen oder Verwenden von Token erteilt hat. Wenden Sie sich an Ihren Arbeitsbereichsadministrator oder lesen Sie:

Durchführung einer Authentifizierung mit persönlichen Azure Databricks-Zugriffstoken

Um die Authentifizierung mit persönliches Zugriffstoken für Azure Databricks zu konfigurieren, müssen Sie die folgenden zugeordneten Umgebungsvariablen, .databrickscfg-Felder, Terraform-Felder oder Config-Felder festlegen:

  • Der Azure Databricks-Host, der als arbeitsbereichsspezifische URL für Azure Databricks angegeben wird, z. B. https://adb-1234567890123456.7.azuredatabricks.net
  • Das persönliche Azure Databricks-Zugriffstoken für das Azure Databricks-Benutzerkonto.

Um die Authentifizierung mit dem persönlichen Zugriffstoken in Azure Databricks durchzuführen, integrieren Sie Folgendes in Ihren Code, basierend auf dem beteiligten Tool oder SDK:

Environment

Informationen zum Verwenden von Umgebungsvariablen für einen bestimmten Azure Databricks-Authentifizierungstyp mit einem Tool oder SDK finden Sie unter Authentifizierung des Zugriffs auf Azure Databricks-Ressourcen oder der Dokumentation der Tools bzw. von SDK. Siehe auch Umgebungsvariablen und Felder für die einheitliche Clientauthentifizierung und die Standardmethoden und einheitliche Clientauthentifizierung.

Legen Sie die folgenden Umgebungsvariablen fest:

Profil

Erstellen oder identifizieren Sie ein Azure Databricks-Konfigurationsprofil mit den folgenden Feldern in Ihrer .databrickscfg-Datei. Wenn Sie das Profil erstellen, ersetzen Sie die Platzhalter durch die entsprechenden Werte. Informationen zur Verwendung des Profils mit einem Tool oder SDK finden Sie unter Authentifizierung des Zugriffs auf Azure Databricks-Ressourcen oder in der Dokumentation des jeweiligen Tools oder SDK. Siehe auch Umgebungsvariablen und Felder für die einheitliche Clientauthentifizierung und die Standardmethoden und einheitliche Clientauthentifizierung.

Legen Sie die folgenden Werte in Ihrer .databrickscfg-Datei fest. In diesem Fall ist der Host die arbeitsbereichsspezifische Azure Databricks-URL, z. B. https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

Anstatt die vorherigen Werte in Ihrer .databrickscfg-Datei manuell festzulegen, können Sie stattdessen die Databricks CLI wie folgt verwenden, um diese Werte festzulegen:

Hinweis

Im folgenden Verfahren wird mit der Databricks-CLI ein Azure Databricks-Konfigurationsprofil mit dem Namen DEFAULT erstellt. Wenn Sie bereits ein DEFAULT-Konfigurationsprofil besitzen, wird Ihr vorhandenes DEFAULT-Konfigurationsprofil durch dieses Verfahren überschrieben.

Um zu überprüfen, ob Sie bereits ein DEFAULT-Konfigurationsprofil haben, und um die Einstellungen dieses Profils anzuzeigen, wenn es existiert, verwenden Sie die Databricks-Befehlszeilenschnittstelle, um den Befehl databricks auth env --profile DEFAULT auszuführen.

Um ein Konfigurationsprofil mit einem anderen Namen als DEFAULT zu erstellen, ersetzen Sie den DEFAULT-Teil von --profile DEFAULT in dem folgenden databricks configure-Befehl durch einen anderen Namen für das Konfigurationsprofil.

  1. Erstellen Sie mithilfe der Databricks-CLI ein Azure Databricks-Konfigurationsprofil mit dem Namen DEFAULT, das die Authentifizierung des persönlichen Zugriffstokens von Azure Databricks verwendet. Führen Sie zu diesem Zweck den folgenden Befehl aus:

    databricks configure --profile DEFAULT
    
  2. Geben Sie als Databricks-Host Ihre arbeitsbereichsspezifische Azure Databricks-URL ein, z. B. https://adb-1234567890123456.7.azuredatabricks.net.

  3. Geben Sie für Persönliches Zugriffstoken Ihr persönliches Azure Databricks-Zugriffstoken für Ihren Arbeitsbereich ein.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie für die Databricks CLI den Befehl databricks configure aus. Geben Sie an den Eingabeaufforderungen folgende Einstellungen ein:

  • Der Azure Databricks-Host, der als arbeitsbereichsspezifische URL für Azure Databricks angegeben wird, z. B. https://adb-1234567890123456.7.azuredatabricks.net
  • Das persönliche Azure Databricks-Zugriffstoken für das Azure Databricks-Benutzerkonto.

Weitere Informationen finden Sie unter Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken.

Verbinden

Hinweis

Die Authentifizierung mit persönlichen Azure Databricks-Zugriffstoken wird in den folgenden Databricks Connect-Versionen unterstützt:

  • Für Python: Databricks Connect für Databricks Runtime 13.3 LTS und höher.
  • Für Scala: Databricks Connect für Databricks Runtime 13.3 LTS und höher.

Sie können die Databricks-CLI verwenden, um für Databricks Connect die Werte in Ihrer .databrickscfg-Datei für Vorgänge auf Azure Databricks-Arbeitsbereichsebene festzulegen. Gehen Sie dafür wie im Abschnitt „Profil“ dieses Artikels angegeben vor:

Hinweis

Im folgenden Verfahren wird mit der Databricks-CLI ein Azure Databricks-Konfigurationsprofil mit dem Namen DEFAULT erstellt. Wenn Sie bereits ein DEFAULT-Konfigurationsprofil besitzen, wird Ihr vorhandenes DEFAULT-Konfigurationsprofil durch dieses Verfahren überschrieben.

Um zu überprüfen, ob Sie bereits ein DEFAULT-Konfigurationsprofil haben, und um die Einstellungen dieses Profils anzuzeigen, wenn es existiert, verwenden Sie die Databricks-Befehlszeilenschnittstelle, um den Befehl databricks auth env --profile DEFAULT auszuführen.

Um ein Konfigurationsprofil mit einem anderen Namen als DEFAULT zu erstellen, ersetzen Sie den DEFAULT-Teil von --profile DEFAULT im databricks configure-Befehl wie im folgenden Schritt gezeigt durch einen anderen Namen für das Konfigurationsprofil.

  1. Erstellen Sie mithilfe der Databricks-CLI ein Azure Databricks-Konfigurationsprofil mit dem Namen DEFAULT, das die Authentifizierung mit einem persönlichen Zugriffstoken von Azure Databricks verwendet. Führen Sie zu diesem Zweck den folgenden Befehl aus:

    databricks configure --configure-cluster --profile DEFAULT
    
  2. Geben Sie als Databricks-Host Ihre arbeitsbereichsspezifische Azure Databricks-URL ein, z. B. https://adb-1234567890123456.7.azuredatabricks.net.

  3. Geben Sie für Persönliches Zugriffstoken Ihr persönliches Azure Databricks-Zugriffstoken für Ihren Arbeitsbereich ein.

  4. Verwenden Sie in der angezeigten Liste der verfügbaren Cluster die NACH-OBEN- und NACH-UNTEN-TASTEN, um den Azure Databricks-Zielcluster in Ihrem Arbeitsbereich auszuwählen, und drücken Sie anschließend Enter. Sie können auch einen beliebigen Teil des Anzeigenamens des Clusters eingeben, um die Liste der verfügbaren Cluster zu filtern.

Verwenden der Rest-API von Azure Databricks zum Ausgeben von persönlichen Zugriffstoken

Azure Databricks stellt einen REST-Endpunkt /api/2.0/token/create zum Ausgeben von PATs bereit. Weitere Informationen finden Sie unter Erstellen eines Benutzertokens für API-Details.

Sie müssen der REST-API bestimmte Werte bereitstellen. Legen Sie im folgenden Beispiel die folgenden Werte fest:

  • Ersetzen Sie die <databricks-instance> URL des Databricks-Arbeitsbereichs. Beispiel: dbc-abcd1234-5678.cloud.databricks.com.
  • Ersetzen Sie durch <your-existing-access-token> eine vorhandene gültige PAT (Zeichenfolge), die über Berechtigungen zum Erstellen neuer Token verfügt.

Geben Sie Werte für diese Parameter an:

  • comment: Eine Beschreibung für das neue Token.
  • lifetime_seconds: Die Lebensdauer des Tokens in Sekunden.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "comment": "New PAT using DB API",
  "lifetime_seconds": <lifetime-of-pat-in-seconds>
}'

Das -d Flag stellt die JSON-Nutzlast für die Anforderung bereit.

Wenn dies erfolgreich ist, führt dies zu einer Antwortnutzlast ähnlich wie:

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Stellen Sie das neue Token aus der Antwort im Autorisierungsheader der nachfolgenden Aufrufe von Databricks-REST-APIs bereit. Zum Beispiel:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)