إعدادات المصادقة لبرنامج تشغيل Databricks JDBC

توضح هذه المقالة كيفية تكوين إعدادات مصادقة Azure Databricks لبرنامج تشغيل Databricks JDBC.

لتكوين اتصال Azure Databricks لبرنامج تشغيل Databricks JDBC، يجب دمج إعدادات مورد الحساب وأي إعدادات قدرة برنامج تشغيل وإعدادات المصادقة التالية في عنوان URL لاتصال JDBC أو مجموعة برمجية من خصائص اتصال JDBC.

تستخدم عناوين URL لاتصال JDBC التنسيق التالي:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>[;<setting1>=<value1>;<setting2>=<value2>;<settingN>=<valueN>]
  • للحصول على قيم <server-hostname> و، راجع إعدادات الحساب لبرنامج تشغيل Databricks <http-path>JDBC.
  • استبدل <setting>=<value> حسب الحاجة لكل خاصية من خصائص الاتصال كما هو موضح في الأقسام التالية.
  • يمكنك أيضا إضافة إعدادات خاصة أو متقدمة لقدرة برنامج التشغيل.

يمكن استخدام المجموعات البرمجية لخصائص اتصال JDBC في تعليمة Java البرمجية مثل المثال التالي:

package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;

public class Main {
  public static void main(String[] args) throws Exception {
    Class.forName("com.databricks.client.jdbc.Driver");
    String url = "jdbc:databricks://" + System.getenv("DATABRICKS_SERVER_HOSTNAME") + ":443";
    Properties p = new java.util.Properties();
    p.put("httpPath", System.getenv("DATABRICKS_HTTP_PATH"));
    p.put("<setting1>", "<value1");
    p.put("<setting2>", "<value2");
    p.put("<settingN>", "<valueN");
    try (Connection conn = DriverManager.getConnection(url, p)) {
      Statement stmt = conn.createStatement();
      try (ResultSet rs = stmt.executeQuery("<query>")) {
        ResultSetMetaData md = rs.getMetaData();
        String[] columns = new String[md.getColumnCount()];
        for (int i = 0; i < columns.length; i++) {
          columns[i] = md.getColumnName(i + 1);
        }
        while (rs.next()) {
          System.out.print("Row " + rs.getRow() + "=[");
          for (int i = 0; i < columns.length; i++) {
            if (i != 0) {
              System.out.print(", ");
            }
            System.out.print(columns[i] + "='" + rs.getObject(i + 1) + "'");
          }
          System.out.println(")]");
        }
      }
    }
    System.exit(0);
  }
}
  • DATABRICKS_SERVER_HOSTNAME تعيين قيم البيئة و DATABRICKS_HTTP_PATH إلى قيم Server Hostname ومسار HTTP لمورد حساب Azure Databricks الهدف، على التوالي. للحصول على هذه القيم، راجع إعدادات الحساب لبرنامج تشغيل Databricks JDBC. لتعيين متغيرات البيئة، راجع وثائق نظام التشغيل الخاص بك.
  • استبدل <setting> و <value> حسب الحاجة لكل خاصية من خصائص الاتصال كما هو موضح في الأقسام التالية.
  • يمكنك أيضا إضافة إعدادات خاصة أو متقدمة لقدرة برنامج التشغيل، عادة كأزواج و <value> إضافية<setting>.
  • في هذا المثال، استبدل <query> بسلسلة استعلام SQL SELECT .

سواء كنت تستخدم عنوان URL للاتصال أو مجموعة من خصائص الاتصال سيعتمد على متطلبات التطبيق أو الأداة أو العميل أو SDK أو واجهة برمجة التطبيقات الهدف. يتم توفير أمثلة لعناوين URL لاتصال JDBC والمجموعات البرمجية لخصائص اتصال JDBC في هذه المقالة لكل نوع مصادقة Azure Databricks مدعوم.

يدعم برنامج تشغيل Databricks JDBC أنواع مصادقة Azure Databricks التالية:

الرمز المميز للوصول الشخصي ل Azure Databricks

لإنشاء رمز مميز للوصول الشخصي إلى Azure Databricks، قم بما يلي:

  1. في مساحة عمل Azure Databricks، انقر فوق اسم مستخدم Azure Databricks في الشريط العلوي، ثم حدد الإعدادات من القائمة المنسدلة.
  2. انقر فوق المطور.
  3. إلى جانب رموز الوصول المميزة، انقر فوق إدارة.
  4. النقر على Generate new token.
  5. (اختياري) أدخل تعليقا يساعدك على تحديد هذا الرمز المميز في المستقبل، وتغيير العمر الافتراضي للرمز المميز وهو 90 يوما. لإنشاء رمز مميز بدون مدة بقاء (غير مستحسن)، اترك مربع مدة البقاء (أيام) فارغا (فارغ).
  6. انقر فوق "Generate".
  7. انسخ الرمز المميز المعروض إلى موقع آمن، ثم انقر فوق تم.

إشعار

تأكد من حفظ الرمز المميز المنسخ في موقع آمن. لا تشارك الرمز المميز المنسخ مع الآخرين. إذا فقدت الرمز المميز المنسخ، فلا يمكنك إعادة إنشاء نفس الرمز المميز بالضبط. بدلا من ذلك، يجب تكرار هذا الإجراء لإنشاء رمز مميز جديد. إذا فقدت الرمز المميز الذي تم نسخه، أو كنت تعتقد أنه تم اختراق الرمز المميز، فإن Databricks يوصي بشدة بحذف هذا الرمز المميز على الفور من مساحة العمل الخاصة بك عن طريق النقر فوق أيقونة سلة المهملات (إبطال) بجوار الرمز المميز في صفحة رموز Access المميزة .

إذا لم تتمكن من إنشاء الرموز المميزة أو استخدامها في مساحة العمل الخاصة بك، فقد يرجع ذلك إلى قيام مسؤول مساحة العمل بتعطيل الرموز المميزة أو عدم منحك الإذن لإنشاء الرموز المميزة أو استخدامها. راجع مسؤول مساحة العمل أو ما يلي:

للمصادقة باستخدام رمز مميز للوصول الشخصي ل Azure Databricks، قم بتعيين التكوين التالي.

بالنسبة إلى عنوان URL لاتصال JDBC مع خصائص التكوين العامة المضمنة وخصائص بيانات الاعتماد الحساسة:

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=3;UID=token;PWD=<personal-access-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", "3");
p.put("UID", "token");
p.put("PWD", "<personal-access-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
  • للحصول على مثال التعليمات البرمجية Java الكامل الذي يمكنك تكييف القصاصة البرمجية السابقة لاحتياجاتك الخاصة، راجع مثال التعليمات البرمجية في بداية هذه المقالة.
  • في عنوان URL السابق أو رمز Java، استبدل <personal-access-token> برمز الوصول الشخصي Databricks لمستخدم مساحة العمل.
  • للحصول على قيم <server-hostname> و، راجع إعدادات الحساب لبرنامج تشغيل Databricks <http-path>JDBC.

الرمز المميز لمعرف Microsoft Entra (المعروف سابقا ب Azure Active Directory)

تدعم برامج تشغيل ODBC وJDBC 2.6.15 وما فوق الرموز المميزة لمعرف Microsoft Entra (المعروف سابقا ب Azure Active Directory) لمستخدم Azure Databricks أو كيان خدمة معرف Microsoft Entra.

لإنشاء رمز مميز للوصول إلى معرف Microsoft Entra، قم بما يلي:

الرموز المميزة للوصول إلى معرف Microsoft Entra لها عمر افتراضي يبلغ حوالي ساعة واحدة. يمكن تحديث رمز الوصول برمجيا لجلسة عمل موجودة دون قطع الاتصال عن طريق تشغيل التعليمات البرمجية في تحديث رمز مميز للوصول إلى معرف Microsoft Entra. للحصول على إرشادات حول كيفية تحديث الرمز المميز، راجع القسم Configuring Authentication > Using OAuth 2.0 في دليل برنامج تشغيل Databricks JDBC.

للمصادقة باستخدام رمز مميز لمعرف Microsoft Entra، قم بتعيين التكوين التالي.

بالنسبة إلى عنوان 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);
// ...
  • للحصول على مثال التعليمات البرمجية Java الكامل الذي يمكنك تكييف القصاصة البرمجية السابقة لاحتياجاتك الخاصة، راجع مثال التعليمات البرمجية في بداية هذه المقالة.
  • في عنوان URL السابق أو التعليمات البرمجية ل Java، استبدل <microsoft-entra-id-token> برمز معرف Microsoft Entra المميز.
  • للحصول على قيم <server-hostname> و، راجع إعدادات الحساب لبرنامج تشغيل Databricks <http-path>JDBC.

لمزيد من المعلومات، راجع القسم في Token Pass-throughدليل برنامج تشغيل Databricks JDBC.

رموز OAuth 2.0 المميزة

يدعم برنامج تشغيل JDBC 2.6.36 والإصدارات الأحدث رمز OAuth 2.0 المميز لكيان خدمة معرف Microsoft Entra. يعرف هذا أيضا باسم مصادقة مرور الرمز المميز OAuth 2.0.

  • لإنشاء رمز OAuth 2.0 المميز لمصادقة مرور الرمز المميز لكيان خدمة معرف Microsoft Entra، راجع إنشاء رموز الوصول المميزة واستخدامها يدويا لمصادقة OAuth من جهاز إلى جهاز (M2M). دون قيمة OAuth access_token الخاصة بكيان الخدمة.

  • لإنشاء كيان خدمة مدار من Microsoft Entra ID، راجع إدارة كيانات الخدمة.

    هام

    يدعم برنامج تشغيل JDBC 2.6.36 وما فوق استخدام أسرار Azure Databricks OAuth لإنشاء رموز OAuth المميزة 2.0. أسرار معرف Microsoft Entra غير مدعومة.

الرموز المميزة OAuth 2.0 لها عمر افتراضي يبلغ ساعة واحدة. لإنشاء رمز 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);
// ...
  • للحصول على مثال التعليمات البرمجية Java الكامل الذي يمكنك تكييف القصاصة البرمجية السابقة لاحتياجاتك الخاصة، راجع مثال التعليمات البرمجية في بداية هذه المقالة.
  • في عنوان URL السابق أو رمز Java، استبدل <oauth-token> برمز Azure Databricks OAuth المميز. (الرموز المميزة لمعرف Microsoft Entra غير مدعومة لمصادقة مرور الرمز المميز OAuth 2.0.)
  • للحصول على قيم <server-hostname> و، راجع إعدادات الحساب لبرنامج تشغيل Databricks <http-path>JDBC.

لمزيد من المعلومات، راجع القسم في Token Pass-throughدليل برنامج تشغيل Databricks JDBC.

مصادقة OAuth من مستخدم إلى جهاز (U2M)

يدعم برنامج تشغيل JDBC 2.6.36 والإصدارات الأحدث مصادقة OAuth من مستخدم إلى جهاز (U2M) لمستخدم Azure Databricks. يعرف هذا أيضا باسم المصادقة المستندة إلى المستعرض OAuth 2.0.

لا توجد متطلبات أساسية للمصادقة المستندة إلى المستعرض OAuth U2M أو OAuth 2.0. الرموز المميزة OAuth 2.0 لها عمر افتراضي يبلغ ساعة واحدة. يجب أن تقوم المصادقة المستندة إلى المستعرض OAuth U2M أو OAuth 2.0 بتحديث رموز OAuth 2.0 المميزة منتهية الصلاحية لك تلقائيا.

إشعار

تعمل المصادقة المستندة إلى المستعرض OAuth U2M أو OAuth 2.0 فقط مع التطبيقات التي تعمل محليا. لا يعمل مع التطبيقات المستندة إلى الخادم أو التطبيقات المستندة إلى السحابة.

للمصادقة باستخدام مصادقة OAuth من مستخدم إلى جهاز (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);
// ...
  • للحصول على مثال التعليمات البرمجية Java الكامل الذي يمكنك تكييف القصاصة البرمجية السابقة لاحتياجاتك الخاصة، راجع مثال التعليمات البرمجية في بداية هذه المقالة.
  • في عنوان URL السابق أو التعليمات البرمجية ل Java، استبدل <passphrase> بعبارة مرور من اختيارك. يستخدم برنامج التشغيل هذا المفتاح لتحديث تشفير الرمز المميز.
  • للحصول على قيم <server-hostname> و، راجع إعدادات الحساب لبرنامج تشغيل Databricks <http-path>JDBC.

لمزيد من المعلومات، راجع القسم في Using Browser Based Authenticationدليل برنامج تشغيل Databricks JDBC.

مصادقة OAuth من جهاز إلى جهاز (M2M)

يدعم برنامج تشغيل JDBC 2.6.36 والإصدارات الأحدث مصادقة OAuth من جهاز إلى جهاز (M2M) لكيان خدمة معرف Microsoft Entra. يعرف هذا أيضا باسم مصادقة بيانات اعتماد عميل OAuth 2.0.

لتكوين مصادقة بيانات اعتماد عميل OAuth M2M أو OAuth 2.0، قم بما يلي:

  1. إنشاء كيان خدمة مدار من Microsoft Entra ID ثم تعيينه إلى حسابات Azure Databricks ومساحات العمل. للقيام بذلك، راجع إدارة كيانات الخدمة.

    هام

    يدعم برنامج تشغيل JDBC 2.6.36 والإصدارات الأحدث أسرار Azure Databricks OAuth لمصادقة بيانات اعتماد عميل OAuth M2M أو OAuth 2.0. أسرار معرف Microsoft Entra غير مدعومة.

  2. إنشاء سر Azure Databricks OAuth لمدير الخدمة. للقيام بذلك، راجع إنشاء واستخدام رموز الوصول المميزة يدويا لمصادقة OAuth من جهاز إلى جهاز (M2M).

  3. امنح كيان الخدمة حق الوصول إلى نظام المجموعة أو المستودع. راجع حساب الأذونات أو إدارة مستودع 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);
// ...
  • للحصول على مثال التعليمات البرمجية Java الكامل الذي يمكنك تكييف القصاصة البرمجية السابقة لاحتياجاتك الخاصة، راجع مثال التعليمات البرمجية في بداية هذه المقالة.
  • في عنوان URL السابق أو التعليمات البرمجية ل Java، استبدل العناصر النائبة التالية:
    • استبدل <service-principal-application-id> بقيمة معرف التطبيق (العميل) لمدير الخدمة.
    • استبدل <service-principal-oauth-secret> بسر Azure Databricks OAuth الخاص بكيان الخدمة. (أسرار معرف Microsoft Entra غير مدعومة لمصادقة بيانات اعتماد عميل OAuth M2M أو OAuth 2.0.)
    • للحصول على قيم <server-hostname> و، راجع إعدادات الحساب لبرنامج تشغيل Databricks <http-path>JDBC.

لمزيد من المعلومات، راجع القسم في Using M2M Based Authenticationدليل برنامج تشغيل Databricks JDBC.