Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта страница относится к драйверу JDBC Simba (устаревшая версия), версиям ниже версии 3. Databricks настоятельно рекомендует перейти на драйвер JDBC Databricks для подключения JDBC . Она включает такие улучшения, как поддержка представлений метрик каталога Unity, транзакции, охватывающие несколько инструкций SQL, хранимые процедуры, более быстрое получение больших результатов и встроенная телеметрия клиента.
На этой странице описывается настройка параметров проверки подлинности Azure Databricks для драйвера JDBC Databricks.
Драйвер JDBC Databricks поддерживает следующие типы проверки подлинности Azure Databricks:
- Токен идентификатора Microsoft Entra
- Токены OAuth 2.0
- Аутентификация OAuth от пользователя к машине (U2M)
- Аутентификация пользователь-машина (U2M) с помощью OAuth Microsoft Entra ID
- Аутентификация OAuth для межмашинного взаимодействия (M2M)
- Межмашинная (M2M) аутентификация OAuth с Microsoft Entra ID
Токен идентификатора Microsoft Entra
Драйверы ODBC и JDBC версии 2.6.15 и выше поддерживают токены Microsoft Entra ID для пользователя Azure Databricks или служебного принципала Microsoft Entra ID.
Чтобы создать токен доступа Microsoft Entra ID, сделайте следующее:
- Для пользователя Azure Databricks можно использовать Azure CLI. См. Получение токенов Microsoft Entra ID вручную.
- Сведения о субъекте-службе идентификатора Microsoft Entra см. в разделе "Получение маркеров для субъектов-служб". Чтобы создать управляемый принципал службы Microsoft Entra ID, см. раздел Субъекты-службы.
Токены доступа Microsoft Entra ID имеют время существования по умолчанию около одного часа. Обновите маркер доступа программно для существующего сеанса без нарушения подключения, выполнив код в разделе Обновление токенов. Инструкции см. в разделе Об использовании OAuth 2.0 в руководстве по драйверу JDBC Databricks.
Чтобы аутентифицироваться с помощью токена Microsoft Entra ID, задайте следующую конфигурацию.
Для URL-адреса подключения JDBC со встроенными общими свойствами конфигурации и свойствами конфиденциальных учетных данных:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<microsoft-entra-id-token>
Для кода Java с общими свойствами конфигурации и конфиденциальными свойствами учетных данных, заданными за пределами URL-адреса подключения JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<microsoft-entra-id-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- В приведенном выше URL-адресе или коде Java замените
<microsoft-entra-id-token>на токен идентификатора Microsoft Entra ID. - Чтобы получить значения для
<server-hostname>и<http-path>, см. раздел Параметры вычислений для драйвера JDBC Databricks (Simba).
Дополнительные сведения см. в разделе "Проброс маркера" в руководстве по драйверу JDBC Databricks (HTML или PDF).
Токены OAuth 2.0
JDBC драйвер 2.6.36 и выше поддерживает токен OAuth 2.0 для учётной записи Microsoft Entra ID. Это также называется проверкой подлинности по схеме передачи токена OAuth 2.0 .
- Чтобы создать маркер OAuth 2.0 для сквозной проверки подлинности маркера для субъекта-службы идентификатора Microsoft Entra, см. раздел "Создание маркеров доступа OAuth M2M вручную". Запишите значение OAuth
access_tokenсубъекта-службы. - Чтобы создать управляемый принципал службы Microsoft Entra ID, см. раздел Субъекты-службы.
Это важно
Драйвер JDBC версии 2.6.36 и выше поддерживает использование секретов OAuth Azure Databricks для создания токенов OAuth 2.0. Секреты идентификатора Microsoft Entra не поддерживаются.
Время действия маркеров OAuth 2.0 по умолчанию составляет 1 час. Чтобы создать новый токен OAuth 2.0, повторите этот процесс.
Чтобы пройти проверку подлинности посредством передачи токена OAuth 2.0, задайте следующую конфигурацию.
Для URL-адреса подключения JDBC со встроенными общими свойствами конфигурации и свойствами конфиденциальных учетных данных:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>
Для кода Java с общими свойствами конфигурации и конфиденциальными свойствами учетных данных, заданными за пределами URL-адреса подключения JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<oauth-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- В приведенном выше URL-адресе или коде Java замените
<oauth-token>маркером OAuth Azure Databricks. (Маркеры Microsoft Entra ID не поддерживаются для сквозной аутентификации с помощью токенов OAuth 2.0.) - Чтобы получить значения для
<server-hostname>и<http-path>, см. раздел Параметры вычислений для драйвера JDBC Databricks (Simba).
Дополнительные сведения см. в разделе "Проброс маркера" в руководстве по драйверу JDBC Databricks (HTML или PDF).
Аутентификация OAuth по схеме пользователь - машина (U2M)
Драйвер JDBC версии 2.6.36 и выше поддерживает аутентификацию 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 user-to-machine (U2M) или аутентификации на основе браузера OAuth 2.0, задайте следующую конфигурацию.
Для URL-адреса подключения JDBC со встроенными общими свойствами конфигурации и свойствами конфиденциальных учетных данных:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0
Для кода Java с общими свойствами конфигурации и конфиденциальными свойствами учетных данных, заданными за пределами URL-адреса подключения JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "2")
p.put("TokenCachePassPhrase", "<passphrase>");
p.put("EnableTokenCache", "0");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- В приведенном выше URL-адресе или коде Java замените
<passphrase>парольную фразу по своему усмотрению. Драйвер использует этот ключ для шифрования токенов обновления. - Чтобы получить значения для
<server-hostname>и<http-path>, см. раздел Параметры вычислений для драйвера JDBC Databricks (Simba).
Дополнительные сведения см. в разделе "Использование проверки подлинности на основе браузера " в руководстве по драйверу JDBC Databricks (HTML или PDF).
Аутентификация OAuth пользователя к устройству (U2M) в Microsoft Entra ID
Драйвер JDBC версии 2.7.1 и более поздних поддерживает проверку подлинности Microsoft Entra ID OAuth user-to-machine (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 работает только с приложениями, которые выполняются локально. Он не работает с серверными или облачными приложениями.
Чтобы пройти проверку подлинности с помощью Microsoft Entra ID OAuth, пользователь-машина (U2M), клиент OAuth (приложение) должен быть зарегистрирован в Microsoft Entra ID, см. статью "Регистрация клиентского приложения в Microsoft Entra ID". Затем задайте следующую конфигурацию:
Для URL-адреса подключения JDBC со встроенными общими свойствами конфигурации и свойствами конфиденциальных учетных данных:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0;OIDCDiscoveryEndpoint=<endpoint>;EnableOIDCDiscovery=true
Для кода Java с общими свойствами конфигурации и конфиденциальными свойствами учетных данных, заданными за пределами URL-адреса подключения JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "2")
p.put("TokenCachePassPhrase", "<passphrase>");
p.put("EnableTokenCache", "0");
p.put("OIDCDiscoveryEndpoint", "https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration");
p.put("EnableOIDCDiscovery", "true");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- В приведенном выше URL-адресе или коде Java замените
<passphrase>парольную фразу по своему усмотрению. Драйвер использует этот ключ для шифрования токенов обновления. - Чтобы получить значения для
<server-hostname>и<http-path>, см. раздел Параметры вычислений для драйвера JDBC Databricks (Simba).
Дополнительные сведения см. в разделе "Использование проверки подлинности на основе браузера " в руководстве по драйверу JDBC Databricks (HTML или PDF).
Аутентификация OAuth для взаимодействия машина-машина (M2M)
Драйвер JDBC версии 2.6.36 и позднее поддерживает проверку подлинности OAuth "машина-к-машине" (M2M) для служебной учетной записи Microsoft Entra ID. Это также называется аутентификация OAuth 2.0 по учетным данным клиента.
Замечание
JDBC 2.6.40.1071 устраняет проблему в более ранних версиях, в которых подключение с использованием M2M для рабочих областей с приватными каналами не поддерживалась.
Чтобы настроить проверку подлинности учетных данных клиента OAuth M2M или OAuth 2.0, сделайте следующее:
Создайте управляемый служебный принципал идентификатора Microsoft Entra и назначьте его учетным записям Azure Databricks и рабочим областям. Для этого см. раздел "Субъекты-службы".
Создайте секрет OAuth Azure Databricks для субъекта-службы. Для этого см. инструкции по созданию маркеров доступа OAuth M2M вручную.
Предоставьте основному служебному объекту доступ к кластеру или хранилищу. См. сведения о разрешениях вычислений или управлении хранилищем SQL.
Чтобы пройти аутентификацию с использованием OAuth для взаимодействия машина-машина (M2M) или аутентификации с помощью учетных данных клиента OAuth 2.0, задайте следующую конфигурацию.
Для URL-адреса подключения JDBC со встроенными общими свойствами конфигурации и свойствами конфиденциальных учетных данных:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>
Для кода Java с общими свойствами конфигурации и конфиденциальными свойствами учетных данных, заданными за пределами URL-адреса подключения JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "1");
p.put("OAuth2ClientId", "<service-principal-application-id>");
p.put("OAuth2Secret", "<service-principal-oauth-secret>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- В приведенном выше URL-адресе или коде Java замените следующие заполнители:
- Замените
<service-principal-application-id>на значение идентификатора приложения (клиента) основной учетной записи службы. - Замените
<service-principal-oauth-secret>на OAuth секрет Principal-субъекта службы Azure Databricks. (Секреты идентификатора Microsoft Entra не поддерживаются для проверки подлинности клиента OAuth M2M или OAuth 2.0.0.) - Чтобы получить значения для
<server-hostname>и<http-path>, см. раздел Параметры вычислений для драйвера JDBC Databricks (Simba).
- Замените
Дополнительные сведения см. в разделе "Использование проверки подлинности на основе M2M " в руководстве по драйверу JDBC Databricks (HTML или PDF).
Аутентификация OAuth между системами (M2M) с использованием Microsoft Entra ID
Драйвер JDBC версии 2.7.1 и более поздних версий поддерживают аутентификацию Microsoft Entra ID OAuth между машинами (M2M) для учетной записи службы Microsoft Entra ID. Это также называется аутентификация OAuth 2.0 по учетным данным клиента.
Чтобы настроить проверку подлинности Entra ID OAuth M2M, выполните следующие действия:
Создайте управляемый служебный принципал идентификатора Microsoft Entra и назначьте его учетным записям Azure Databricks и рабочим областям. Для этого см. раздел "Субъекты-службы".
Создайте OAuth-секрет Entra ID для учетной записи службы. Для этого см. инструкции по созданию маркеров доступа OAuth M2M вручную.
Предоставьте основному служебному объекту доступ к кластеру или хранилищу. См. сведения о разрешениях вычислений или управлении хранилищем SQL.
Чтобы выполнить аутентификацию с помощью Entra ID OAuth между машинами (M2M), задайте следующую конфигурацию.
Для URL-адреса подключения JDBC со встроенными общими свойствами конфигурации и свойствами конфиденциальных учетных данных:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>;OIDCDiscoveryEndpoint=<endpoint>;EnableOIDCDiscovery=true
Для кода Java с общими свойствами конфигурации и конфиденциальными свойствами учетных данных, заданными за пределами URL-адреса подключения JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "1");
p.put("OAuth2ClientId", "<entra-id-service-principal-application-id>");
p.put("OAuth2Secret", "<entra-id-service-principal-client-secret>");
p.put("OIDCDiscoveryEndpoint", "https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration");
p.put("EnableOIDCDiscovery", "true");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- В приведенном выше URL-адресе или коде Java замените следующие заполнители:
- Замените
<entra-id-service-principal-application-id>на значение идентификатора приложения сервисного принципала в Entra. - Замените
<entra-id-service-principal-client-secret>на секрет учетной записи службы в Entra. Это секрет клиента, который вы создаете в сертификатах и секретах в идентификаторе Microsoft Entra. - Чтобы получить значения для
<server-hostname>и<http-path>, см. раздел Параметры вычислений для драйвера JDBC Databricks (Simba).
- Замените