Поделиться через


Параметры проверки подлинности для драйвера ODBC Databricks (Simba)

На этой странице описывается настройка параметров проверки подлинности Azure Databricks для драйвера ODBC Databricks.

Драйвер ODBC Databricks поддерживает следующие типы проверки подлинности Azure Databricks:

Токен идентификатора Microsoft Entra

Драйвер ODBC версии 2.6.15 и выше поддерживает токены Microsoft Entra ID для пользователя Azure Databricks или субъекта-службы Microsoft Entra ID.

Чтобы создать токен доступа Microsoft Entra ID, сделайте следующее:

Токены доступа Microsoft Entra ID имеют время существования по умолчанию около одного часа. Обновите маркер доступа программно для существующего сеанса без нарушения подключения, выполнив код в разделе Обновление токенов. Инструкции см. в руководстве по использованию OAuth 2.0 в руководстве по драйверу ODBC Databricks.

Чтобы пройти проверку подлинности с помощью маркера идентификатора Microsoft Entra, добавьте следующие конфигурации в параметры вычислений и любые специальные или расширенные параметры возможностей драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 0
Auth_AccessToken Токен идентификатора Microsoft Entra

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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>

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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>

Дополнительные сведения см. в разделе "Сквозная передача маркера" в руководстве по драйверу ODBC Databricks (HTML или PDF).

Субъекты-службы с ролями Azure

Если служебный клиент Microsoft Entra ID обладает ролью Azure на ресурсе группы рабочих областей в Azure, но не включен в рабочую область Azure Databricks, необходимо задать дополнительные заголовки HTTP в подключении ODBC. Драйвер ODBC Для Simba Spark поддерживает добавление заголовков с помощью формата http.header.[HeaderKey]=[HeaderValue].

Задайте следующие обязательные заголовки из учетных записей службы с ролью Azure в строке подключения DSN или бес-DSN:

  • http.header.X-Databricks-Azure-SP-Management-Token=<management-access-token>
  • http.header.X-Databricks-Azure-Workspace-Resource-Id=<workspace-resource-id>

Чтобы получить маркер управления, см. статью "Субъекты-службы" с ролью Azure. Чтобы получить идентификатор ресурса рабочей области, ознакомьтесь с проверкой подлинности управляемых удостоверений Azure.

Токены OAuth 2.0

Драйвер ODBC 2.7.5 и выше поддерживает токен OAuth 2.0 для учетной записи службы Microsoft Entra ID. Это также называется проверкой подлинности по схеме передачи токена OAuth 2.0 .

Внимание

Драйвер ODBC 2.7.5 и выше поддерживает использование секретов OAuth Azure Databricks для создания токенов OAuth 2.0. Секреты идентификатора Microsoft Entra не поддерживаются.

Время действия маркеров OAuth 2.0 по умолчанию составляет 1 час. Чтобы создать новый токен OAuth 2.0, повторите этот процесс.

Чтобы выполнить проверку подлинности с помощью сквозной проверки подлинности маркера OAuth 2.0, добавьте следующие конфигурации в параметры вычислений и любые специальные или расширенные параметры возможностей драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 0
Auth_AccessToken Токен OAuth Azure Databricks
(Сквозная проверка подлинности токена OAuth 2.0 не поддерживает токены идентификатора Microsoft Entra.)

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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>

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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>

Дополнительные сведения см. в разделе "Сквозная передача маркера" в руководстве по драйверу ODBC Databricks (HTML или PDF).

Проверка подлинности пользователь–машина (U2M) в Databricks с использованием OAuth

Драйвер ODBC 2.8.2 и более поздних версий поддерживает проверку подлинности пользователя OAuth на компьютере (U2M) для пользователя Azure Databricks. Это также называется проверкой подлинности на основе браузера OAuth 2.0.

Проверка подлинности на основе браузера OAuth U2M или OAuth 2.0 не имеет предварительных требований. Время действия маркеров OAuth 2.0 по умолчанию составляет 1 час. Аутентификация на основе браузера OAuth U2M или OAuth 2.0 автоматически обновляет истекшие маркеры OAuth 2.0.

Примечание.

Проверка подлинности на основе браузера OAuth U2M или OAuth 2.0 работает только с приложениями, которые выполняются локально. Он не работает с серверными или облачными приложениями.

Чтобы пройти проверку подлинности с использованием OAuth, используя пользовательско-машинную проверку подлинности (U2M) или проверку на основе браузера OAuth 2.0, добавьте следующие конфигурации в настройки вычислений и любые специальные или расширенные настройки возможностей драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 2
PWD Пароль по вашему выбору. Драйвер использует этот ключ для шифрования токенов обновления.
Auth_Client_ID (необязательно) databricks-sql-odbc (по умолчанию). Сведения обо всех доступных приложениях см. в разделе "Параметры подключений приложений" в консоли учетной записи.
Auth_Scope (необязательно) sql offline_access (по умолчанию)
OAuth2RedirectUrlPort (необязательно) 8020 (по умолчанию)

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

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

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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

Дополнительные сведения см. в разделе на основе браузера в руководстве по драйверу ODBC Databricks (HTML или PDF).

Аутентификация OAuth пользователя к устройству (U2M) в Microsoft Entra ID

Драйвер ODBC версии 2.8.2 и выше поддерживает пользовательскую аутентификацию Microsoft Entra ID OAuth для связи пользователь-машина (U2M) в Azure Databricks.

Чтобы использовать OAuth пользователь-к-компьютеру (U2M), необходимо зарегистрировать клиент OAuth (приложение) в Microsoft Entra ID, см. статью «Регистрация клиентского приложения в Microsoft Entra ID».

Чтобы пройти аутентификацию с помощью Microsoft Entra ID OAuth для пользователя-компьютера (U2M), добавьте следующие конфигурации в настройки вычислений и любые специальные или расширенные настройки возможностей драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 2
PWD Пароль по вашему выбору. Драйвер использует этот ключ для шифрования токенов обновления
Auth_Client_ID Идентификатор приложения (клиента) приложения Azure
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort Перенаправьте порт приложения Azure

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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>

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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 для взаимодействия машина-машина (M2M)

Драйвер ODBC поддерживает проверку подлинности OAuth на компьютере (M2M) для субъекта-службы Azure Databricks. Это также называется аутентификацией с использованием OAuth 2.0 и учетных данных клиента.

Чтобы настроить проверку подлинности учетных данных клиента OAuth M2M или OAuth 2.0, сделайте следующее:

  1. Создайте сервисный принципал Azure Databricks в рабочей области Azure Databricks и создайте секрет OAuth для этого сервисного принципала.

    Сведения о создании субъекта-службы и его секрета OAuth см. в статье "Авторизация доступа субъекта-службы к Azure Databricks с помощью OAuth". Запишите значение UUID или идентификатора приложения принципала службы и значение секрета для OAuth-ключа принципала службы.

  2. Предоставьте основному служебному объекту доступ к кластеру или хранилищу. См. сведения о разрешениях вычислений или управлении хранилищем SQL.

Чтобы пройти проверку подлинности с помощью проверки подлинности с использованием учетных данных клиента OAuth (M2M) или OAuth 2.0, добавьте следующие конфигурации в параметры вычислений и любые специальные или расширенные параметры возможностей драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 1
Auth_Client_ID Значение идентификатора приложения/ основной службы.
Auth_Client_Secret Значение OAuth секрета служебного субъекта.
Auth_Scope (необязательно) all-apis (по умолчанию)

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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

Дополнительные сведения см. в разделе " Учетные данные клиента" в руководстве по драйверу ODBC Databricks (HTML или PDF).

Аутентификация OAuth между системами (M2M) с использованием Microsoft Entra ID

Драйвер ODBC версии 2.8.2 и выше поддерживает межмашинную (M2M) аутентификацию Microsoft Entra ID OAuth для учетной записи службы Microsoft Entra ID.

Чтобы настроить проверку подлинности Entra ID OAuth в режиме машина-к-машине (M2M), сделайте следующее:

  1. Создайте управляемую учетную запись службы Microsoft Entra ID. Для этого см. раздел "Субъекты-службы".
  2. Предоставьте основному служебному объекту доступ к кластеру или хранилищу. См. сведения о разрешениях вычислений или управлении хранилищем SQL.

Чтобы аутентифицироваться с использованием Entra ID OAuth machine-to-machine (M2M), добавьте следующие настройки в конфигурации вычислительных ресурсов и любые специальные или расширенные параметры драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 1
Auth_Client_ID Идентификатор приложения представителя службы в Entra ID
Auth_Client_Secret Секрет клиента сервисного принципала в Entra ID. Это секрет клиента, который вы создаете в сертификатах и секретах в идентификаторе Microsoft Entra.
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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

Аутентификация управляемых идентификаций Azure

Драйвер ODBC 2.7.7 и выше поддерживает проверку подлинности управляемых удостоверений Azure. Используйте этот метод проверки подлинности при работе с ресурсами Azure, поддерживающими управляемые удостоверения, например виртуальные машины Azure.

Чтобы выполнить проверку подлинности, используя управляемые удостоверения Azure, добавьте следующие конфигурации в параметры вычислений и любые специальные или расширенные параметры возможностей драйвера:

Настройки Значение
AuthMech 11
Auth_Flow 3
Auth_Client_ID Идентификатор управляемого удостоверения Azure.
Azure_workspace_resource_id Идентификатор ресурса Azure для рабочей области Azure Databricks.
Чтобы получить этот идентификатор, в верхней панели навигации рабочей области Azure Databricks щелкните имя пользователя и нажмите кнопку .
Портал Azure. На странице ресурсов рабочей области Azure Databricks щелкните "Свойства " в разделе "Параметры " на боковой панели. Идентификатор находится в Id в разделе Essentials.

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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>

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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>

Личный маркер доступа Azure Databricks (устаревшая версия)

Чтобы создать личный маркер доступа Azure Databricks, выполните действия, описанные в статье "Создание личных маркеров доступа для пользователей рабочей области".

Чтобы выполнить проверку подлинности с помощью личного маркера доступа Azure Databricks, добавьте следующие конфигурации в параметры вычислений и любые специальные или расширенные параметры возможностей драйвера:

Настройки Значение
AuthMech 3
UID token
PWD Токен личного доступа Databricks для пользователя вашей рабочей области

Чтобы создать DSN для систем, отличных от Windows, используйте следующий формат:

[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>

Чтобы создать строку подключения без DSN, используйте следующий формат. Этот пример включает разрывы строк для удобства чтения. Не включайте эти разрывы строк в строку подключения:

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