Freigeben über


Authentifizierung für die Databricks-CLI

Hinweis

Diese Informationen gelten für Databricks CLI-Versionen 0.205 und höher. Die Databricks CLI befindet sich in der öffentlichen Vorschau.

Die Verwendung von Databricks CLI unterliegt der Datenbricks-Lizenz - und Databricks-Datenschutzerklärung, einschließlich der Bestimmungen zu Nutzungsdaten.

In diesem Artikel wird erläutert, wie Sie die Authentifizierung zwischen der Databricks CLI und Ihren Azure Databricks Konten und Arbeitsbereichen einrichten. Es wird davon ausgegangen, dass Sie die Databricks CLI bereits installiert haben. Weitere Informationen finden Sie unter Installieren oder Aktualisieren der Databricks CLI.

Bevor Sie Databricks CLI-Befehle ausführen, müssen Sie die Authentifizierung für die Konten oder Arbeitsbereiche konfigurieren, die Sie verwenden möchten. Das erforderliche Setup hängt davon ab, ob Sie Befehle auf Arbeitsbereichsebene , Befehle auf Kontoebene oder beides ausführen möchten.

Führen Sie zum Anzeigen der verfügbaren CLI-Befehlsgruppen aus databricks -h. Eine Liste der entsprechenden REST-API-Vorgänge finden Sie unter Databricks REST API.

Informationen zur Microsoft Entra Authentifizierung bei Databricks mit Azure DevOps speziell finden Sie unter Authenticate with Azure DevOps on Azure Databricks.

OAuth-M2M (Machine-to-Machine)-Authentifizierung

Die Computer-zu-Computer-Authentifizierung (M2M) mit OAuth ermöglicht Diensten, Skripts oder Anwendungen den Zugriff auf Databricks-Ressourcen ohne interaktive Benutzeranmeldung. Anstatt sich auf persönliche Zugriffstoken (PATs) oder Benutzeranmeldeinformationen zu verlassen, verwendet die M2M-Authentifizierung einen Service Principal und einen OAuth-Client-Credentials-Flow, um Token anzufordern und zu verwalten.

So konfigurieren und verwenden Sie die OAuth M2M-Authentifizierung:

  1. Führen Sie die Einrichtungsschritte für die OAuth M2M-Authentifizierung aus. Siehe Authorize-Dienstprinzipalzugriff auf Azure Databricks mit OAuth.

  2. Erstellen Sie ein Azure Databricks konfigurationsprofil mit den folgenden Feldern in der Datei .databrickscfg.

    Für Befehle auf Kontoebene

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Für Befehle auf Arbeitsbereichsebene

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

Um das Profil zu verwenden, übergeben Sie es mit dem --profile- oder -p-Flag in CLI-Befehlen. Beispiel:

databricks account groups list -p <profile-name>

Drücken Sie die TAB-TASTE nach --profile oder -p, um eine Liste der verfügbaren Profile anzuzeigen.

OAuth-U2M (User-to-Machine)-Authentifizierung

Bei der OAuth-Benutzer-zu-Computer-Authentifizierung (U2M) melden Sie sich interaktiv an, und die CLI verwaltet kurzlebige Token in Ihrem Auftrag. OAuth-Token laufen in weniger als einer Stunde ab, was das Risiko verringert, wenn ein Token versehentlich verfügbar gemacht wird. Weitere Informationen finden Sie unter Authorize user access to Azure Databricks with OAuth.

So melden Sie sich an:

Für Befehle auf Kontoebene

databricks auth login --host <account-console-url> --account-id <account-id>

Für Befehle auf Arbeitsbereichsebene

databricks auth login --host <workspace-url>

Die CLI führt Sie durch einen browserbasierten Anmeldefluss. Wenn Sie fertig sind, speichert die CLI die Anmeldeinformationen als Konfigurationsprofil. Sie können den vorgeschlagenen Profilnamen akzeptieren oder Eigenes eingeben.

Um das Profil zu verwenden, übergeben Sie es mit dem --profile- oder -p-Flag in CLI-Befehlen. Beispiel:

databricks clusters list -p <profile-name>

Drücken Sie die TAB-TASTE nach --profile oder -p, um eine Liste der verfügbaren Profile anzuzeigen.

Azure Authentifizierung verwalteter Identitäten

Azure verwaltete Identitäten Authentifizierung verwendet verwaltete Identitäten für Azure Ressourcen (ehemals Managed Service Identities (MSI)) für die Authentifizierung. Siehe Was sind verwaltete Identitäten für Azure-Ressourcen?. Siehe auch Authentifizierung mit Azure-verwalteten Identitäten.

Gehen Sie wie folgt vor, um eine Azure vom Benutzer zugewiesenen verwalteten Identität zu erstellen:

  1. Erstellen oder identifizieren Sie eine Azure VM, und installieren Sie die Databricks CLI darauf, und weisen Sie Dann Ihre verwaltete Identität Ihrem Azure virtuellen Computer und Ihren Ziel-Azure Databricks Konten, Arbeitsbereichen oder beidem zu. Siehe Verwendung von Azure verwalteten Identitäten mit Azure Databricks.

  2. Erstellen oder identifizieren Sie auf der Azure-VM ein Azure Databricks Konfigurationsprofil mit den folgenden Feldern in der Datei .databrickscfg. Wenn Sie das Profil erstellen, ersetzen Sie die Platzhalter durch die entsprechenden Werte.

    Legen Sie für Befehle auf Kontoebene die folgenden Werte in Ihrer Datei vom Typ .databrickscfg fest:

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Legen Sie für Befehle auf Arbeitsbereichsebene die folgenden Werte in Ihrer Datei vom Typ .databrickscfg fest:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Databricks empfiehlt die Verwendung von host und die explizite Zuweisung der Identity zum Arbeitsbereich. Alternativ können Sie azure_workspace_resource_id mit der Azure Ressourcen-ID verwenden. Für diesen Ansatz sind Mitwirkende- oder Besitzerberechtigungen für die Azure Ressource oder eine benutzerdefinierte Rolle mit bestimmten Azure Databricks Berechtigungen erforderlich.

  3. Verwenden Sie auf der Azure-VM die Option --profile oder -p, gefolgt vom Namen Ihres Konfigurationsprofils, um das Profil für Databricks zu verwenden, z. B. databricks account groups list -p <configuration-profile-name> oder databricks clusters list -p <configuration-profile-name>.

    Tipp

    Sie können Tab nach --profile oder -p drücken, um eine Liste der vorhandenen verfügbaren Konfigurationsprofile anzuzeigen, aus der Sie auswählen können, anstatt den Namen des Konfigurationsprofils manuell einzugeben.

Microsoft Entra ID Dienstprinzipal-Authentifizierung

Microsoft Entra ID Dienstprinzipal-Authentifizierung verwendet die Anmeldeinformationen eines Microsoft Entra ID-Dienstprinzipals zur Authentifizierung. Informationen zum Erstellen und Verwalten von Dienstprinzipalen für Azure Databricks finden Sie unter Service principals. Siehe auch Authentifizieren mit Microsoft Entra Dienstprinzipalen.

Um Microsoft Entra ID Dienstprinzipalauthentifizierung zu konfigurieren und zu verwenden, müssen Sie das Authenticate mit dem lokal installierten Azure CLI haben. Außerdem muss Folgendes durchgeführt werden:

  1. 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.

    Legen Sie für Befehle auf Kontoebene die folgenden Werte in Ihrer Datei vom Typ .databrickscfg fest:

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Legen Sie für Befehle auf Arbeitsbereichsebene die folgenden Werte in Ihrer Datei vom Typ .databrickscfg fest:

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Databricks empfiehlt die Verwendung von host und das explizite Zuweisen des Microsoft Entra ID Dienstprinzipals zum Arbeitsbereich. Alternativ können Sie azure_workspace_resource_id mit der Azure Ressourcen-ID verwenden. Für diesen Ansatz sind Mitwirkende- oder Besitzerberechtigungen für die Azure Ressource oder eine benutzerdefinierte Rolle mit bestimmten Azure Databricks Berechtigungen erforderlich.

  2. Verwenden Sie die Databricks CLI --profile- oder -p-Option, gefolgt vom Namen Ihres Konfigurationsprofils, als Teil des Databricks CLI-Befehlsaufrufs, z.B. databricks account groups list -p <configuration-profile-name> oder databricks clusters list -p <configuration-profile-name>.

    Tipp

    Sie können Tab nach --profile oder -p drücken, um eine Liste der vorhandenen verfügbaren Konfigurationsprofile anzuzeigen, aus der Sie auswählen können, anstatt den Namen des Konfigurationsprofils manuell einzugeben.

Azure CLI-Authentifizierung

Azure CLI Authentifizierung verwendet die Azure CLI, um die angemeldete Entität zu authentifizieren. Siehe auch Authenticate mit dem Azure CLI.

Um Azure CLI Authentifizierung zu konfigurieren, müssen Sie die folgenden Schritte ausführen:

  1. Installieren Sie die Azure CLI lokal.

  2. Verwenden Sie die Azure CLI, um sich bei Azure Databricks anzumelden, indem Sie den Befehl az login ausführen. Siehe Sign in with the Azure CLI.

  3. 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.

    Legen Sie für Befehle auf Kontoebene die folgenden Werte in Ihrer Datei vom Typ .databrickscfg fest:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    Legen Sie für Befehle auf Arbeitsbereichsebene die folgenden Werte in Ihrer Datei vom Typ .databrickscfg fest:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    
  4. Verwenden Sie die Databricks CLI --profile- oder -p-Option, gefolgt vom Namen Ihres Konfigurationsprofils, als Teil des Databricks CLI-Befehlsaufrufs, z.B. databricks account groups list -p <configuration-profile-name> oder databricks clusters list -p <configuration-profile-name>.

    Tipp

    Sie können Tab nach --profile oder -p drücken, um eine Liste der vorhandenen verfügbaren Konfigurationsprofile anzuzeigen, aus der Sie auswählen können, anstatt den Namen des Konfigurationsprofils manuell einzugeben.

Authentifizierungsreihenfolge der Auswertung

Wenn sich die Databricks CLI bei einem Azure Databricks Arbeitsbereich oder Konto authentifiziert, sucht sie in der folgenden Reihenfolge nach erforderlichen Einstellungen:

  1. Bundle-Einstellungsdateien für Befehle, die aus einem Bundle-Arbeitsverzeichnis ausgeführt werden. Bündeleinstellungsdateien können keine Anmeldeinformationswerte direkt enthalten.
  2. Umgebungsvariablen, wie in diesem Artikel und in Umgebungsvariablen und -feldern für die einheitliche Authentifizierung aufgeführt.
  3. Konfigurationsprofile in der .databrickscfg Datei.

Sobald die CLI die erforderliche Einstellung findet, wird die Suche an anderen Speicherorten beendet.

Beispiele

  • Wenn eine DATABRICKS_TOKEN Umgebungsvariable gesetzt ist, verwendet die CLI diese, auch wenn .databrickscfg mehrere Token vorhanden sind.
  • Wenn keine DATABRICKS_TOKEN Festgelegt ist und eine Bündelumgebung auf einen Profilnamen wie dev → Profil DEVverweist, verwendet die CLI die Anmeldeinformationen aus diesem Profil in .databrickscfg.
  • Wenn kein DATABRICKS_TOKEN Wert festgelegt ist und eine Paketenvironment einen host Wert angibt, sucht die CLI in .databrickscfg nach einem Profil mit einem übereinstimmenden host und verwendet dessen token.

Authentifizierung mit persönlichem Access-Token (veraltet)

Von Bedeutung

Wenn möglich, empfiehlt Azure Databricks die Verwendung von OAuth anstelle von PATs für die Benutzerkontoauthentifizierung, da OAuth eine stärkere Sicherheit bietet. Berücksichtigen Sie die folgenden Authentifizierungsmethoden:

Die Azure-Databricks-Authentifizierung mit persönlichem Zugriffstoken verwendet ein persönliches Azure-Databricks-Zugriffstoken, um die Ziel-Azure-Databricks-Entität zu authentifizieren, z. B. ein Azure-Databricks-Benutzerkonto. Siehe Authentifizieren Mit Azure Databricks Persönliche Zugriffstokens (Legacy).

Führen Sie zum Erstellen eines persönlichen Zugriffstokens die Schritte unter Erstellen von persönlichen Zugriffstoken für Arbeitsbereichsbenutzer aus.