Freigeben über


Authentifizierung von von Azure verwalteten Identitäten

Die Authentifizierung mit von Azure verwalteten Identitäten verwendet verwaltete Identitäten für Azure-Ressourcen (ehemals verwaltete Dienstidentitäten (MSI)) für die Authentifizierung mit Azure Databricks. Programmgesteuerte Aufrufe an Azure Databricks-Konto- und Arbeitsbereichsvorgänge verwenden diese verwaltete Identität beim Arbeiten mit Azure-Ressourcen, die verwaltete Identitäten unterstützen, z. B. Azure-VMs.

Hinweis

Verwaltete Identitäten für Azure-Ressourcen unterscheiden sich von Microsoft Entra ID-Dienstprinzipalen, die Azure Databricks auch für die Authentifizierung unterstützt. Informationen zur Verwendung von Microsoft Entra ID-Dienstprinzipalen für die Azure Databricks-Authentifizierung anstelle von verwalteten Identitäten für Azure-Ressourcen finden Sie unter:

Die Authentifizierung mit von Azure verwalteten Identitäten wird nur zwischen ordnungsgemäß konfigurierten Ressourcen, die verwaltete Identitäten unterstützen, wie z. B. virtuelle Azure-Computer (Azure VMs), und Azure Databricks-Konten und Arbeitsbereichen unterstützt.

Um die Authentifizierung mit von Azure verwalteten Identitäten mit Azure Databricks zu konfigurieren, müssen Sie die folgenden zugeordneten Umgebungsvariablen, .databrickscfg Felder, Terraform-Felder oder Config Felder auf einer ordnungsgemäß unterstützten Azure-VM festlegen:

  • 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.
  • Die Mandanten-ID der verwalteten Identität.
  • Die Client-ID der verwalteten Identität.
  • Die Azure-Ressourcen-ID.
  • Setzen Sie Azure verwendet verwaltete Identitäten auf „true“.

Um die Authentifizierung mit von Azure verwalteten Identitäten mit Azure Databricks durchzuführen, integrieren Sie folgendes in Ihren Code, basierend auf dem beteiligten Tool oder SDK:

Umgebung

Informationen zum Verwenden von Umgebungsvariablen für einen bestimmten Azure Databricks-Authentifizierungstyp mit einem Tool oder SDK finden Sie unter Unterstützte Authentifizierungstypen nach Azure Databricks-Tool oder -SDK oder in der Dokumentation des jeweiligen Tools oder SDK. Siehe auch Umgebungsvariablen und Felder für die einheitliche Clientauthentifizierung und die Standardreihenfolge der Auswertung für einheitliche Clientauthentifizierungsmethoden und Anmeldeinformationen.

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
  • ARM_CLIENT_ID
  • ARM_USE_MSI, legen Sie dies auf true fest.

Legen Sie für Vorgänge auf Arbeitsbereichsebene die folgenden Umgebungsvariablen fest:

Geben Sie für Vorgänge auf ArbeitsbereichsebeneDATABRICKS_AZURE_RESOURCE_ID zusammen mit der Ressourcen-ID des Azure Databricks-Arbeitsbereichs anstelle von DATABRICKS_HOST zusammen mit der Arbeitsbereichs-URL an, falls die Zielidentität noch nicht dem Arbeitsbereich hinzugefügt wurde. In diesem Fall muss die Zielidentität mindestens über die Berechtigungen „Mitwirkender“ oder „Besitzer“ für die Azure-Ressource im Azure Databricks-Arbeitsbereich verfügen.

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 Unterstützte Authentifizierungstypen nach Azure Databricks-Tool oder -SDK oder in der Dokumentation des jeweiligen Tools oder SDK. Siehe auch Umgebungsvariablen und Felder für die einheitliche Clientauthentifizierung und die Standardreihenfolge der Auswertung für einheitliche Clientauthentifizierungsmethoden und Anmeldeinformationen.

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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

Geben Sie für Vorgänge auf Arbeitsbereichsebeneazure_workspace_resource_id zusammen mit der Ressourcen-ID des Azure Databricks-Arbeitsbereichs anstelle von host zusammen mit der Arbeitsbereichs-URL an, falls die Zielidentität noch nicht dem Arbeitsbereich hinzugefügt wurde. In diesem Fall muss die Zielidentität mindestens über die Berechtigungen „Mitwirkender“ oder „Besitzer“ für die Azure-Ressource im Azure Databricks-Arbeitsbereich verfügen.

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.

Siehe auch Authentifizierung mit von Azure verwalteten Identitäten.

Verbinden

Hinweis

Databricks Connect verwendet das Databricks SDK für Python für die Authentifizierung. Das Databricks SDK für Python hat noch keine Authentifizierung mit von Azure verwalteten Identitäten implementiert.

VS Code

Hinweis

Die Databricks-Erweiterung für Visual Studio Code unterstützt noch keine Authentifizierung mit von Azure verwalteten Identitäten.

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>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

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>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

Geben Sie für Vorgänge auf Arbeitsbereichsebeneazure_workspace_resource_id zusammen mit der Ressourcen-ID des Azure Databricks-Arbeitsbereichs anstelle von host zusammen mit der Arbeitsbereichs-URL an, falls die Zielidentität noch nicht dem Arbeitsbereich hinzugefügt wurde. In diesem Fall muss die Zielidentität mindestens über die Berechtigungen „Mitwirkender“ oder „Besitzer“ für die Azure-Ressource im Azure Databricks-Arbeitsbereich verfügen.

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

Python

Hinweis

Das Databricks SDK für Python hat noch keine Authentifizierung mit von Azure verwalteten Identitäten implementiert.

Java

Hinweis

Das Databricks SDK für Java hat die Authentifizierung mit von Azure verwalteten Identitäten noch nicht implementiert.

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(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

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(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

Geben Sie für Vorgänge auf ArbeitsbereichsebeneAzureResourceID zusammen mit der Ressourcen-ID des Azure Databricks-Arbeitsbereichs anstelle von Host zusammen mit der Arbeitsbereichs-URL an, falls die Zielidentität noch nicht dem Arbeitsbereich hinzugefügt wurde. In diesem Fall muss die Zielidentität mindestens über die Berechtigungen „Mitwirkender“ oder „Besitzer“ für die Azure-Ressource im Azure Databricks-Arbeitsbereich verfügen.

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.