مشاركة عبر


مصادقة الوصول إلى Azure Databricks باستخدام حساب مستخدم باستخدام OAuth (OAuth U2M)

يستخدم Azure Databricks مصادقة OAuth من مستخدم إلى جهاز (U2M) لتمكين وصول CLI وواجهة برمجة التطبيقات إلى حساب Azure Databricks وموارد مساحة العمل نيابة عن مستخدم. بعد أن يقوم المستخدم بتسجيل الدخول في البداية والموافقة على طلب مصادقة OAuth، يتم إعطاء رمز OAuth المميز إلى الأداة المشاركة أو SDK لإجراء المصادقة المستندة إلى الرمز المميز نيابة عن المستخدم من ذلك الوقت فصاعدا. الرمز المميز OAuth له عمر ساعة واحدة، وبعد ذلك ستقوم الأداة أو SDK المعنية بمحاولة خلفية تلقائية للحصول على رمز مميز جديد صالح أيضا لمدة ساعة واحدة.

يدعم Azure Databricks طريقتين لمصادقة الوصول إلى حساب مستخدم باستخدام OAuth:

  • في الغالب تلقائيا، باستخدام دعم مصادقة العميل الموحد Databricks. استخدم هذا النهج المبسط إذا كنت تستخدم Azure Databricks SDKs محددة (مثل Databricks Terraform SDK) والأدوات. يتم سرد الأدوات المدعومة وSDKs في مصادقة العميل الموحدة Databricks.
  • يدويا، عن طريق إنشاء زوج من التحقق من التعليمات البرمجية OAuth/ التحدي ورمز التخويل مباشرة، واستخدامهما لإنشاء رمز OAuth المميز الأولي الذي ستوفره في التكوين الخاص بك. استخدم هذا الأسلوب عندما لا تستخدم واجهة برمجة تطبيقات مدعومة من مصادقة عميل Databricks الموحدة. لمزيد من التفاصيل، راجع: إنشاء واستخدام رموز الوصول المميزة يدويا لمصادقة OAuth من مستخدم إلى جهاز (U2M).

مصادقة U2M مع مصادقة العميل الموحدة ل Databricks

إشعار

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

لتنفيذ مصادقة OAuth U2M مع Azure Databricks SDKs والأدوات التي تدعم مصادقة العميل الموحدة، قم بدمج ما يلي ضمن التعليمات البرمجية الخاصة بك:

البيئة

لاستخدام متغيرات البيئة لنوع مصادقة Azure Databricks معين باستخدام أداة أو SDK، راجع مصادقة الوصول إلى موارد Azure Databricks أو وثائق الأداة أو SDK. راجع أيضا متغيرات البيئة وحقول المصادقة الموحدة للعميل والأساليب الافتراضية للمصادقة الموحدة للعميل.

بالنسبة للعمليات على مستوى الحساب، قم بتعيين متغيرات البيئة التالية:

  • DATABRICKS_HOST، قم بتعيين إلى قيمة عنوان URL لوحدة تحكم حساب Azure Databricks، https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID

بالنسبة للعمليات على مستوى مساحة العمل، قم بتعيين متغيرات البيئة التالية:

  • DATABRICKS_HOST، قم بتعيين إلى قيمة عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

ملف التعريف

إنشاء ملف تعريف تكوين Azure Databricks أو تعريفه باستخدام الحقول التالية في ملفك.databrickscfg. إذا قمت بإنشاء ملف التعريف، فاستبدل العناصر النائبة بالقيم المناسبة. لاستخدام ملف التعريف مع أداة أو SDK، راجع مصادقة الوصول إلى موارد Azure Databricks أو وثائق الأداة أو SDK. راجع أيضا متغيرات البيئة وحقول المصادقة الموحدة للعميل والأساليب الافتراضية للمصادقة الموحدة للعميل.

بالنسبة للعمليات على مستوى الحساب، قم بتعيين القيم التالية في ملفك .databrickscfg . في هذه الحالة، عنوان URL لوحدة تحكم حساب Azure Databricks هو https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host       = <account-console-url>
account_id = <account-id>

بالنسبة للعمليات على مستوى مساحة العمل، قم بتعيين القيم التالية في الملف..databrickscfg في هذه الحالة، يكون المضيف هو عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host = <workspace-url>

CLI

بالنسبة ل Databricks CLI، قم بتشغيل databricks auth login الأمر بالخيارات التالية:

بعد تشغيل هذا الأمر، اتبع الإرشادات الموجودة في مستعرض الويب لتسجيل الدخول إلى حساب أو مساحة عمل Azure Databricks.

لمزيد من التفاصيل، راجع مصادقة OAuth U2M باستخدام Databricks CLI.

اتصال

إشعار

يتم دعم مصادقة OAuth U2M في إصدارات Databricks Connect التالية:

  • بالنسبة إلى Python وDatabricks Connect ل Databricks Runtime 13.1 وما فوق.
  • بالنسبة إلى Scala وDatabricks Connect ل Databricks Runtime 13.3 LTS وما فوق.

بالنسبة إلى Databricks Connect، يمكنك القيام بأحد الإجراءات التالية:

  • تعيين القيم الموجودة في الملف لعمليات .databrickscfg Azure Databricks على مستوى مساحة العمل كما هو محدد في قسم "ملف التعريف" في هذه المقالة. قم أيضا بتعيين cluster_id متغير البيئة في ملف التعريف الخاص بك إلى عنوان URL لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.
  • تعيين متغيرات البيئة لعمليات Azure Databricks على مستوى مساحة العمل كما هو محدد في قسم "البيئة" في هذه المقالة. قم أيضا بتعيين DATABRICKS_CLUSTER_ID متغير البيئة إلى عنوان URL لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

دائما ما تكون للقيم الموجودة في .databrickscfg الملف الأسبقية على متغيرات البيئة.

لتهيئة عميل Databricks Connect مع متغيرات البيئة هذه أو القيم في ملفك .databrickscfg ، راجع تكوين الحساب ل Databricks Connect.

تعليمة VS الظاهرية

للحصول على ملحق Databricks ل Visual Studio Code، قم بما يلي:

  1. في جزء التكوين ، انقر فوق تكوين Databricks.
  2. في لوحة الأوامر، لمضيف Databricks، أدخل عنوان URL لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net، ثم اضغط Enterعلى .
  3. حدد OAuth (المستخدم إلى الجهاز).
  4. أكمل الإرشادات التي تظهر على الشاشة داخل مستعرض الويب لإنهاء المصادقة باستخدام حساب Azure Databricks والسماح بالوصول إلى جميع واجهة برمجة التطبيقات .

لمزيد من التفاصيل، راجع مصادقة OAuth U2M باستخدام Databricks CLI.

Terraform

إشعار

مصادقة OAuth U2M غير مدعومة بعد.

Python

لكل من العمليات على مستوى الحساب ومستوى مساحة العمل، يجب استخدام Databricks CLI لتشغيل الأمر التالي قبل تشغيل التعليمات البرمجية ل Python. يرشد هذا الأمر Databricks CLI لإنشاء وتخزين رمز OAuth المميز الضروري في المسار .databricks/token-cache.json داخل المجلد الرئيسي للمستخدم على جهازك:

تكوين العمليات على مستوى حساب Databricks

databricks auth login --host <account-console-url> --account-id <account-id>

استبدل العناصر النائبة التالية:

  • استبدل <account-console-url> بالقيمة https://accounts.azuredatabricks.net. (لا تقم بتعيين هذا إلى قيمة عنوان URL لمساحة عمل Azure Databricks.)
  • استبدل <account-id> بقيمة حساب Azure Databricks الخاص بك. راجع تحديد موقع معرف حسابك.

بعد تشغيل auth login الأمر، تتم مطالبتك بحفظ عنوان URL لتسجيل الدخول إلى الحساب ومعرف الحساب كملف تعريف تكوين Azure Databricks. عند المطالبة، أدخل اسم ملف تعريف جديد أو موجود في ملفك .databrickscfg . تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم في .databrickscfg الملف.

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

للمصادقة الافتراضية:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

للتكوين المباشر (استبدل العناصر النائبة retrieve بتطبيقك الخاص لاسترداد القيم من وحدة التحكم أو مخزن تكوين آخر، مثل Azure KeyVault). في هذه الحالة، عنوان URL لوحدة تحكم حساب Azure Databricks هو https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host       = retrieveAccountConsoleUrl(),
  account_id = retrieveAccountId()
)
# ...

تكوين العمليات على مستوى مساحة عمل Databricks

databricks auth login --host <worskpace-url>

استبدل العنصر النائب <workspace-url> بعنوان URL الهدف Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

بعد تشغيل auth login الأمر، تتم مطالبتك بحفظ عنوان URL لمساحة العمل كملف تعريف تكوين Azure Databricks. عند المطالبة، أدخل اسم ملف تعريف جديد أو موجود في ملفك .databrickscfg . تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم في .databrickscfg الملف.

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

للمصادقة الافتراضية:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

للتكوين المباشر (استبدل العناصر النائبة retrieve بتطبيقك الخاص لاسترداد القيم من وحدة التحكم أو مخزن تكوين آخر، مثل Azure KeyVault). في هذه الحالة، يكون المضيف هو عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieveWorkspaceUrl())
# ...

لمزيد من المعلومات حول المصادقة باستخدام أدوات Databricks وSDKs التي تستخدم Python والتي تنفذ المصادقة الموحدة لعميل Databricks، راجع:

Java

لكل من العمليات على مستوى الحساب ومستوى مساحة العمل، يجب استخدام Databricks CLI لتشغيل الأمر التالي قبل تشغيل التعليمات البرمجية ل Java. يرشد هذا الأمر Databricks CLI لإنشاء وتخزين رمز OAuth المميز الضروري في المسار .databricks/token-cache.json في المجلد الرئيسي للمستخدم على جهازك:

تكوين العمليات على مستوى حساب Databricks

databricks auth login --host <account-console-url> --account-id <account-id>

استبدل العناصر النائبة التالية:

  • استبدل <account-console-url> بالقيمة https://accounts.azuredatabricks.net. (لا تقم بتعيين هذا إلى قيمة عنوان URL لمساحة عمل Azure Databricks.)
  • استبدل <account-id> بقيمة حساب Azure Databricks الخاص بك. راجع تحديد موقع معرف حسابك.

بعد تشغيل auth login الأمر، تتم مطالبتك بحفظ عنوان URL لتسجيل الدخول إلى الحساب ومعرف الحساب كملف تعريف تكوين Azure Databricks. عند المطالبة، أدخل اسم ملف تعريف جديد أو موجود في ملفك .databrickscfg . تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم في .databrickscfg الملف.

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

للمصادقة الافتراضية:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

للتكوين المباشر (استبدل العناصر النائبة retrieve بتطبيقك الخاص لاسترداد القيم من وحدة التحكم أو مخزن تكوين آخر، مثل Azure KeyVault). في هذه الحالة، عنوان URL لوحدة تحكم حساب Azure Databricks هو https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId());
AccountClient a = new AccountClient(cfg);
// ...

تكوين العمليات على مستوى مساحة عمل Databricks

بالنسبة للعمليات على مستوى مساحة العمل، يجب عليك أولا استخدام Databricks CLI لتشغيل الأمر التالي، قبل تشغيل التعليمات البرمجية ل Java. يرشد هذا الأمر Databricks CLI لإنشاء وتخزين رمز OAuth المميز الضروري في المسار .databricks/token-cache.json داخل المجلد الرئيسي للمستخدم على جهازك:

databricks auth login --host <worskpace-url>

استبدل العنصر النائب <workspace-url> بعنوان URL الهدف Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

بعد تشغيل auth login الأمر، تتم مطالبتك بحفظ عنوان URL لمساحة العمل كملف تعريف تكوين Azure Databricks. عند المطالبة، أدخل اسم ملف تعريف جديد أو موجود في ملفك .databrickscfg . تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم في .databrickscfg الملف.

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

للمصادقة الافتراضية:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

للتكوين المباشر (استبدل العناصر النائبة retrieve بتطبيقك الخاص لاسترداد القيم من وحدة التحكم أو مخزن تكوين آخر، مثل Azure KeyVault). في هذه الحالة، يكون المضيف هو عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

لمزيد من المعلومات حول المصادقة باستخدام أدوات Databricks وSDKs التي تستخدم Java والتي تنفذ المصادقة الموحدة لعميل Databricks، راجع:

انتقال

لكل من العمليات على مستوى الحساب ومستوى مساحة العمل، يجب استخدام Databricks CLI لتشغيل الأمر التالي قبل تشغيل التعليمات البرمجية Go. يرشد هذا الأمر Databricks CLI لإنشاء وتخزين رمز OAuth المميز الضروري في المسار .databricks/token-cache.json داخل المجلد الرئيسي للمستخدم على جهازك:

تكوين العمليات على مستوى حساب Databricks

databricks auth login --host <account-login-url> --account-id <account-id>

استبدل العناصر النائبة التالية:

  • استبدل <account-console-url> بالقيمة https://accounts.azuredatabricks.net. (لا تقم بتعيين هذا إلى قيمة عنوان URL لمساحة عمل Azure Databricks.)
  • استبدل <account-id> بقيمة حساب Azure Databricks الخاص بك. راجع تحديد موقع معرف حسابك.

بعد تشغيل auth login الأمر، تتم مطالبتك بحفظ عنوان URL لتسجيل الدخول إلى الحساب ومعرف الحساب كملف تعريف تكوين Azure Databricks. عند المطالبة، أدخل اسم ملف تعريف جديد أو موجود في ملفك .databrickscfg . تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم في .databrickscfg الملف.

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

للمصادقة الافتراضية:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

للتكوين المباشر (استبدل العناصر النائبة retrieve بتطبيقك الخاص لاسترداد القيم من وحدة التحكم أو مخزن تكوين آخر، مثل Azure KeyVault). في هذه الحالة، عنوان URL لوحدة تحكم حساب Azure Databricks هو https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:      retrieveAccountConsoleUrl(),
  AccountId: retrieveAccountId(),
}))
// ...

تكوين العمليات على مستوى مساحة عمل Databricks

بالنسبة للعمليات على مستوى مساحة العمل، يجب عليك أولا استخدام Databricks CLI لتشغيل الأمر التالي، قبل تشغيل التعليمات البرمجية Go. يرشد هذا الأمر Databricks CLI لإنشاء وتخزين رمز OAuth المميز الضروري في المسار .databricks/token-cache.json داخل المجلد الرئيسي للمستخدم على جهازك:

databricks auth login --host <worskpace-url>

استبدل العنصر النائب <workspace-url> بعنوان URL الهدف Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

بعد تشغيل auth login الأمر، تتم مطالبتك بحفظ عنوان URL لمساحة العمل كملف تعريف تكوين Azure Databricks. عند المطالبة، أدخل اسم ملف تعريف جديد أو موجود في ملفك .databrickscfg . تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم في .databrickscfg الملف.

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

للمصادقة الافتراضية:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

للتكوين المباشر (استبدل العناصر النائبة retrieve بتطبيقك الخاص لاسترداد القيم من وحدة التحكم أو مخزن تكوين آخر، مثل Azure KeyVault). في هذه الحالة، يكون المضيف هو عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host: retrieveWorkspaceUrl(),
}))
// ...

لمزيد من المعلومات حول المصادقة باستخدام أدوات Databricks وSDKs التي تستخدم Go والتي تنفذ المصادقة الموحدة لعميل Databricks، راجع مصادقة Databricks SDK ل Go باستخدام حساب Azure Databricks أو مساحة العمل.

إنشاء واستخدام رموز الوصول المميزة يدويا لمصادقة المستخدم إلى الجهاز (U2M) في OAuth

إشعار

يتم توفير هذا القسم للمستخدمين الذين لديهم أدوات أو خدمات تابعة لجهة خارجية لا تعمل مع معيار المصادقة الموحد لعميل Databricks.

إذا كان يجب عليك، لسبب ما، إنشاء الرموز المميزة للوصول إلى Azure Databricks OAuth أو تحديثها أو استخدامها يدويا لمصادقة OAuth U2M، فاتبع الإرشادات الواردة في هذا القسم.

الخطوة 1: إنشاء مدقق التعليمات البرمجية OAuth وزوج تحدي التعليمات البرمجية

لإنشاء واستخدام رموز الوصول المميزة يدويا لمصادقة OAuth U2M، يجب أن يكون لديك أولا مدقق رمز OAuth وتحدي رمز OAuth المشتق من مدقق التعليمات البرمجية. يمكنك استخدام تحدي التعليمات البرمجية في الخطوة 2 لإنشاء رمز تخويل OAuth. يمكنك استخدام مدقق التعليمات البرمجية ورمز التخويل في الخطوة 3 لإنشاء الرمز المميز للوصول OAuth.

إشعار

في حين أنه من الممكن تقنيا استخدام سلاسل نص عادي غير مشفرة لمدقق التعليمات البرمجية وتحدي التعليمات البرمجية، تشجع Databricks بشدة اتباع معيار OAuth لإنشاء مدقق التعليمات البرمجية وتحدي التعليمات البرمجية بدلا من ذلك.

على وجه التحديد، يجب أن يكون مدقق التعليمات البرمجية سلسلة عشوائية مشفرة باستخدام أحرف من المجموعات A-Zو 0-9a-zو أحرف -._~ الترقيم (الواصلة والنقطة والتسطير السفلي والتلمذة)، بين 43 و128 حرفا. يجب أن يكون تحدي التعليمات البرمجية سلسلة ترميز Base64-URL لتجزئة SHA256 من مدقق التعليمات البرمجية. لمزيد من المعلومات، راجع طلب التخويل.

يمكنك تشغيل البرنامج النصي Python التالي لإنشاء مدقق تعليمة برمجية فريدة وزوج تحدي التعليمات البرمجية بسرعة. بينما يمكنك إعادة استخدام أداة التحقق من التعليمات البرمجية التي تم إنشاؤها وإقران تحدي التعليمات البرمجية عدة مرات، توصي Databricks بإنشاء مدقق تعليمة برمجية جديدة وإقران تحدي التعليمات البرمجية في كل مرة تقوم فيها بإنشاء رموز مميزة للوصول يدويا لمصادقة OAuth U2M.

import uuid, hashlib, base64

# Generate a UUID.
uuid1 = uuid.uuid4()

# Convert the UUID to a string.
uuid_str1 = str(uuid1).upper()

# Create the code verifier.
code_verifier = uuid_str1 + "-" + uuid_str1

# Create the code challenge based on the code verifier.
code_challenge = base64.urlsafe_b64encode(hashlib.sha256(code_verifier.encode()).digest()).decode('utf-8')

# Remove all padding from the code challenge.
code_challenge = code_challenge.replace('=', '')

# Print the code verifier and the code challenge.
# Use these in your calls to manually generate
# access tokens for OAuth U2M authentication.
print(f"code_verifier:  {code_verifier}")
print(f"code_challenge: {code_challenge}")

الخطوة 2: إنشاء رمز تخويل

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

إنشاء رمز تخويل على مستوى الحساب

  1. بصفتك مسؤول حساب، سجل الدخول إلى وحدة تحكم الحساب.

  2. انقر فوق السهم لأسفل إلى جانب اسم المستخدم في الزاوية العلوية اليسرى.

  3. انسخ معرف حسابك.

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

    في عنوان URL التالي، استبدل ما يلي:

    • استبدل <account-id> بمعرف الحساب الذي نسخته.
    • استبدل <redirect-url> بعنوان URL لإعادة التوجيه إلى جهازك المحلي، على سبيل المثال http://localhost:8020.
    • استبدل <state> ببعض سلاسل النص العادي التي يمكنك استخدامها للتحقق من تكامل رمز التخويل.
    • استبدل <code-challenge> بتحدي التعليمات البرمجية الذي أنشأته في الخطوة 1.
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/authorize
    ?client_id=databricks-cli
    &redirect_uri=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  5. عند المطالبة، اتبع الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى حساب Azure Databricks الخاص بك.

  6. في شريط عناوين مستعرض الويب، انسخ رمز التخويل. رمز التخويل هو السلسلة الكاملة من الأحرف بين code= والحرف & في عنوان URL. على سبيل المثال، رمز التخويل في عنوان URL التالي هو dcod...7fe6:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    يجب التحقق من تكامل رمز التخويل هذا عن طريق التأكد بصريا من أن <state> القيمة في عنوان URL للاستجابة state هذا تطابق القيمة التي قدمتها في عنوان URL للطلب. إذا كانت القيم مختلفة، يجب عدم استخدام رمز التخويل هذا، حيث يمكن اختراقه.

  7. انتقل إلى إنشاء رمز مميز للوصول على مستوى الحساب.

إنشاء رمز تخويل على مستوى مساحة العمل

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

    في عنوان URL التالي، استبدل ما يلي:

    • استبدل <databricks-instance> باسم مثيل مساحة عمل Azure Databricks، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net.
    • استبدل <redirect-url> بعنوان URL لإعادة التوجيه إلى جهازك المحلي، على سبيل المثال http://localhost:8020.
    • استبدل <state> ببعض سلاسل النص العادي التي يمكنك استخدامها للتحقق من تكامل رمز التخويل.
    • استبدل <code-challenge> بتحدي التعليمات البرمجية الذي أنشأته في الخطوة 1.
    https://<databricks-instance>/oidc/v1/authorize
    ?client_id=databricks-cli
    &redirect_uri=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  2. عند المطالبة، اتبع الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.

  3. في شريط عناوين مستعرض الويب، انسخ رمز التخويل. رمز التخويل هو السلسلة الكاملة من الأحرف بين code= والحرف & في عنوان URL. على سبيل المثال، رمز التخويل في عنوان URL التالي هو dcod...7fe6:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    يجب التحقق من تكامل رمز التخويل هذا عن طريق التأكد بصريا من أن <state> القيمة في عنوان URL للاستجابة state هذا تطابق القيمة التي قدمتها في عنوان URL للطلب. إذا كانت القيم مختلفة، يجب عدم استخدام رمز التخويل هذا، حيث يمكن اختراقه.

الخطوة 3: استخدام رمز التخويل لإنشاء رمز وصول OAuth

يمكنك استخدام رمز تخويل OAuth من الخطوة السابقة لإنشاء رمز وصول Azure Databricks OAuth، كما يلي:

إنشاء رمز مميز للوصول على مستوى الحساب

  1. استخدم عميلا مثل curl رمز التخويل على مستوى الحساب لإنشاء رمز الوصول إلى OAuth على مستوى الحساب. في الاستدعاء التالي curl ، استبدل العناصر النائبة التالية:

    • استبدل <account-id> بمعرف الحساب من الخطوة 2.
    • استبدل <redirect-url> بعنوان URL لإعادة التوجيه من الخطوة 2.
    • استبدل <code-verifier> بأداة التحقق من التعليمات البرمجية التي أنشأتها في الخطوة 1.
    • استبدل <authorization-code> برمز التخويل على مستوى الحساب الذي أنشأته في الخطوة 2.
    curl --request POST \
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. في الاستجابة، انسخ رمز الوصول إلى OAuth على مستوى الحساب. الرمز المميز للوصول هو السلسلة الكاملة من الأحرف في access_token الكائن. على سبيل المثال، الرمز المميز للوصول في الاستجابة التالية هو eyJr...Dkag:

    {
      "access_token": "eyJr...Dkag",
      "refresh_token": "doau...f26e",
      "scope": "all-apis offline_access",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    تنتهي صلاحية رمز الوصول هذا في ساعة واحدة. لإنشاء رمز مميز جديد للوصول، كرر هذا الإجراء من الخطوة 1.

  3. انتقل إلى الخطوة 4: استدعاء Databricks REST API.

إنشاء رمز مميز للوصول على مستوى مساحة العمل

  1. استخدم عميلا مثل curl التعليمة البرمجية للتخويل على مستوى مساحة العمل لإنشاء رمز الوصول إلى OAuth على مستوى مساحة العمل. في الاستدعاء التالي curl ، استبدل العناصر النائبة التالية:

    • استبدل <databricks-instance> باسم مثيل مساحة عمل Azure Databricks، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net.
    • استبدل <redirect-url> بعنوان URL لإعادة التوجيه من الخطوة 2.
    • استبدل <code-verifier> بأداة التحقق من التعليمات البرمجية التي أنشأتها في الخطوة 1.
    • استبدل <authorization-code> برمز التخويل على مستوى مساحة العمل الذي أنشأته في الخطوة 2.
    curl --request POST \
    https://<databricks-instance>/oidc/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. في الاستجابة، انسخ رمز الوصول إلى OAuth على مستوى مساحة العمل. الرمز المميز للوصول هو السلسلة الكاملة من الأحرف في access_token الكائن. على سبيل المثال، الرمز المميز للوصول في الاستجابة التالية هو eyJr...Dkag:

    {
     "access_token": "eyJr...Dkag",
     "refresh_token": "doau...f26e",
     "scope": "all-apis offline_access",
     "token_type": "Bearer",
     "expires_in": 3600
    }
    

    تنتهي صلاحية رمز الوصول هذا في ساعة واحدة. لإنشاء رمز مميز جديد للوصول، كرر هذا الإجراء من الخطوة 1.

الخطوة 4: استدعاء واجهة برمجة تطبيقات REST ل Databricks

يمكنك استخدام رمز الوصول إلى OAuth على مستوى الحساب أو على مستوى مساحة العمل للمصادقة على واجهات برمجة تطبيقات REST على مستوى حساب Azure Databricks وواجهات برمجة تطبيقات REST على مستوى مساحة العمل، اعتمادا على نطاق الرمز المميز للوصول. يجب أن يكون حساب مستخدم Azure Databricks مسؤول حساب لاستدعاء واجهات برمجة تطبيقات REST على مستوى الحساب.

مثال على طلب واجهة برمجة تطبيقات REST على مستوى الحساب

يستخدم curl هذا المثال جنبا إلى جنب مع Bearer المصادقة للحصول على قائمة بجميع مساحات العمل المقترنة بحساب.

  • استبدل <oauth-access-token> برمز الوصول إلى OAuth على مستوى الحساب.
  • استبدل <account-id> بمعرف حسابك.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces"

مثال على طلب واجهة برمجة تطبيقات REST على مستوى مساحة العمل

يستخدم curl هذا المثال جنبا إلى جنب مع Bearer المصادقة لسرد كافة المجموعات المتوفرة في مساحة العمل المحددة.

  • استبدل <oauth-access-token> برمز الوصول إلى OAuth على مستوى الحساب أو مساحة العمل.
  • استبدل <databricks-instance> باسم مثيل مساحة عمل Azure Databricks، على سبيل المثال adb-1234567890123456.7.azuredatabricks.net.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://<databricks-instance>/api/2.0/clusters/list"