المصادقة الأساسية لخدمة معرف Microsoft Entra

تستخدم المصادقة الأساسية لخدمة معرف Microsoft Entra بيانات اعتماد كيان خدمة معرف Microsoft Entra للمصادقة. لإنشاء وإدارة أساسيات الخدمة ل Azure Databricks، راجع:

إشعار

توصي Databricks باستخدام مصادقة OAuth من جهاز إلى جهاز (M2M) في معظم السيناريوهات بدلا من المصادقة الأساسية لخدمة معرف Microsoft Entra. وذلك لأن مصادقة OAuth M2M تستخدم رموز وصول Azure Databricks OAuth المميزة الأكثر قوة عند المصادقة فقط مع Azure Databricks.

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

لاستخدام مصادقة OAuth M2M بدلا من المصادقة الأساسية لخدمة Microsoft Entra ID، تخط هذه المقالة وشاهد مصادقة OAuth من جهاز إلى جهاز (M2M).

تختلف أساسيات خدمة معرف Microsoft Entra عن الهويات المدارة لموارد Azure، والتي يدعمها Azure Databricks أيضا للمصادقة. لمعرفة كيفية استخدام الهويات المدارة لموارد Azure بدلا من أساسيات خدمة معرف Microsoft Entra لمصادقة Azure Databricks، راجع إعداد مصادقة الهويات المدارة في Azure واستخدامها لأتمتة Azure Databricks.

لتكوين المصادقة الأساسية لخدمة معرف Microsoft Entra باستخدام Azure Databricks، يجب تعيين متغيرات البيئة المقترنة التالية أو .databrickscfg الحقول أو حقول Terraform أو Config الحقول:

  • مضيف Azure Databricks.

    • لعمليات الحساب، حدد https://accounts.azuredatabricks.net.

    • لعمليات مساحة العمل، حدد عنوان URL لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

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

  • لعمليات الحساب، معرف حساب Azure Databricks.

  • معرف مورد Azure.

  • معرف المستأجر الخاص بكيان خدمة معرف Microsoft Entra.

  • معرف العميل الخاص بكيان خدمة معرف Microsoft Entra.

  • سر العميل الخاص بكيان خدمة معرف Microsoft Entra.

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

البيئة

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

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

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

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

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

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

ملف التعريف

إنشاء ملف تعريف تكوين 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>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

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

[<some-unique-configuration-profile-name>]
host                = <workspace-url>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

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

CLI

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

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

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

راجع أيضا المصادقة الأساسية لخدمة Microsoft Entra ID.

اتصال

إشعار

يتم دعم المصادقة الأساسية لخدمة معرف Microsoft Entra على إصدارات الاتصال Databricks التالية:

  • بالنسبة إلى Python، الاتصال Databricks لوقت تشغيل Databricks 13.1 وما فوق.
  • بالنسبة إلى Scala، الاتصال Databricks لوقت تشغيل Databricks 13.3 LTS وما فوق.

بالنسبة الاتصال 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>
  azure_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-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>
  azure_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

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

لمزيد من المعلومات حول المصادقة مع موفر 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(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_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(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

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

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

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())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

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

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())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

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

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

انتقال

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

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(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

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

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(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

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

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