مصادقة الهويات المدارة من Azure
تستخدم مصادقة الهويات المدارة من Azure الهويات المدارة لموارد Azure (سابقا هويات الخدمة المدارة (MSI)) للمصادقة مع Azure Databricks. تستخدم الاستدعاءات البرمجية لحساب Azure Databricks وعمليات مساحة العمل هذه الهوية المدارة عند العمل مع موارد Azure التي تدعم الهويات المدارة، مثل أجهزة Azure الظاهرية.
- للحصول على معلومات حول الهويات المدارة، راجع ما هي الهويات المدارة لموارد Azure؟.
- لمعرفة كيفية إنشاء هوية مدارة ومنحها الإذن للوصول إلى حسابات Azure Databricks ومساحات العمل، راجع إعداد مصادقة الهويات المدارة في Azure واستخدامها لأتمتة Azure Databricks.
إشعار
تختلف الهويات المدارة لموارد Azure عن أساسيات خدمة معرف Microsoft Entra، والتي يدعمها Azure Databricks أيضا للمصادقة. لمعرفة كيفية استخدام أساسيات خدمة معرف Microsoft Entra لمصادقة Azure Databricks بدلا من الهويات المدارة لموارد Azure، راجع:
- المصادقة الأساسية لخدمة MS Entra
- مصادقة Azure CLI
- إدارة كيانات الخدمة
- توفير كيان خدمة باستخدام Terraform
- الحصول على الرموز المميزة لمعرف Microsoft Entra لكيانات الخدمة
- تسجيل الدخول إلى Azure CLI باستخدام أساس خدمة معرف Microsoft Entra
- تسجيل الدخول إلى PowerShell باستخدام كيان خدمة معرف Microsoft Entra
يتم دعم مصادقة الهويات المدارة من Azure فقط بين الموارد التي تم تكوينها بشكل صحيح والتي تدعم الهويات المدارة - مثل أجهزة Azure الظاهرية (Azure VMs) وحسابات Azure Databricks ومساحات العمل.
لتكوين مصادقة الهويات المدارة من Azure باستخدام Azure Databricks، يجب تعيين متغيرات البيئة المقترنة التالية أو .databrickscfg
الحقول أو حقول Terraform أو Config
الحقول على Azure VM مدعوم بشكل صحيح:
- مضيف Azure Databricks.
- لعمليات الحساب، حدد
https://accounts.azuredatabricks.net
. - لعمليات مساحة العمل، حدد عنوان URL لكل مساحة عمل، على سبيل المثال
https://adb-1234567890123456.7.azuredatabricks.net
.
- لعمليات الحساب، حدد
- لعمليات الحساب، معرف حساب Azure Databricks.
- معرف المستأجر للهوية المدارة.
- معرف العميل للهوية المدارة.
- معرف مورد Azure.
- تعيين استخدام Azure للهويات المدارة إلى true.
لإجراء مصادقة الهويات المدارة من Azure مع Azure Databricks، قم بدمج ما يلي ضمن التعليمات البرمجية الخاصة بك، استنادا إلى الأداة المشاركة أو SDK:
البيئة
لاستخدام متغيرات البيئة لنوع مصادقة Azure Databricks معين باستخدام أداة أو SDK، راجع مصادقة الوصول إلى موارد Azure Databricks أو وثائق الأداة أو SDK. راجع أيضا متغيرات البيئة وحقول المصادقة الموحدة للعميل والأساليب الافتراضية للمصادقة الموحدة للعميل.
بالنسبة للعمليات على مستوى الحساب، قم بتعيين متغيرات البيئة التالية:
DATABRICKS_HOST
، قم بتعيين إلى قيمة عنوان URL لوحدة تحكم حساب Azure Databricks،https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_CLIENT_ID
ARM_USE_MSI
، قم بتعيين إلىtrue
.
بالنسبة للعمليات على مستوى مساحة العمل، قم بتعيين متغيرات البيئة التالية:
DATABRICKS_HOST
، قم بتعيين إلى قيمة عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net
.ARM_CLIENT_ID
ARM_USE_MSI
، قم بتعيين إلىtrue
.
بالنسبة للعمليات على مستوى مساحة العمل، إذا لم تتم إضافة الهوية الهدف بالفعل إلى مساحة العمل، فحدد DATABRICKS_AZURE_RESOURCE_ID
جنبا إلى جنب مع معرف مورد Azure لمساحة عمل Azure Databricks، بدلا من DATABRICKS_HOST
عنوان URL لمساحة العمل. في هذه الحالة، يجب أن يكون للهوية الهدف أذونات المساهم أو المالك على الأقل على مورد 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_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
بالنسبة للعمليات على مستوى مساحة العمل، قم بتعيين القيم التالية في الملف..databrickscfg
في هذه الحالة، يكون المضيف هو عنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثالhttps://adb-1234567890123456.7.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
بالنسبة للعمليات على مستوى مساحة العمل، إذا لم تتم إضافة الهوية الهدف بالفعل إلى مساحة العمل، فحدد azure_workspace_resource_id
جنبا إلى جنب مع معرف مورد Azure لمساحة عمل Azure Databricks، بدلا من host
عنوان URL لمساحة العمل. في هذه الحالة، يجب أن يكون للهوية الهدف أذونات المساهم أو المالك على الأقل على مورد Azure لمساحة عمل Azure Databricks.
CLI
بالنسبة إلى Databricks CLI، قم بأحد الإجراءات التالية:
- تعيين متغيرات البيئة كما هو محدد في قسم "البيئة" لهذه المقالة.
- تعيين القيم الموجودة في
.databrickscfg
الملف كما هو محدد في قسم "ملف التعريف" في هذه المقالة.
دائما ما تكون لمتغيرات البيئة الأسبقية على القيم الموجودة في الملف..databrickscfg
راجع أيضا مصادقة الهويات المدارة من Azure.
اتصال
إشعار
يعتمد Databricks Connect على Databricks SDK ل Python للمصادقة. لم تقم Databricks SDK ل Python بعد بتنفيذ مصادقة الهويات المدارة من Azure.
تعليمة VS الظاهرية
إشعار
ملحق Databricks ل Visual Studio Code لا يدعم بعد مصادقة الهويات المدارة من Azure.
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_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
بالنسبة للعمليات على مستوى مساحة العمل، للمصادقة الافتراضية:
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_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
بالنسبة للعمليات على مستوى مساحة العمل، إذا لم تتم إضافة الهوية الهدف بالفعل إلى مساحة العمل، فحدد azure_workspace_resource_id
جنبا إلى جنب مع معرف مورد Azure لمساحة عمل Azure Databricks، بدلا من host
عنوان URL لمساحة العمل. في هذه الحالة، يجب أن يكون للهوية الهدف أذونات المساهم أو المالك على الأقل على مورد Azure لمساحة عمل Azure Databricks.
لمزيد من المعلومات حول المصادقة مع موفر Databricks Terraform، راجع المصادقة.
Python
إشعار
لم تقم Databricks SDK ل Python بعد بتنفيذ مصادقة الهويات المدارة من Azure.
Java
إشعار
لم تنفذ Databricks SDK ل Java مصادقة الهويات المدارة من Azure بعد.
انتقال
بالنسبة للعمليات على مستوى الحساب، للمصادقة الافتراضية:
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(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
بالنسبة للعمليات على مستوى مساحة العمل، للمصادقة الافتراضية:
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(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
بالنسبة للعمليات على مستوى مساحة العمل، إذا لم تتم إضافة الهوية الهدف بالفعل إلى مساحة العمل، فحدد AzureResourceID
جنبا إلى جنب مع معرف مورد Azure لمساحة عمل Azure Databricks، بدلا من Host
عنوان URL لمساحة العمل. في هذه الحالة، يجب أن يكون للهوية الهدف أذونات المساهم أو المالك على الأقل على مورد Azure لمساحة عمل Azure Databricks.
لمزيد من المعلومات حول المصادقة باستخدام أدوات Databricks وSDKs التي تستخدم Go والتي تنفذ المصادقة الموحدة لعميل Databricks، راجع مصادقة Databricks SDK ل Go باستخدام حساب Azure Databricks أو مساحة العمل.