Azure CLI-Authentifizierung

Die Azure CLI-Authentifizierung verwendet die Azure CLI, um den angemeldeten Benutzer oder den Dienstprinzipal der Microsoft Entra ID zu authentifizieren.

Hinweis

Verwaltete Dienstprinzipale von Azure Databricks werden direkt in Azure Databricks verwaltet. Verwaltete Dienstprinzipale der Microsoft Entra ID werden in der Microsoft Entra ID verwaltet, die zusätzliche Berechtigungen erfordert. Databricks empfiehlt, in den meisten Szenarien OAuth-Computer-zu-Computer-Authentifizierung (M2M) mit verwalteten Azure Databricks-Dienstprinzipalen anstelle der Azure CLI-Authentifizierung mit Microsoft Entra ID-Dienstprinzipalen zu verwenden. Databricks empfiehlt jedoch auch, die Azure CLI-Authentifizierung mit Microsoft Entra ID-Dienstprinzipalen in Fällen zu verwenden, in denen Sie sich bei Azure Databricks und anderen Azure-Ressourcen gleichzeitig authentifizieren müssen.

Wenn Sie die OAuth-M2M-Authentifizierung mit verwalteten Azure Databricks-Dienstprinzipalen anstelle der Azure CLI-Authentifizierung mit Microsoft Entra ID-Dienstprinzipalen verwenden möchten, überspringen Sie diesen Artikel, und lesen Sie Authentifizierung des Zugriffs bei Azure Databricks mit einem Dienstprinzipal unter Verwendung von OAuth (OAuth M2M).

Um mit Azure Databricks zu konfigurieren, müssen Sie die folgenden Schritte ausführen:

  1. Die Azure CLI-Authentifizierung muss lokal installiert sein.
  2. Führen Sie in der Azure CLI den Befehl az login aus, um sich bei Azure Databricks anzumelden. Siehe:
  3. Legen Sie die folgenden zugehörigen Umgebungsvariablen, .databrickscfg-Felder, Terraform-Felder oder Config-Felder fest:
    • Der Azure Databricks-Host.
      • Geben Sie für Kontovorgänge https://accounts.azuredatabricks.net an.
      • Geben Sie für Arbeitsbereichsvorgänge die arbeitsbereichsspezifische URL an, z. B. https://adb-1234567890123456.7.azuredatabricks.net.
    • Für Kontovorgänge die Azure Databricks-Konto-ID.

Um die Azure CLI-Authentifizierung mit 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 für Vorgänge auf Kontoebene die folgenden Umgebungsvariablen fest:

  • DATABRICKS_HOST, legen Sie diesen Parameter auf den Wert der Konsolen-URL Ihres Azure Databricks-Kontos fest, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID

Legen Sie für Vorgänge auf Arbeitsbereichsebene 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 für Vorgänge auf Kontoebene die folgenden Werte in Ihrer .databrickscfg-Datei fest. In diesem Fall lautet die Konsolen-URL Ihres Azure Databricks-Kontos https://accounts.azuredatabricks.net:

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

Legen Sie für Vorgänge auf Arbeitsbereichsebene 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>

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie für Databricks CLI eine der folgenden Aktionen aus:

  • Legen Sie die Umgebungsvariablen wie im Abschnitt „Umgebung“ dieses Artikels angegeben fest.
  • Legen Sie die Werte in Ihrer .databrickscfg-Datei wie im Abschnitt „Profil“ dieses Artikels angegeben fest.

Umgebungsvariablen haben immer Vorrang vor den Werten in Ihrer .databrickscfg-Datei.

Weitere Informationen dazu finden Sie unter Azure CLI-Authentifizierung.

Verbinden

Hinweis

Die Authentifizierung mit der Azure-Befehlszeilenschnittstelle wird in den folgenden Databricks Connect-Versionen unterstützt:

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

Für Databricks Connect können Sie eine der folgenden Aktionen ausführen:

  • Legen Sie die Werte in Ihrer .databrickscfg-Datei für Vorgänge auf Arbeitsbereichsebene in Azure Databricks fest, wie im Abschnitt „Profil“ dieses Artikels angegeben. Legen Sie auch die Umgebungsvariable cluster_id in Ihrem Profil auf Ihre arbeitsbereichsspezifische URL fest, z. B. https://adb-1234567890123456.7.azuredatabricks.net.
  • Legen Sie die Umgebungsvariablen für Vorgänge auf Arbeitsbereichsebene in Azure Databricks fest, wie im Abschnitt „Umgebung“ dieses Artikels angegeben. Legen Sie auch die Umgebungsvariable DATABRICKS_CLUSTER_ID auf Ihre arbeitsbereichsspezifische URL fest, z. B. https://adb-1234567890123456.7.azuredatabricks.net.

Die Werte in Ihrer .databrickscfg-Datei haben immer Vorrang vor Umgebungsvariablen.

Informationen zum Initialisieren des Databricks Connect-Clients mit diesen Umgebungsvariablen oder den Werten in Ihrer .databrickscfg-Datei finden Sie unter den folgenden Ressourcen:

VS-Code

Für die Databricks-Erweiterung für Visual Studio Code gehen Sie folgendermaßen vor:

  1. Klicken Sie im Bereich Konfiguration auf Databricks konfigurieren.
  2. Geben Sie in der Befehlspalette als Databricks-Host Ihre arbeitsbereichsspezifische URL ein, z. B https://adb-1234567890123456.7.azuredatabricks.net, und drücken Sie dann Enter.
  3. Wählen Sie Azure CLI aus.

Weitere Informationen finden Sie unter Einrichten der Azure CLI-Authentifizierung.

Terraform

Für Vorgänge auf Kontoebene, für Standardauthentifizierung:

provider "databricks" {
  alias = "accounts"
}

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. dem HashiCorp-Tresor. Weitere Informationen finden Sie unter Tresoranbieter). In diesem Fall lautet die Konsolen-URL Ihres Azure Databricks-Kontos https://accounts.azuredatabricks.net:

provider "databricks" {
  alias      = "accounts"
  host       = <retrieve-account-console-url>
  account_id = <retrieve-account-id>
}

Für Vorgänge auf Arbeitsbereichsebene, für Standardauthentifizierung:

provider "databricks" {
  alias = "workspace"
}

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. dem HashiCorp-Tresor. Weitere Informationen finden Sie unter Tresoranbieter). In diesem Fall ist der Host die arbeitsbereichsspezifische Azure Databricks-URL, z. B. https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias = "workspace"
  host  = <retrieve-workspace-url>
}

Weitere Informationen zur Authentifizierung mit dem Databricks-Terraform-Anbieter finden Sie unter Authentifizierung.

Python

Für Vorgänge auf Kontoebene, für Standardauthentifizierung:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. Azure-KeyVault). In diesem Fall lautet die Konsolen-URL Ihres Azure Databricks-Kontos https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host       = retrieve_account_console_url(),
  account_id = retrieve_account_id()
)
# ...

Für Vorgänge auf Arbeitsbereichsebene, für Standardauthentifizierung:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. Azure-KeyVault). In diesem Fall ist der Host die arbeitsbereichsspezifische Azure Databricks-URL, z. B. https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieve_workspace_url())
# ...

Weitere Informationen zur Authentifizierung mit Databricks-Tools und -SDKs, die Python verwenden und die einheitliche Databricks-Clientauthentifizierung implementieren, finden Sie hier:

Java

Für Vorgänge auf Kontoebene, für Standardauthentifizierung:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. Azure-KeyVault). In diesem Fall lautet die Konsolen-URL Ihres Azure Databricks-Kontos https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId())
AccountClient a = new AccountClient(cfg);
// ...

Für Vorgänge auf Arbeitsbereichsebene, für Standardauthentifizierung:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. Azure-KeyVault). In diesem Fall ist der Host die arbeitsbereichsspezifische Azure Databricks-URL, z. B. https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Weitere Informationen zur Authentifizierung mit Databricks-Tools und -SDKs, die Java verwenden und die einheitliche Databricks-Clientauthentifizierung implementieren, finden Sie hier:

Go

Für Vorgänge auf Kontoebene, für Standardauthentifizierung:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. Azure-KeyVault). In diesem Fall lautet die Konsolen-URL Ihres Azure Databricks-Kontos https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:      retrieveAccountConsoleUrl(),
  AccountId: retrieveAccountId(),
}))
// ...

Für Vorgänge auf Arbeitsbereichsebene, für Standardauthentifizierung:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Für die direkte Konfiguration (ersetzen Sie die retrieve-Platzhalter durch Ihre eigene Implementierung, um die Werte aus der Konsole oder einem anderen Konfigurationsspeicher abzurufen, z. B. Azure-KeyVault). In diesem Fall ist der Host die arbeitsbereichsspezifische Azure Databricks-URL, z. B. https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host: retrieveWorkspaceUrl(),
}))
// ...

Weitere Informationen zur Authentifizierung mit Databricks-Tools und -SDKs, die Go verwenden und die einheitliche Databricks-Clientauthentifizierung implementieren, finden Sie unter Authentifizieren des Databricks SDK für Go bei Ihrem Azure Databricks-Konto oder -Arbeitsbereich.