Teilen über


Authentifizieren mit von Azure verwalteten Identitäten

Die Authentifizierung verwalteter Azure-Identitäten verwendet verwaltete Identitäten für Azure-Ressourcen, um sich bei Azure Databricks zu authentifizieren. 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 verwalteter Azure-Identitäten mit Azure Databricks zu konfigurieren, müssen Sie die folgende Konfiguration mithilfe einer der unterstützten Methoden 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:

Umwelt

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

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:

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

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 zum Verwenden des Profils mit einem Tool oder SDK finden Sie unter Autorisieren des Zugriffs auf Azure Databricks-Ressourcen oder die Dokumentation des Tools oder SDKs. Siehe auch Umgebungsvariablen und Felder für die einheitliche Authentifizierung und die Priorität der Authentifizierungsmethode.

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

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

BEFEHLSZEILENSCHNITTSTELLE (CLI)

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

  • Legen Sie die Umgebungsvariablen auf der Registerkarte " Umgebung " wie angegeben fest.
  • Legen Sie die Werte in Ihrer .databrickscfg Datei wie auf der Registerkarte "Profil" 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.

Terraformierung

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
}

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

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.

Geh

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,
}))
// ...

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

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.