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

تستخدم مصادقة OAuth من جهاز إلى جهاز (M2M) بيانات اعتماد كيان تلقائي (في هذه الحالة، كيان خدمة مدار من Azure Databricks أو مدير خدمة مدار من قبل Microsoft Entra ID (المعروف سابقا ب Azure Active Directory) لمصادقة الكيان الهدف.

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

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

إشعار

يجب أن تكون مسؤول حساب Azure Databricks لإدارة بيانات اعتماد Azure Databricks OAuth لكيانات الخدمة.

الخطوة 1: إنشاء كيان خدمة معرف Microsoft Entra في حساب Azure الخاص بك

أكمل هذه الخطوة إذا كنت تريد ربط كيان خدمة معرف Microsoft Entra بحساب Azure Databricks أو مساحة العمل أو كليهما. وإلا، انتقل إلى الخطوة 2.

  1. قم بتسجيل الدخول إلى بوابة Azure.

    إشعار

    يختلف المدخل الذي يجب استخدامه اعتمادا على ما إذا كان تطبيق Microsoft Entra ID (المعروف سابقا باسم Azure Active Directory) يعمل في سحابة Azure العامة أو في سحابة وطنية أو ذات سيادة. لمزيد من المعلومات، راجع السحب الوطنية .

  2. إذا كان لديك حق الوصول إلى عدة مستأجرين أو اشتراكات أو دلائل، فانقر فوق الأيقونة Directories + subscriptions (الدليل مع عامل التصفية) في القائمة العلوية للتبديل إلى الدليل الذي تريد توفير كيان الخدمة فيه.

  3. في البحث عن الموارد والخدمات والمستندات، ابحث عن معرف Microsoft Entra وحدده.

  4. انقر فوق + إضافة وحدد تسجيل التطبيق.

  5. بالنسبة إلى الاسم: أدخل اسمًا للتطبيق.

  6. في قسم أنواع الحسابات المدعومة، حدد الحسابات في هذا الدليل التنظيمي فقط (مستأجر واحد) .

  7. انقر فوق تسجيل.

  8. في صفحة نظرة عامة على صفحة التطبيق، في قسم Essentials، انسخ القيم التالية:

    • معرف التطبيق (العميل)
    • معرف الدليل (المستأجر)

    نظرة عامة على تطبيق Azure المسجل

  9. لإنشاء سر عميل، ضمن إدارة، انقر فوق الشهادات والأسرار.

    إشعار

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

  10. في علامة التبويب Client secrets ، انقر فوق New client secret.

    سر عميل جديد

  11. في جزء Add a client secret ، بالنسبة إلى Description، أدخل وصفا لسر العميل.

  12. بالنسبة ل Expires، حدد فترة زمنية لانتهاء صلاحية سر العميل، ثم انقر فوق Add.

  13. انسخ قيمة سر العميل واخزنها في مكان آمن، لأن سر العميل هذا هو كلمة المرور للتطبيق الخاص بك.

الخطوة 2: إضافة كيان خدمة إلى حساب Azure Databricks الخاص بك

تعمل هذه الخطوة فقط إذا تم تمكين مساحة عمل Azure Databricks المستهدفة لاتحاد الهوية. إذا لم يتم تمكين مساحة العمل الخاصة بك لاتحاد الهوية، فانتقل إلى الخطوة 3.

  1. في مساحة عمل Azure Databricks، انقر فوق اسم المستخدم في الشريط العلوي وانقر فوق إدارة الحساب.

    بدلا من ذلك، انتقل مباشرة إلى وحدة تحكم حساب Azure Databricks، في https://accounts.azuredatabricks.net.

  2. سجل الدخول إلى حساب Azure Databricks الخاص بك، إذا طلب منك ذلك.

  3. على الشريط الجانبي، انقر فوق إدارة المستخدم.

  4. انقر فوق علامة التبويب أساسيات الخدمة.

  5. انقر فوق إضافة كيان الخدمة.

  6. ضمن Management، اختر Databricks managed أو Microsoft Entra ID managed.

  7. إذا اخترت Microsoft Entra ID المدار، ضمن معرف تطبيق Microsoft Entra، فلصق قيمة معرف التطبيق (العميل) من الخطوة 1.

  8. أدخل اسما لمدير الخدمة.

  9. انقر فوق إضافة.

  10. (اختياري) تعيين أذونات على مستوى الحساب إلى كيان الخدمة:

    1. في علامة التبويب أساسيات الخدمة، انقر فوق اسم كيان الخدمة.
    2. في علامة التبويب أدوار ، قم بالتبديل لتمكين أو تعطيل كل دور هدف تريد أن يكون لمدير الخدمة هذا.
    3. في علامة التبويب أذونات ، امنح حق الوصول إلى أي من مستخدمي Azure Databricks وكيانات الخدمة وأدوار مجموعة الحسابات التي تريد إدارتها واستخدامها لكيان الخدمة هذا. راجع إدارة الأدوار على كيان الخدمة.

الخطوة 3: إضافة كيان الخدمة إلى مساحة عمل Azure Databricks

إذا تم تمكين مساحة العمل الخاصة بك لاتحاد الهوية:

  1. في مساحة عمل Azure Databricks، انقر فوق اسم المستخدم في الشريط العلوي وانقر فوق الإعدادات.
  2. انقر فوق علامة التبويب الهوية والوصول .
  3. إلى جانب أساسيات الخدمة، انقر فوق إدارة.
  4. انقر فوق إضافة كيان الخدمة.
  5. حدد كيان الخدمة من الخطوة 2 وانقر فوق إضافة.

انتقل إلى الخطوة 4.

إذا لم يتم تمكين مساحة العمل الخاصة بك لاتحاد الهوية:

  1. في مساحة عمل Azure Databricks، انقر فوق اسم المستخدم في الشريط العلوي وانقر فوق الإعدادات.
  2. انقر فوق علامة التبويب الهوية والوصول .
  3. إلى جانب أساسيات الخدمة، انقر فوق إدارة.
  4. انقر فوق إضافة كيان الخدمة.
  5. انقر فوق إضافة جديد.
  6. ضمن Management، اختر Databricks managed أو Microsoft Entra ID managed.
  7. إذا اخترت Microsoft Entra ID المدار، ضمن معرف تطبيق Microsoft Entra، فلصق قيمة معرف التطبيق (العميل) من الخطوة 1.
  8. أدخل بعض الاسم المعروض لمدير الخدمة الجديد وانقر فوق إضافة.

الخطوة 4: تعيين أذونات على مستوى مساحة العمل إلى كيان الخدمة

  1. إذا لم تكن وحدة تحكم المسؤول لمساحة العمل مفتوحة بالفعل، فانقر فوق اسم المستخدم في الشريط العلوي وانقر فوق الإعدادات.
  2. انقر فوق علامة التبويب الهوية والوصول .
  3. إلى جانب أساسيات الخدمة، انقر فوق إدارة.
  4. انقر فوق اسم كيان الخدمة لفتح صفحة الإعدادات الخاصة به.
  5. في علامة التبويب التكوينات ، حدد المربع الموجود بجانب كل استحقاق تريد أن يكون لكيان الخدمة لمساحة العمل هذه، ثم انقر فوق تحديث.
  6. في علامة التبويب أذونات ، امنح حق الوصول إلى أي من مستخدمي Azure Databricks وكيانات الخدمة والمجموعات التي تريد إدارتها واستخدامها لكيان الخدمة هذا. راجع إدارة الأدوار على كيان الخدمة.

الخطوة 5: إنشاء سر Azure Databricks OAuth لمدير الخدمة

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

  1. سجل الدخول إلى وحدة تحكم حساب Azure Databricks، في https://accounts.azuredatabricks.net.
  2. سجل الدخول إلى حساب Azure Databricks الخاص بك، إذا طلب منك ذلك.
  3. على الشريط الجانبي، انقر فوق إدارة المستخدم.
  4. انقر فوق علامة التبويب أساسيات الخدمة.
  5. انقر فوق اسم كيان الخدمة.
  6. في قسم OAuth secrets في علامة التبويب Principal information، انقر فوق Generate secret.
  7. في مربع الحوار إنشاء بيانات سرية، انسخ القيمة السرية واخزنها في مكان آمن، لأن سر OAuth هذا هو كلمة المرور لمدير الخدمة.
  8. انقر فوق تم .

إشعار

لتمكين كيان الخدمة من استخدام أنظمة المجموعات أو مستودعات SQL، يجب منح كيان الخدمة حق الوصول إليها. راجع حساب الأذونات أو إدارة مستودع SQL.

إنهاء تكوين مصادقة OAuth M2M

لإنهاء تكوين مصادقة OAuth M2M، يجب تعيين متغيرات البيئة المقترنة التالية أو .databrickscfg الحقول أو حقول Terraform أو Config الحقول:

  • مضيف Azure Databricks، المحدد لعمليات https://accounts.azuredatabricks.net الحساب أو عنوان URL المستهدف لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net لعمليات مساحة العمل.
  • معرف حساب Azure Databricks لعمليات حساب Azure Databricks.
  • معرف العميل الأساسي للخدمة.
  • سر كيان الخدمة.

لتنفيذ مصادقة OAuth M2M، قم بدمج ما يلي ضمن التعليمات البرمجية الخاصة بك، استنادا إلى الأداة المشاركة أو SDK:

البيئة

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

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

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

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

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

ملف التعريف

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

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

[<some-unique-configuration-profile-name>]
host          = <account-console-url>
account_id    = <account-id>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

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

[<some-unique-configuration-profile-name>]
host          = <workspace-url>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

CLI

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

  • تعيين متغيرات البيئة كما هو محدد في قسم "البيئة" لهذه المقالة.
  • تعيين القيم الموجودة في .databrickscfg الملف كما هو محدد في قسم "ملف التعريف" في هذه المقالة.

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

راجع أيضا مصادقة OAuth من جهاز إلى جهاز (M2M).

اتصال

إشعار

يتم دعم مصادقة OAuth M2M على إصدارات الاتصال Databricks التالية:

  • بالنسبة إلى Python، الاتصال Databricks لوقت تشغيل Databricks 14.0 وما فوق.
  • بالنسبة إلى Scala، الاتصال Databricks لوقت تشغيل Databricks 13.3 LTS وما فوق. يجب ترقية Databricks SDK ل Java المضمنة مع Databricks الاتصال ل Databricks Runtime 13.3 LTS والإصدارات الأحدث إلى Databricks SDK ل Java 0.17.0 أو أعلى.

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

  • تعيين القيم الموجودة في الملف لعمليات .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 مع متغيرات البيئة أو القيم هذه في ملفك.databrickscfg، راجع أحد الإجراءات التالية:

مقابل التعليمات البرمجية

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

  1. تعيين القيم الموجودة في الملف لعمليات .databrickscfg Azure Databricks على مستوى مساحة العمل كما هو محدد في قسم "ملف التعريف" في هذه المقالة.
  2. في جزء التكوين من ملحق Databricks ل Visual Studio Code، انقر فوق تكوين Databricks.
  3. في لوحة الأوامر، لمضيف Databricks، أدخل عنوان URL لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net، ثم اضغط Enterعلى .
  4. في لوحة الأوامر، حدد اسم ملف التعريف الهدف في قائمة عنوان URL الخاص بك.

لمزيد من التفاصيل، راجع إعداد المصادقة لملحق Databricks ل VS Code.

Terraform

بالنسبة للعمليات على مستوى الحساب، للمصادقة الافتراضية:

provider "databricks" {
  alias = "accounts"
}

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

provider "databricks" {
  alias         = "accounts"
  host          = <retrieve-account-console-url>
  account_id    = <retrieve-account-id>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

بالنسبة للعمليات على مستوى مساحة العمل، للمصادقة الافتراضية:

provider "databricks" {
  alias = "workspace"
}

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

provider "databricks" {
  alias         = "workspace"
  host          = <retrieve-workspace-url>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

لمزيد من المعلومات حول المصادقة مع موفر Databricks Terraform، راجع المصادقة.

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          = retrieve_account_console_url(),
  account_id    = retrieve_account_id(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

بالنسبة للعمليات على مستوى مساحة العمل، المصادقة الافتراضية على وجه التحديد:

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          = retrieve_workspace_url(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

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

إشعار

يستخدم ملحق Databricks ل Visual Studio Code Python ولكنه لم ينفذ بعد مصادقة OAuth M2M.

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())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

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

انتقال

بالنسبة للعمليات على مستوى الحساب، للمصادقة الافتراضية:

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

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

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

بالنسبة للعمليات على مستوى مساحة العمل، للمصادقة الافتراضية:

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

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

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

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

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

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

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

الخطوة 1: إنشاء كيان خدمة وسر OAuth

إذا لم يكن لديك بالفعل كيان خدمة مدار من Azure Databricks أو مدير خدمة مدار من Microsoft Entra ID وسر Azure Databricks OAuth المقابل له، فقم بإنشائه عن طريق إكمال الخطوات 1-5 في بداية هذه المقالة.

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

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

  • لاستدعاء واجهات برمجة تطبيقات REST على مستوى الحساب ومساحة العمل داخل الحسابات ومساحات العمل التي يديرها كيان الخدمة Azure Databricks أو كيان الخدمة المدار من Microsoft Entra ID، قم بإنشاء رمز مميز للوصول يدويا على مستوى الحساب.
    • لاستدعاء واجهات برمجة تطبيقات REST داخل مساحة عمل واحدة فقط يمكن لمدير الخدمة المدارة Azure Databricks أو كيان الخدمة المدار من Microsoft Entra ID الوصول إليها، يمكنك إنشاء رمز مميز للوصول يدويا على مستوى مساحة العمل لمساحة العمل هذه فقط.

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

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

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

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

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

  4. أنشئ عنوان URL لنقطة نهاية الرمز المميز عن طريق استبدال <my-account-id> عنوان URL التالي بمعرف الحساب الذي نسخته.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. استخدم عميلا مثل curl لطلب رمز وصول Azure Databricks OAuth المميز مع عنوان URL لنقطة نهاية الرمز المميز، ومعرف العميل (المعروف أيضا باسم معرف التطبيق) لمدير الخدمة المدارة Azure Databricks أو أساس الخدمة المدار من Microsoft Entra ID، وسر Azure Databricks OAuth الذي قمت بإنشائه لكيان الخدمة المدارة Azure Databricks أو مدير الخدمة المدار من Microsoft Entra ID. all-apis يطلب النطاق رمز وصول Azure Databricks OAuth المميز الذي يمكن استخدامه للوصول إلى جميع واجهات برمجة تطبيقات Databricks REST التي تم منح كيان الخدمة المدارة من Azure Databricks أو كيان الخدمة المدار من Microsoft Entra ID حق الوصول إليها.

    • استبدل <token-endpoint-URL> بعنوان URL لنقطة نهاية الرمز المميز من الأعلى.
    • استبدل <client-id> بمعرف عميل كيان الخدمة المدار في Azure Databricks أو معرف عميل كيان الخدمة المدار من Microsoft Entra، والذي يعرف أيضا باسم معرف التطبيق.
    • استبدل <client-secret> بسر Azure Databricks OAuth الذي قمت بإنشائه لكيان الخدمة المدارة في Azure Databricks أو كيان الخدمة المدار من Microsoft Entra ID.
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    يؤدي هذا إلى إنشاء استجابة مشابهة ل:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    انسخ من access_token الاستجابة.

    ستنتهي صلاحية الرمز المميز للوصول إلى Azure Databricks OAuth في ساعة واحدة. يجب إنشاء رمز مميز جديد للوصول إلى Azure Databricks OAuth يدويا بعد انتهاء الصلاحية.

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

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

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

  1. إنشاء عنوان URL لنقطة نهاية الرمز المميز عن طريق استبدال https://<databricks-instance> بعنوان URL لمساحة العمل لنشر Azure Databricks:

    https://<databricks-instance>/oidc/v1/token
    
  2. استخدم عميلا مثل curl لطلب رمز وصول Azure Databricks OAuth المميز مع عنوان URL لنقطة نهاية الرمز المميز، ومعرف العميل (المعروف أيضا باسم معرف التطبيق) لمدير الخدمة المدارة Azure Databricks أو أساس الخدمة المدار من Microsoft Entra ID، وسر Azure Databricks OAuth الذي قمت بإنشائه لكيان الخدمة المدارة Azure Databricks أو مدير الخدمة المدار من Microsoft Entra ID. all-apis يطلب النطاق رمز وصول Azure Databricks OAuth المميز الذي يمكن استخدامه للوصول إلى جميع واجهات برمجة تطبيقات Databricks REST التي تم منح كيان الخدمة المدار من Azure Databricks أو كيان الخدمة المدار من Microsoft Entra ID حق الوصول إليها داخل مساحة العمل التي تطلب الرمز المميز منها.

    • استبدل <token-endpoint-URL> بعنوان URL لنقطة نهاية الرمز المميز من الأعلى.

    • استبدل <client-id> بمعرف عميل كيان الخدمة المدار في Azure Databricks أو معرف عميل كيان الخدمة المدار من Microsoft Entra، والذي يعرف أيضا باسم معرف التطبيق.

    • استبدل <client-secret> بسر Azure Databricks OAuth الذي قمت بإنشائه لكيان الخدمة المدارة في Azure Databricks أو كيان الخدمة المدار من Microsoft Entra ID.

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      يؤدي هذا إلى إنشاء استجابة مشابهة ل:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      انسخ من access_token الاستجابة.

      ستنتهي صلاحية الرمز المميز للوصول إلى Azure Databricks OAuth في ساعة واحدة. يجب إنشاء رمز مميز جديد للوصول إلى Azure Databricks OAuth يدويا بعد انتهاء الصلاحية.

الخطوة 3: استدعاء Databricks REST API

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

يمكنك تضمين الرمز المميز في العنوان باستخدام Bearer المصادقة. يمكنك استخدام هذا الأسلوب مع curl أو أي عميل تقوم بإنشاءه.

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

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

  • استبدل <oauth-access-token> برمز الوصول المميز ل Azure Databricks OAuth لكيان الخدمة المدارة في Azure Databricks أو مدير الخدمة المدار من Microsoft Entra ID.
  • استبدل <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 على مستوى مساحة العمل

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

  • استبدل <oauth-access-token> برمز الوصول المميز ل Azure Databricks OAuth لكيان الخدمة المدارة في Azure Databricks أو مدير الخدمة المدار من Microsoft Entra ID.

  • استبدل <workspace-URL> بعنوان URL لمساحة العمل الأساسية، والذي يحتوي على نموذج مشابه ل adb-1111111111111111.1.azuredatabricks.net.

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'