Freigeben über


Authentifizierungseinstellungen für den Databricks ODBC-Treiber

In diesem Artikel wird beschrieben, wie Sie die Azure Databricks-Authentifizierungseinstellungen für den Databricks ODBC-Treiber konfigurieren.

Der Databricks ODBC-Treiber unterstützt die folgenden Azure Databricks-Authentifizierungstypen:

Persönliches Zugriffstoken für Azure Databricks

Führen Sie zum Erstellen eines persönlichen Azure Databricks-Zugriffstokens die Schritte in Azure Databricks persönliche Zugriffstoken für Arbeitsbereichsbenutzer aus.

Um sich mit einem persönlichen Azure Databricks-Zugangstoken zu authentifizieren, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Einstellungen der Treiberfunktion hinzu:

Einstellung Wert
AuthMech 3
UID token
PWD Persönliches Databricks-Zugriffstoken für Ihre*n Arbeitsbereichsbenutzer*in

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=3
UID=token
PWD=<personal-access-token>

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=3;
UID=token;
PWD=<personal-access-token>

Microsoft Entra ID-Token

Der ODBC--Treiber 2.6.15 und höher unterstützt Microsoft Entra ID-Token für einen Azure Databricks-Benutzer oder einen Microsoft Entra ID-Dienstprinzipal.

Gehen Sie wie folgt vor, um ein Microsoft Entra ID-Zugriffstoken zu erstellen:

Microsoft Entra ID-Zugriffstoken haben eine Standardlebensdauer von ca. 1 Stunde. Ein Zugriffstoken kann für eine vorhandene Sitzung programmgesteuert aktualisiert werden, ohne dass die Verbindung unterbrochen wird. Führen Sie hierzu den Code unter Aktualisieren eines Microsoft Entra ID-Zugriffstokens aus. Anweisungen zum Aktualisieren des Tokens finden Sie im Abschnitt Configuring Authentication on Windows > Providing a New Access Token im Databricks ODBC-Treiberhandbuch.

Um sich mit einem Microsoft Entra ID-Token zu authentifizieren, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Einstellungen der Treiberfunktion hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 0
Auth_AccessToken Das Microsoft Entra ID-Token

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<microsoft-entra-id-token>

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<microsoft-entra-id-token>

Weitere Informationen finden Sie in den Token Pass-through-Abschnitten im Databricks ODBC-Treiberhandbuch.

OAuth 2.0-Token

ODBC-Treiber 2.7.5 und höher unterstützt ein OAuth 2.0-Token für einen Microsoft Entra ID-Dienstprinzipal. Dieser Vorgang wird auch als Passthrough-Authentifizierung per OAuth 2.0-Token bezeichnet.

Wichtig

ODBC-Treiber 2.7.5 und höher unterstützen die Verwendung von Azure Databricks-OAuth-Geheimnissen zum Erstellen von OAuth 2.0-Token. Geheime Schlüssel der Microsoft Entra ID werden nicht unterstützt.

OAuth 2.0-Token haben eine Standardlebensdauer von 1 Stunde. Wiederholen Sie diesen Vorgang, um ein neues OAuth 2.0-Token zu generieren.

Um sich über die OAuth 2.0-Token Passthrough-Authentifizierung zu authentifizieren, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Einstellungen der Treiberfunktion hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 0
Auth_AccessToken Azure Databricks-OAuth-Token

(Microsoft Entra ID-Token werden für die Passthrough-Authentifizierung per OAuth 2.0-Token nicht unterstützt.)

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<databricks-oauth-token>

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<databricks-oauth-token>

Weitere Informationen finden Sie in den Token Pass-through-Abschnitten im Databricks ODBC-Treiberhandbuch.

U2M-Authentifizierung (User-to-Machine) für Databricks-OAuth

Der ODBC-Treiber 2.8.2 und höher unterstützt die OAuth-U2M-Authentifizierung (User-to-Machine) für Azure Databricks-Benutzer. Dies wird auch als browserbasierte OAuth 2.0-Authentifizierung bezeichnet.

Die browserbasierte OAuth U2M- oder OAuth 2.0-Authentifizierung hat keine Voraussetzungen. OAuth 2.0-Token haben eine Standardlebensdauer von 1 Stunde. Die browserbasierte OAuth U2M- oder OAuth 2.0-Authentifizierung sollte abgelaufene OAuth 2.0-Token automatisch aktualisieren.

Hinweis

Die browserbasierte OAuth U2M- oder OAuth 2.0-Authentifizierung funktioniert nur mit Anwendungen, die lokal ausgeführt werden. Sie funktioniert nicht mit serverbasierten oder cloudbasierten Anwendungen.

Um sich über die U2M (User-to-Machine) OAuth- oder die browserbasierte OAuth 2.0-Authentifizierung zu authentifizieren, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Einstellungen der Treiberfunktion hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 2
PWD Ein Kennwort Ihrer Wahl. Der Treiber verwendet diesen Schlüssel für die Aktualisierungstokenverschlüsselung.
Auth_Client_ID (optional) databricks-sql-odbc (Standard) Sie finden alle entsprechenden Anwendungen unter den App-Verbindungseinstellungen in der Databricks-Kontokonsole. Weitere Informationen finden Sie unter Aktivieren von benutzerdefinierten OAuth-Anwendungen mit der Azure Databricks UI.
Auth_Scope (optional) sql offline_access (Standard)
OAuth2RedirectUrlPort (optional) 8020 (Standard)

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=2
PWD=<password>

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=2;
PWD=<password>

Weitere Informationen finden Sie in den Browser Based-Abschnitten im Databricks ODBC-Treiberhandbuch.

U2M-Authentifizierung (User-to-Machine) für Microsoft Entra ID

Der ODBC-Treiber 2.8.2 und höher unterstützt die OAuth-U2M-Authentifizierung (User-to-Machine) für Microsoft Entra ID für einen Azure Databricks-Benutzer.

Um OAuth-U2M-Authentifizierung (User-to-Machine) für Microsoft Entra ID zu verwenden, muss der OAuth-Client (Anwendung) in Microsoft Entra-ID registriert sein. Weitere Informationen finden Sie in der Anleitung.

Um die OAuth-U2M-Authentifizierung (User-to-Machine) für Microsoft Entra ID zu nutzen, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Treiberfunktionseinstellungen hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 2
PWD Ein Kennwort Ihrer Wahl. Der Treiber verwendet diesen Schlüssel für die Aktualisierungstokenverschlüsselung.
Auth_Client_ID Die Anwendungs-ID (Client-) der Azure-Anwendung
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort Umleitungsport der Azure-Anwendung

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<application-id-azure-application>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort=<redirect port of the Azure application>

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<application-id-azure-application>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration;
OAuth2RedirectUrlPort=<redirect port of the Azure application>;

OAuth-Computer-zu-Computer-Authentifizierung (M2M)

Der ODBC-Treiber unterstützt die OAuth-M2M-Authentifizierung (Machine-to-Machine) für einen Azure Databricks-Dienstprinzipal. Dies wird auch OAuth 2.0-Authentifizierung mit Clientanmeldeinformationen genannt.

Um die OAuth M2M- oder OAuth 2.0-Authentifizierung mit Clientanmeldeinformationen zu konfigurieren, gehen Sie wie folgt vor:

  1. Erstellen Sie einen Azure Databricks-Dienstprinzipal in Ihrem Azure Databricks-Arbeitsbereich, und erstellen Sie ein OAuth-Geheimnis für diesen Dienstprinzipal.

    Informationen zum Erstellen des Dienstprinzipals und des geheimen OAuth-Schlüssels finden Sie unter Authentifizierung des Zugriffs bei Azure Databricks mit einem Dienstprinzipal unter Verwendung von OAuth (OAuth M2M). Notieren Sie sich den UUID- oder Anwendungs-ID-Wert des Dienstprinzipals und den Geheimniswert für das OAuth-Geheimnis des Dienstprinzipals.

  2. Gewähren Sie dem Dienstprinzipal Zugriff auf Ihren Cluster oder Ihr Warehouse. Weitere Informationen finden Sie unter Compute-Berechtigungen und Verwalten eines SQL-Warehouse.

Um sich über die M2M (Machine-to-Machine) OAuth- oder die OAuth 2.0-Authentifizierung mit Clientanmeldeinformationen zu authentifizieren, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Einstellungen der Treiberfunktion hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 1
Auth_Client_ID Der UUID/Anwendungs-ID-Wert des Dienstprinzipals
Auth_Client_Secret Der OAuth-Geheimnis-Wert des Dienstprinzipals
Auth_Scope (optional) all-apis (Standard)

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<service-principal-application-ID>
Auth_Client_Secret=<service-principal-secret>
Auth_Scope=all-apis

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<service-principal-application-ID>;
Auth_Client_Secret=<service-principal-secret>;
Auth_Scope=all-apis

Weitere Informationen finden Sie in den Client Credentials-Abschnitten im Databricks ODBC-Treiberhandbuch.

M2M-Authentifizierung (Machine-to-Machine) für Microsoft Entra ID

Der ODBC-Treiber 2.8.2 und höher unterstützt die M2M-Authentifizierung (Machine-to-Machine) für Entra ID für einen Microsoft Entra ID-Dienstprinzipal.

So konfigurieren Sie die M2M-Authentifizierung (Machine-to-Machine) für Entra ID:

  1. Erstellen Sie einen durch Microsoft Entra ID verwalteten Dienstprinzipal. Informationen hierzu finden Sie unter Verwalten von Dienstprinzipalen.
  2. Gewähren Sie dem Dienstprinzipal Zugriff auf Ihren Cluster oder Ihr Warehouse. Weitere Informationen finden Sie unter Compute-Berechtigungen und Verwalten eines SQL-Warehouse.

Um die OAuth-M2M-Authentifizierung (User-to-Machine) für Entra ID zu nutzen, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Treiberfunktionseinstellungen hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 1
Auth_Client_ID Die Anwendungs-ID des Dienstprinzipals in Entra ID
Auth_Client_Secret Der geheime Clientschlüssel des Dienstprinzipals in Entra ID Dies ist der geheime Clientschlüssel, den Sie unter „Zertifikate und Geheimnisse“ in Microsoft Entra ID erstellen.
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<entra-id-service-principal-application-ID>
Auth_Client_Secret=<entra-id-service-principal-client-secret>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<entra-id-service-principal-application-ID>>;
Auth_Client_Secret=<entra-id-service-principal-client-secret>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Authentifizierung mit von Azure verwalteten Identitäten

ODBC-Treiber 2.7.7 und höher unterstützt die Authentifizierung mit von Azure verwalteten Identitäten. Bei dieser Authentifizierung werden verwaltete Identitäten für Azure-Ressourcen (ehemals verwaltete Dienstidentitäten (Managed Service Identities, MSI)) für die Authentifizierung mit Azure Databricks verwendet. Programmgesteuerte Aufrufe an Azure Databricks-Arbeitsbereichsvorgänge verwenden diese verwalteten Identitäten beim Arbeiten mit Azure-Ressourcen, die verwaltete Identitäten unterstützen, z. B. Azure-VMs.

Um sich über die Authentifizierung mit von Azure verwalteten Identitäten zu authentifizieren, fügen Sie die folgenden Konfigurationen zu Ihren Computeeinstellungen und allen speziellen oder erweiterten Einstellungen der Treiberfunktion hinzu:

Einstellung Wert
AuthMech 11
Auth_Flow 3
Auth_Client_ID Die ID der verwalteten Azure-Identität.
Azure_workspace_resource_id Azure-Ressourcen-ID für Ihren Azure Databricks-Arbeitsbereich

Klicken Sie zum Abrufen dieser ID auf der oberen Navigationsleiste Ihres Azure Databricks-Arbeitsbereichs auf Ihren Benutzernamen und dann auf
Azure-Portal. Klicken Sie auf der angezeigten Ressourcenseite des Azure Databricks-Arbeitsbereichs in der Seitenleiste unter Einstellungen auf Eigenschaften. Die ID befindet sich in ID unter Grundlagen.

Verwenden Sie das folgende Format, um einen DSN für Systeme zu erstellen, die nicht auf Windows basieren:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=3
Auth_Client_ID=<azure-managed-identity-ID>
Azure_workspace_resource_id=<azure-workspace-resource-ID>

Verwenden Sie das folgende Format, um eine DSN-lose Verbindungszeichenfolge zu erstellen. Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt. Die Zeichenfolge darf diese Zeilenumbrüche nicht enthalten:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=3;
Auth_Client_ID=<azure-managed-identity-ID>;
Azure_workspace_resource_id=<azure-workspace-resource-ID>