Freigeben über


Einheitliche Databricks-Clientauthentifizierung

Die einheitliche Authentifizierung des Databricks-Clients zentralisiert das Einrichten und die Automation der Authentifizierung bei Azure Databricks. Er ermöglicht Ihnen, die Databricks-Authentifizierung einmal zu konfigurieren und diese Konfiguration dann für mehrere Databricks-Tools und -SDKs ohne weitere Änderungen an der Authentifizierungskonfiguration zu verwenden.

Teilnehmende Tools und SDKs

Zu den teilnehmenden Databricks-Tools und SDKs gehören:

Alle teilnehmenden Tools und SDKs akzeptieren spezielle Umgebungsvariablen sowie Azure Databricks-Konfigurationsprofile für die Authentifizierung. Der Databricks Terraform-Anbieter und die Databricks-SDKs für Python, Java und Go akzeptieren auch die direkte Konfiguration der Authentifizierungseinstellungen im Code. Ausführliche Informationen finden Sie in Entwicklungstools und Anleitungen zur Dokumentation des Tools oder des SDK.

Standardmethoden für die einheitliche Clientauthentifizierung

Wenn sich ein Tool oder SDK bei Azure Databricks authentifizieren muss, versucht es standardmäßig die folgenden Authentifizierungstypen in der folgenden Reihenfolge. Wenn das Tool oder SDK mit dem versuchten Authentifizierungstyp erfolgreich ist, beendet es die Authentifizierung mit den verbleibenden Authentifizierungstypen. Um die Authentifizierung eines SDK mit einem bestimmten Authentifizierungstyp zu erzwingen, legen Sie das Feld für den Databricks-Authentifizierungstyp der Config-API fest.

  1. Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken
  2. Authentifizierung des Zugriffs bei Azure Databricks mit einem Dienstprinzipal unter Verwendung von OAuth (OAuth M2M)
  3. Authentifizierung des Zugriffs auf Azure Databricks mit einem Benutzerkonto mithilfe von OAuth (OAuth U2M)
  4. Authentifizierung von von Azure verwalteten Identitäten
  5. Microsoft Entra ID-Dienstprinzipalauthentifizierung
  6. Azure CLI-Authentifizierung

Für jeden Authentifizierungstyp, den das beteiligte Tool oder SDK versucht, versucht das Tool oder SDK, Authentifizierungsanmeldeinformationen an den folgenden Speicherorten in der folgenden Reihenfolge zu finden. Wenn es dem Tool oder SDK gelingt, Authentifizierungsanmeldeinformationen zu finden, die verwendet werden können, beendet das Tool oder SDK den Versuch, Authentifizierungsanmeldeinformationen an den verbleibenden Speicherorten zu finden.

  1. Anmeldeinformationsbezogene Config-API-Felder (für SDKs). Informationen zum Festlegen von Config-Feldern finden Sie in der SDK-Referenzdokumentation.
  2. Anmeldeinformationsbezogene Umgebungsvariablen.
  3. Anmeldeinformationsbezogene Felder im DEFAULT-Konfigurationsprofil innerhalb der .databrickscfg-Datei. Informationen zum Festlegen von Konfigurationsprofilfeldern finden Sie unter (/dev-tools/auth/config-profiles.md).
  4. Alle zugehörigen Authentifizierungsanmeldeinformationen, die von der Azure CLI zwischengespeichert werden. Weitere Informationen finden Sie unter Azure CLI-Authentifizierung.

Um maximale Portabilität für Ihren Code zu gewährleisten, empfiehlt Databricks, ein benutzerdefiniertes Konfigurationsprofil innerhalb der .databrickscfg-Datei zu erstellen, dem benutzerdefinierten Konfigurationsprofil die unten erforderlichen Felder unten für Ihren Databricks-Zielauthentifizierungstyp hinzuzufügen und dann die DATABRICKS_CONFIG_PROFILE-Umgebungsvariable auf den Namen des benutzerdefinierten Konfigurationsprofils festzulegen.

Umgebungsvariablen und Felder für die einheitliche Clientauthentifizierung

In den folgenden Tabellen sind die Namen und Beschreibungen der unterstützten Umgebungsvariablen und Felder für die einheitliche Databricks-Clientauthentifizierung aufgeführt. Für die folgenden Tabellen gilt:

  • Umgebungsvariable, falls zutreffend, ist der Name der Umgebungsvariablen.
  • .databrickscfg-Feld, falls zutreffend, ist der Name des Felds in einer Azure Databricks-Konfigurationsprofildatei oder Databricks Terraform-Konfiguration. Informationen zum Festlegen von .databrickscfg-Feldern finden Sie unter Azure Databricks-Konfigurationsprofile.
  • Terraform-Feld, falls zutreffend, ist der Name des Felds in einer Databricks Terraform-Konfiguration. Informationen zum Festlegen von Databricks Terraform-Feldern finden Sie unter Authentifizierung in der Databricks Terraform-Anbieterdokumentation.
  • Config-Feld ist der Name des Felds innerhalb der Config-API für das angegebene SDK.

Allgemeine Host-, Token- und Konto-ID-Umgebungsvariablen und -Felder

Allgemeiner Name BESCHREIBUNG Umgebungsvariable .databrickscfg-Field, Terraform-Feld Config-Feld
Azure Databricks-Host (Zeichenfolge) Die Azure Databricks-Host-URL für den Azure Databricks-Arbeitsbereichsendpunkt oder den Azure Databricks-Kontenendpunkt. DATABRICKS_HOST host host (Python),
setHost (Java),
Host (Go)
Azure Databricks-Token (Zeichenfolge) Das persönliche Azure Databricks-Zugriffstoken oder das Microsoft Entra ID-Token. DATABRICKS_TOKEN token token (Python),
setToken (Java),
Token (Go)
Azure Databricks-Konto-ID (Zeichenfolge) Die Azure Databricks-Konto-ID für den Azure Databricks-Kontoendpunkt. Wirkt sich nur aus, wenn der Azure Databricks-Host ebenfalls festgelegt ist auf
https://accounts.azuredatabricks.net.
DATABRICKS_ACCOUNT_ID account_id account_id (Python),
setAccountID (Java),
AccountID (Go)

Azure-spezifische Umgebungsvariablen und -felder

Allgemeiner Name BESCHREIBUNG Umgebungsvariable .databrickscfg-Field, Terraform-Feld Config-Feld
Azure Client-ID (Zeichenfolge) Die Anwendungs-ID des Microsoft Entra ID-Dienstprinzipals. Wird für die Authentifizierung mit von Azure verwalteten Identitäten und die Microsoft Entra ID-Dienstprinzipalauthentifizierung verwendet. ARM_CLIENT_ID azure_client_id azure_client_id (Python),
setAzureClientID (Java),
AzureClientID (Go)
Geheimer Azure-Clientschlüssel (Zeichenfolge) Der geheime Clientschlüssel des Microsoft Entra ID-Dienstprinzipals. Wird mit der Microsoft Entra ID-Dienstprinzipalauthentifizierung verwendet. ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python),
setAzureClientSecret (Java),
AzureClientSecret (Go)
Client-ID (Zeichenfolge) Die Client-ID des von Azure Databricks verwalteten Dienstprinzipals oder des von Microsoft Entra ID verwalteten Dienstprinzipals. Wird mit der OAuth M2M-Authentifizierung verwendet. DATABRICKS_CLIENT_ID client_id client_id (Python),
setClientId (Java),
ClientId (Go)
Geheimer Clientschlüssel (Zeichenfolge) Der geheime Clientschlüssel des von Azure Databricks verwalteten Dienstprinzipals oder des von Microsoft Entra ID verwalteten Dienstprinzipals. Wird mit der OAuth M2M-Authentifizierung verwendet. DATABRICKS_CLIENT_SECRET client_secret client_secret (Python),
setClientSecret (Java),
ClientSecret (Go)
Azure-Umgebung (Zeichenfolge) Der Azure-Umgebungstyp. Der Standardwert ist PUBLIC. ARM_ENVIRONMENT azure_environment azure_environment (Python),
setAzureEnvironment (Java),
AzureEnvironment (Go)
Azure Mandanten-ID (Zeichenfolge) Die Mandanten-ID des Microsoft Entra ID-Dienstprinzipals. ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python),
setAzureTenantID (Java),
AzureTenantID (Go)
Azure verwendet MSI (Boolescher Wert) True, um den kennwortlosen Authentifizierungsflow der verwalteten Azure-Dienstidentität für Dienstprinzipale zu verwenden. Erfordert, dass auch die Azure-Ressourcen-ID festgelegt ist. ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
Azure-Ressourcen-ID (Zeichenfolge) Die Azure Resource Manager-ID für den Azure Databricks-Arbeitsbereich. DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python),
setAzureResourceID (Java),
AzureResourceID (Go)

.databrickscfg-spezifische Umgebungsvariablen und -felder

Verwenden Sie diese Umgebungsvariablen oder Felder, um nicht standardmäßige Einstellungen für .databrickscfg anzugeben. Siehe auch Azure Databricks-Konfigurationsprofile.

Allgemeiner Name BESCHREIBUNG Umgebungsvariable Terraform-Feld Config-Feld
.databrickscfg-Dateipfad (Zeichenfolge) Ein nicht standardmäßiger Pfad zur
.databrickscfg-Datei.
DATABRICKS_CONFIG_FILE config_file config_file (Python),
setConfigFile (Java),
ConfigFile (Go)
.databrickscfg-Standardprofil (Zeichenfolge) Das standardmäßige benannte Profil, das verwendet werden soll, außer DEFAULT. DATABRICKS_CONFIG_PROFILE profile profile (Python),
setProfile (Java),
Profile (Go)

Feld für Authentifizierungstyp

Verwenden Sie diese Umgebungsvariable oder dieses Feld, um zu erzwingen, dass ein SDK einen bestimmten Typ der Databricks-Authentifizierung verwendet.

Allgemeiner Name BESCHREIBUNG Terraform-Feld Config-Feld
Databricks-Authentifizierungstyp (Zeichenfolge) Wenn in der Umgebung mehrere Authentifizierungsattribute verfügbar sind, verwenden Sie den von diesem Argument angegebenen Authentifizierungstyp. auth_type auth_type (Python),
setAuthType (Java),
AuthType (Go)

Zu den unterstützten Feldwerten des Databricks-Authentifizierungstyps gehören: