المصادقة الأساسية لخدمة معرف 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
، راجع أحد الإجراءات التالية:
- بالنسبة إلى Python، راجع تكوين خصائص الاتصال ل Python.
- بالنسبة إلى Scala، راجع تكوين خصائص الاتصال ل Scala.
مقابل التعليمات البرمجية
للحصول على ملحق Databricks ل Visual Studio Code، قم بما يلي:
- تعيين القيم الموجودة في الملف لعمليات
.databrickscfg
Azure Databricks على مستوى مساحة العمل كما هو محدد في قسم "ملف التعريف" في هذه المقالة. - في جزء التكوين من ملحق Databricks ل Visual Studio Code، انقر فوق تكوين Databricks.
- في لوحة الأوامر، لمضيف Databricks، أدخل عنوان URL لكل مساحة عمل، على سبيل المثال
https://adb-1234567890123456.7.azuredatabricks.net
، ثم اضغطEnter
على . - في لوحة الأوامر، حدد اسم ملف التعريف الهدف في قائمة عنوان 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، راجع:
- إعداد عميل الاتصال Databricks ل Python
- إعداد المصادقة لملحق Databricks ل VS Code
- مصادقة Databricks SDK ل Python باستخدام حساب Azure 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، راجع:
- إعداد عميل الاتصال Databricks ل Scala (يستخدم عميل الاتصال Databricks ل Scala Databricks SDK المضمن ل Java للمصادقة)
- مصادقة Databricks SDK ل Java باستخدام حساب Azure 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 أو مساحة العمل.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ