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:
- Die Databricks-CLI
- Der Databricks-Terraform-Anbieter
- Databricks Connect
- Die Databricks-Erweiterung für Visual Studio Code
- Das Databricks SDK für Python
- Das Databricks SDK für Java
- Das Databricks SDK für Go
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 für die Dokumentation des Tools oder 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.
- Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken
- Authentifizierung des Zugriffs bei Azure Databricks mit einem Dienstprinzipal unter Verwendung von OAuth (OAuth M2M)
- Authentifizierung des Zugriffs auf Azure Databricks mit einem Benutzerkonto mithilfe von OAuth (OAuth U2M)
- Authentifizierung von von Azure verwalteten Identitäten
- Microsoft Entra ID-Dienstprinzipalauthentifizierung
- 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.
- Anmeldeinformationsbezogene
Config
-API-Felder (für SDKs). Informationen zum Festlegen vonConfig
-Feldern finden Sie in der SDK-Referenzdokumentation. - Anmeldeinformationsbezogene Umgebungsvariablen.
- Anmeldeinformationsbezogene Felder im
DEFAULT
-Konfigurationsprofil innerhalb der.databrickscfg
-Datei. Informationen zum Festlegen von Konfigurationsprofilfeldern finden Sie unter (/dev-tools/auth/config-profiles.md). - 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 derConfig
-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 aufhttps://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:
oauth-m2m
: Legen Sie diesen Wert fest, wenn Sie einen Databricks-Dienstprinzipal für die M2M-Authentifizierung mit OAuth 2.0 verwenden. Weitere Informationen finden Sie unter Authentifizieren des Zugriffs auf Azure Databricks mit einem Dienstprinzipal mithilfe von OAuth (OAuth M2M).For more details, see Authenticate access to Azure Databricks with a service principal using OAuth (OAuth M2M).pat
: Legen Sie diesen Wert fest, wenn Sie Databricks persönliche Zugriffstoken verwenden. Weitere Informationen finden Sie unter Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken.databricks-cli
: Legen Sie diesen Wert fest, wenn Sie die Databricks CLI mit OAuth 2.0 verwenden. Weitere Informationen finden Sie unter Authentifizieren des Zugriffs auf Azure Databricks mit einem Benutzerkonto mit OAuth (OAuth U2M).azure-msi
: Legen Sie diesen Wert fest, wenn Sie eine Azure Managed Service Identity (MSI) verwenden. Weitere Informationen finden Sie unter Azure Managed Identities Authentication.azure-client-secret
: Legen Sie diesen Wert fest, wenn Sie einen Azure-Dienstprinzipal mit geheimen Clientschlüsseln verwenden. Weitere Informationen finden Sie unter MS Entra-Dienstprinzipalauthentifizierung.