Freigeben über


Authentifizieren Sie sich mit einem Azure Databricks-Persönlichen Zugriffstoken (Legacy)

mit Azure Databricks persönlichen Zugriffstoken (PATs) können Sie sich auf Arbeitsbereichsebene bei Ressourcen und APIs authentifizieren. Sie können sie in Umgebungsvariablen oder Azure Databricks konfigurationsprofile speichern. Jeder PAT ist nur für einen Arbeitsbereich gültig, und ein Benutzer kann bis zu 600 PATs pro Arbeitsbereich erstellen. Azure Databricks widerrufen automatisch PATs, die 90 Tage lang nicht verwendet wurden.

Wichtig

Die Benutzernamen- und Kennwortauthentifizierung (ohne Token) endet am 10. Juli 2024. Databricks empfiehlt dringend, OAuth anstelle von PATs für die Benutzerkontoauthentifizierung zu verwenden, da OAuth eine stärkere Sicherheit bietet. Informationen zum Authentifizieren mit einem Databricks-Benutzerkonto mit OAuth finden Sie unter Authorize user access to Azure Databricks with OAuth.

Sie können keine persönlichen Zugriffstoken verwenden, um Azure Databricks account-level-Funktionalität zu automatisieren. Verwenden Sie stattdessen die Microsoft Entra ID-Token von Administratoren der Azure Databricks-Konten. Azure Databricks Kontoadministratoren können Benutzer oder Dienstprinzipale sein. Weitere Informationen finden Sie unter

Erstellen von persönlichen Zugriffstoken für Arbeitsbereichsbenutzer

Gehen Sie wie folgt vor, um ein persönliches Zugriffstoken für Ihren Azure Databricks Arbeitsbereichsbenutzer zu erstellen:

  1. Klicken Sie in Ihrem Azure Databricks Arbeitsbereich auf Ihren Benutzernamen in der oberen Leiste, und wählen Sie Settings aus.
  2. Klicken Sie auf Entwickler.
  3. Klicken Sie neben Zugriffstoken auf Verwalten.
  4. Klicken Sie auf Neues Token generieren.
  5. Geben Sie einen Kommentar ein, damit Sie dieses Token in Zukunft einfacher identifizieren können.
  6. Legen Sie die Lebensdauer des Tokens in Tagen fest. Siehe Festlegen der maximalen Lebensdauer neuer persönlicher Zugriffstoken.
  7. Um die Berechtigungen des Tokens einzuschränken, wählen Sie einen Tokentyp aus, und fügen Sie API-Bereiche hinzu. Siehe Gescopte persönliche Zugriffstoken.
  8. Klicken Sie auf Generate (Generieren) .
  9. Kopieren Sie das angezeigte Token an einen sicheren Speicherort, und klicken Sie dann auf "Fertig". Speichern Sie das Token sicher, und teilen Sie es nicht. Wenn Sie es verlieren, müssen Sie ein neues Token erstellen.

Wenn Sie keine Token erstellen oder verwenden können, hat Ihr Arbeitsbereichsadministrator möglicherweise Token deaktiviert oder Ihnen keine Berechtigung erteilt. Wenden Sie sich an Ihren Arbeitsbereichsadministrator oder an Folgendes:

Bereichsbezogene persönliche Zugriffstoken

Bereichsbezogene persönliche Zugriffstoken beschränken die Berechtigungen eines Tokens auf bestimmte API-Vorgänge. Anstatt den vollständigen Arbeitsbereichszugriff zu gewähren, weisen Sie einen oder mehrere API-Bereiche zu, z sql. B. , unity-catalogoder scim, die einschränken, welche REST-API-Vorgänge das Token aufrufen kann.

Warnung

Token mit dem authentication Bereich können neue Token mit jedem Bereich erstellen. Gewähren Sie diesen Berechtigungsumfang nur Tokens, die andere Tokens verwalten müssen.

Um ein bereichsbezogenes Token in der Arbeitsbereichsbenutzeroberfläche zu erstellen, wählen Sie einen Tokentyp aus, und fügen Sie API-Bereiche hinzu, wenn Sie ein neues Token generieren. Wenn Sie keine Bereiche zuweisen, behält das Token die vollständigen Berechtigungen der Erstellungsidentität bei.

Eine vollständige Liste der Bereiche und der zugehörigen API-Vorgänge finden Sie unter API-Bereiche.

Erstellung persönlicher Zugriffstoken für Dienstprinzipale

Ein Dienstprinzipal kann persönliche Zugriffstoken für sich selbst erstellen.

  1. Führen Sie den folgenden Befehl aus, um ein Zugriffstoken zu generieren:

    databricks tokens create \
      --lifetime-seconds <lifetime-seconds> \
      -p <profile-name>
    

    Ersetzen Sie die folgenden Werte:

    • <lifetime-seconds>: Tokenlebensdauer in Sekunden, z. B. 86400 für 1 Tag. Standardmäßig wird der Arbeitsbereich maximal (in der Regel 730 Tage) festgelegt.
    • <profile-name>: Konfigurationsprofil mit Authentifizierungsinformationen. Wird standardmäßig auf DEFAULT festgelegt.
  2. Kopieren Sie das token_value aus der Antwort, das das Zugriffstoken für Ihren Dienstprinzipal ist. Speichern Sie das Token sicher, und teilen Sie es nicht. Wenn Sie es verlieren, müssen Sie ein neues Token erstellen.

Wenn Sie keine Token erstellen oder verwenden können, hat Ihr Arbeitsbereichsadministrator möglicherweise Token deaktiviert oder Ihnen keine Berechtigung erteilt. Wenden Sie sich an Ihren Arbeitsbereichsadministrator oder an Folgendes:

Durchführen der Authentifizierung des persönlichen Zugriffstokens

Um Azure Databricks Authentifizierung des persönlichen Zugriffstokens zu konfigurieren, legen Sie die folgenden zugeordneten Umgebungsvariablen, .databrickscfg-Felder, Terraform-Felder oder Config-Felder fest:

  • Der Azure Databricks-Host, der als Ziel-AZURE DATABRICKS per-Workspace-URL angegeben ist, z. B. https://adb-1234567890123456.7.azuredatabricks.net.
  • Der persönliche Zugriffstoken für das Benutzerkonto von Azure Databricks.

Um Azure Databricks persönliche Zugriffstokenauthentifizierung durchzuführen, integrieren Sie Folgendes in Ihren Code, basierend auf dem teilnehmenden Tool oder SDK:

Umwelt

Informationen zum Verwenden von Umgebungsvariablen für einen bestimmten Azure-Databricks-Authentifizierungstyp mit einem Tool oder SDK finden Sie unter "Azure Databricks-Ressourcenzugriff autorisieren" oder in der Dokumentation des Tools oder SDKs. Siehe auch Umgebungsvariablen und Felder für die einheitliche Authentifizierung und die Priorität der Authentifizierungsmethode.

Legen Sie die folgenden Umgebungsvariablen fest:

  • DATABRICKS_HOST, legen Sie die Azure Databricks-URL für pro Workspace fest, z. B. https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, auf die Tokenzeichenfolge festgelegt.

Profil

Erstellen oder identifizieren Sie ein Azure Databricks configuration profile mit den folgenden Feldern in Ihrer .databrickscfgDatei. Wenn Sie das Profil erstellen, ersetzen Sie die Platzhalter durch die entsprechenden Werte. Informationen zum Verwenden des Profils mit einem Tool oder SDK finden Sie unter Authorize access to Azure Databricks resources oder in der Dokumentation des Tools oder SDKs. Siehe auch Umgebungsvariablen und Felder für die einheitliche Authentifizierung und die Priorität der Authentifizierungsmethode.

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

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

Anstatt die Werte manuell festzulegen, können Sie stattdessen die Databricks CLI verwenden, um diese Werte festzulegen:

Hinweis

Im folgenden Verfahren wird die Databricks CLI verwendet, um ein Azure Databricks configuration profile mit dem Namen DEFAULT zu erstellen. Wenn Sie bereits ein DEFAULT-Konfigurationsprofil besitzen, wird Ihr vorhandenes DEFAULT-Konfigurationsprofil durch dieses Verfahren überschrieben.

Um zu überprüfen, ob Sie bereits über ein DEFAULT Konfigurationsprofil verfügen und die Einstellungen dieses Profils anzeigen möchten, falls vorhanden, verwenden Sie die Databricks CLI, um den Befehl databricks auth env --profile DEFAULTauszufü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. Verwenden Sie die Databricks CLI, um ein Azure Databricks configuration profile namens DEFAULT zu erstellen, das Azure Databricks Authentifizierung des persönlichen Zugriffstokens verwendet. Führen Sie zu diesem Zweck den folgenden Befehl aus:

    databricks configure --profile DEFAULT
    
  2. Geben Sie bei der Aufforderung Databricks Host die URL für Ihren Azure Databricks-Arbeitsbereich ein, z. B. https://adb-1234567890123456.7.azuredatabricks.net.

  3. Geben Sie für die Aufforderung Personal Access Token das Azure Databricks persönliche 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 Ziel-AZURE DATABRICKS per-Workspace-URL angegeben ist, z. B. https://adb-1234567890123456.7.azuredatabricks.net.
  • Das Azure Databricks persönliche Zugriffstoken für das Azure Databricks-Benutzerkonto.

Weitere Informationen finden Sie unter Authentifizierung des persönlichen Zugriffstokens (veraltet).

Verbinden

Hinweis

Bei Azure Databricks wird die Authentifizierung mit persönlichen Zugriffstokens in den folgenden Databricks Connect-Versionen unterstützt:

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

Verwenden Sie für Databricks Connect die Databricks CLI, um die Werte in Ihrer .databrickscfg-Datei für Azure Databricks Vorgänge auf Arbeitsbereichsebene, wie im Abschnitt Profile festgelegt, festzulegen.

Im folgenden Verfahren wird ein Azure Databricks Konfigurationsprofil mit dem Namen DEFAULT erstellt, das alle vorhandenen DEFAULT Profile überschreibt. Führen Sie DEFAULT aus, um zu überprüfen, ob ein databricks auth env --profile DEFAULT Profil vorhanden ist. Falls vorhanden, verwenden Sie einen anderen Profilnamen.

  1. Führen Sie den folgenden Befehl aus, um ein Azure Databricks Konfigurationsprofil namens DEFAULT zu erstellen, das die Authentifizierung des persönlichen Zugriffstokens verwendet.

    databricks configure \
      --configure-cluster \
      --profile DEFAULT
    
  2. Geben Sie für die Aufforderung Databricks Host Ihre Azure Databricks pro Arbeitsbereich-URL ein, z.B. https://adb-1234567890123456.7.azuredatabricks.net.

  3. Geben Sie für das Feld Personal Access Token das persönliche Zugriffstoken für Ihren Arbeitsbereich ein.

  4. Wählen Sie in der Liste der verfügbaren Cluster in Ihrem Arbeitsbereich das Ziel-Cluster Azure Databricks aus. Sie können einen beliebigen Teil des Anzeigenamens des Clusters eingeben, um die Liste der verfügbaren Cluster zu filtern.

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

Azure Databricks stellt einen REST-Endpunkt /api/2.0/token/create bereit, um PATs ausstellen zu können. Weitere Informationen finden Sie unter Erstellen eines Benutzertokens für API-Details.

Legen Sie im folgenden Beispiel die folgenden Werte fest:

  • <databricks-instance>: Url des Databricks-Arbeitsbereichs. Beispiel: dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: Ein vorhandenes gültiges PAT (String), das über Berechtigungen zum Erstellen neuer Token verfügt.
  • <lifetime-seconds>: Die Lebensdauer des Tokens in Sekunden.
  • <scopes>: Eine Liste der Bereiche, die dem Token zugewiesen werden sollen. Siehe Eingeschränkte persönliche Zugriffstoken.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>,
  "scopes": [
    "sql",
    "authentication"
  ]
}'

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

{
  "token_value": "<your-newly-issued-pat>",
  "token_info": {
    "token_id": "<token-id>",
    "creation_time": <creation-timestamp>,
    "expiry_time": <expiry-timestamp>,
    "comment": "<comment>",
    "scopes": ["authentication", "sql"],
    "last_accessed_time": 0
  }
}

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)

Aktualisieren Sie die Gültigkeitsbereiche eines persönlichen Zugriffstokens

Wenn einem bereichsgebundenen Token der erforderliche Bereich für einen API-Aufruf fehlt, schlägt die Anforderung mit einem Fehler fehl, der den fehlenden Bereich angibt. Verwenden Sie den REST-Endpunkt /api/2.0/token/<token_id>, um die Bereiche eines Tokens zu aktualisieren. Das aufrufende Token muss über den authentication Bereich verfügen, der die Verwaltung anderer Token zulässt. Verwenden Sie das update_mask Feld, um anzugeben, welche Tokenfelder aktualisiert werden sollen.

curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "token": {
    "scopes": ["sql", "unity-catalog"]
  },
  "update_mask": "scopes"
}'

Bereichsänderungen können bis zu zehn Minuten dauern, um sich auszubreiten.

Um alle verfügbaren Bereiche anzuzeigen, verwenden Sie GET /api/2.0/token-scopes.