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.
- Weitere Informationen zu verwalteten Identitäten finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?.
- Informationen zum Erstellen einer verwalteten Identität und zum Erteilen der Berechtigung für den Zugriff auf Azure Databricks-Konten und -Arbeitsbereiche finden Sie unter Einrichten und Verwenden der Authentifizierung mit von Azure verwalteten Identitäten für die Azure Databricks-Automatisierung.
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:
- Microsoft Entra ID-Dienstprinzipalauthentifizierung
- Azure CLI-Authentifizierung
- Verwalten von Dienstprinzipalen
- Bereitstellen eines Dienstprinzipals mithilfe von Terraform
- Abrufen von Microsoft Entra ID-Token (ehemals Azure Active Directory) für Dienstprinzipale
- Azure CLI-Anmeldung mit einem Microsoft Entra ID-Dienstprinzipal
- PowerShell-Anmeldung mit einem Microsoft Entra ID-Dienstprinzipal
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
.
- Geben Sie für Kontovorgänge
- 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 auftrue
fest.
Legen Sie für Vorgänge auf Arbeitsbereichsebene die folgenden Umgebungsvariablen fest:
DATABRICKS_HOST
, legen Sie diesen Parameter auf den Wert Ihrer arbeitsbereichsspezifischen Azure Databricks-URL fest, z. B.https://adb-1234567890123456.7.azuredatabricks.net
.ARM_CLIENT_ID
ARM_USE_MSI
, legen Sie dies auftrue
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.
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.
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.