المصادقة الأساسية لخدمة MS Entra

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

إشعار

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

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

لاستخدام مصادقة OAuth M2M بدلا من مصادقة مدير خدمة MS Entra، تخط هذه المقالة وشاهد مصادقة الوصول إلى Azure Databricks باستخدام كيان خدمة باستخدام OAuth (OAuth M2M).

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

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

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

  • مضيف Azure Databricks.

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

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

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

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

  • معرف مورد Azure.

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

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

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

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

لاستخدام متغيرات البيئة لنوع مصادقة Azure Databricks معين باستخدام أداة أو SDK، راجع مصادقة الوصول إلى موارد Azure Databricks أو وثائق الأداة أو 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

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

إنشاء ملف تعريف تكوين 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>
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>

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

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

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

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

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

إشعار

يتم دعم المصادقة الأساسية لخدمة MS Entra على إصدارات 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 ل 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 ل Visual Studio Code.

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

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>
}

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

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

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

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()
)
# ...

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

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

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

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);
// ...

بالنسبة للعمليات على مستوى مساحة العمل، إذا لم تتم إضافة أساس خدمة MS Entra بالفعل إلى مساحة العمل، فحدد setAzureWorkspaceResourceId مع معرف مورد Azure لمساحة عمل Azure Databricks، بدلا من setHost عنوان URL لمساحة العمل. في هذه الحالة، يجب أن يكون لمدير خدمة MS 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(),
}))
// ...

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

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