ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
إشعار
لتوفير كيان خدمة مدار من Microsoft Entra ID باستخدام مدخل Microsoft Azure وواجهة مستخدم Azure Databricks بدلا من ذلك، راجع إدارة أساسيات الخدمة.
تختلف أساسيات الخدمة المدارة لمعرف Microsoft Entra عن الهويات المدارة لموارد Azure، والتي يدعمها Azure Databricks أيضا للمصادقة. لمعرفة كيفية استخدام الهويات المدارة لموارد Azure بدلا من أساسيات الخدمة المدارة لمعرف Microsoft Entra لمصادقة Azure Databricks، راجع إعداد مصادقة الهويات المدارة في Azure واستخدامها لأتمتة Azure Databricks.
كيان الخدمة هو هوية للأدوات والأنظمة التلقائية مثل البرامج النصية والتطبيقات وأنظمة CI/CD الأساسية. توصي Databricks باستخدام كيان الخدمة ورمز OAuth المميز أو رمز الوصول الشخصي بدلا من حساب مستخدم Azure Databricks ورمز الوصول الشخصي. تتضمن الميزات:
- منح الوصول إلى الموارد وتقييده بشكل مستقل عن المستخدم.
- تمكين المستخدمين من حماية رموز الوصول المميزة الخاصة بهم بشكل أفضل.
- تعطيل كيان خدمة أو حذفه دون التأثير على المستخدمين الآخرين.
- إزالة مستخدم عند مغادرته المؤسسة دون التأثير على أي كيان خدمة.
اتبع هذه الإرشادات لاستخدام Terraform لإنشاء كيان خدمة مدار بواسطة معرف Microsoft Entra في Azure، واستخدام موفر Databricks Terraform لربط كيان خدمة معرف Microsoft Entra بمساحة عمل Azure Databricks، ثم إنشاء رمز مميز لمعرف Microsoft Entra أو رمز Azure Databricks OAuth المميز لكيان الخدمة اختياريا.
المتطلبات
- The Terraform CLI. راجع تنزيل Terraform.
- سجل Azure CLI الدخول إلى اشتراك معرف Microsoft Entra الهدف عن طريق تشغيل
az login
الأمر . لتسجيل الدخول باستخدام كيان خدمة معرف Microsoft Entra، راجع تسجيل الدخول إلى Azure CLI باستخدام أساس خدمة معرف Microsoft Entra. لتسجيل الدخول باستخدام حساب مستخدم Azure Databricks، راجع تسجيل الدخول إلى Azure CLI باستخدام حساب مستخدم Azure Databricks.
الخطوة 1: إنشاء كيان الخدمة
إذا كان لديك بالفعل كيان خدمة مدار من Microsoft Entra ID متوفر، فانتقل إلى الخطوة 2.
في المحطة الطرفية الخاصة بك، قم بإنشاء دليل فارغ ثم قم بالتبديل إليه. (يجب أن تكون كل مجموعة منفصلة من ملفات تكوين Terraform في دليلها الخاص.) على سبيل المثال:
mkdir terraform_azure_service_principal_demo && cd terraform_azure_service_principal_demo
.mkdir terraform_azure_service_principal_demo && cd terraform_azure_service_principal_demo
في هذا الدليل الفارغ، أنشئ ملفا باسم
main.tf
. أضف المحتوى التالي إلى هذا الملف، ثم احفظ الملف.variable "azure_service_principal_display_name" { description = "A display name for the <entra-service-principal>." type = string } terraform { required_providers { azuread = { source = "hashicorp/azuread" } } } provider "azurerm" { features {} } resource "azuread_application" "this" { display_name = var.azure_service_principal_display_name } resource "azuread_service_principal" "this" { application_id = azuread_application.this.application_id } resource "time_rotating" "month" { rotation_days = 30 } resource "azuread_service_principal_password" "this" { service_principal_id = azuread_service_principal.this.object_id rotate_when_changed = { rotation = time_rotating.month.id } } output "azure_client_id" { description = "The Azure AD service principal's application (client) ID." value = azuread_application.this.application_id } output "azure_client_secret" { description = "The Azure AD service principal's client secret value." value = azuread_service_principal_password.this.value sensitive = true }
في نفس الدليل، قم بإنشاء ملف باسم
terraform.tfvars
. أضف المحتوى التالي إلى هذا الملف، واستبدل القيمة التالية، ثم احفظ الملف:azure_service_principal_display_name
استبدل القيمة باسم عرض لمدير خدمة معرف Microsoft Entra.
azure_service_principal_display_name = "<A display name for the <entra-service-principal>>"
تهيئة دليل العمل الذي يحتوي على
main.tf
الملف عن طريق تشغيلterraform init
الأمر . لمزيد من المعلومات، راجع Command: init على موقع Terraform على الويب.terraform init
تحقق مما إذا كان هناك أي أخطاء في بناء الجملة في التكوين عن طريق تشغيل
terraform validate
الأمر . لمزيد من المعلومات، راجع الأمر: التحقق من الصحة على موقع Terraform على الويب.terraform validate
قم بتطبيق التغييرات المطلوبة للوصول إلى الحالة المطلوبة للتكوين عن طريق تشغيل
terraform apply
الأمر . لمزيد من المعلومات، راجع الأمر: تطبيق على موقع Terraform على الويب.terraform apply
بعد إنشاء كيان الخدمة، انسخ azure_client_id
قيمتي الإخراج و azure_client_secret
، حيث ستحتاج إليهما لاحقا.
للحصول على azure_client_secret
القيمة، راجع قيمة outputs.client_secret.value
في terraform.tfstate
الملف، الموجود في دليل العمل الذي يحتوي على main.tf
الملف.
الخطوة 2: إضافة كيان الخدمة إلى مساحة عمل Azure Databricks
إشعار
يضيف المحتوى التالي كيان خدمة على مستوى مساحة عمل Azure Databricks. إذا تم تمكين مساحة عمل Azure Databricks لاتحاد الهوية، فإن المحتوى التالي يقوم أيضا تلقائيا بمزامنة كيان الخدمة إلى حساب Azure Databricks ذي الصلة.
في المحطة الطرفية الخاصة بك، قم بإنشاء دليل فارغ ثم قم بالتبديل إليه. يجب أن تكون كل مجموعة منفصلة من ملفات تكوين Terraform في دليلها الخاص. على سبيل المثال:
mkdir terraform_databricks_service_principal_demo && cd terraform_databricks_service_principal_demo
.mkdir terraform_databricks_service_principal_demo && cd terraform_databricks_service_principal_demo
في هذا الدليل الفارغ، أنشئ ملفا باسم
main.tf
. أضف المحتوى التالي إلى هذا الملف، ثم احفظ الملف.variable "databricks_host" { description = "The Azure Databricks workspace URL." type = string } variable "azure_client_id" { type = string description = "The application (client) ID of the <entra-service-principal> to link to an Azure Databricks service principal. This application (client) ID will be the application ID of the Azure Databricks service principal." } variable "databricks_service_principal_display_name" { type = string description = "A workspace display name for the Azure Databricks service principal." } terraform { required_providers { databricks = { source = "databricks/databricks" } } } provider "databricks" { host = var.databricks_host } resource "databricks_service_principal" "sp" { application_id = var.azure_client_id display_name = var.databricks_service_principal_display_name } output "databricks_service_principal_application_id" { value = databricks_service_principal.sp.application_id description = "Application ID of the Azure Databricks service principal." } output "databricks_service_principal_display_name" { value = databricks_service_principal.sp.display_name description = "Workspace display name of the Azure Databricks service principal." } output "databricks_workspace_service_principal_id" { value = databricks_service_principal.sp.id description = "Workspace ID of the Azure Databricks service principal. This ID is generated by Azure Databricks for this workspace." }
إشعار
لإضافة كيان الخدمة هذا إلى المجموعات، وإضافة استحقاقات إلى كيان الخدمة هذا، راجع databricks_service_principal على موقع Terraform على الويب.
في نفس الدليل، قم بإنشاء ملف باسم
terraform.tfvars
. أضف المحتوى التالي إلى هذا الملف، واستبدل القيم التالية، ثم احفظ الملف:databricks_host
استبدل القيمة بعنوان URL لمساحة عمل Azure Databricks.azure_client_id
استبدل القيمة بالقيمةazure_client_id
من الخطوة 1.databricks_service_principal_display_name
استبدل القيمة باسم عرض مساحة العمل لمدير خدمة Azure Databricks.
databricks_host = "<The Azure Databricks workspace URL, starting with https://>" azure_client_id = "<The Azure client ID of the Azure Active AD service principal>" databricks_service_principal_display_name = "<A workspace display name for the Azure Databricks service principal>"
تهيئة دليل العمل الذي يحتوي على
main.tf
الملف عن طريق تشغيلterraform init
الأمر . لمزيد من المعلومات، راجع Command: init على موقع Terraform على الويب.terraform init
تحقق مما إذا كان هناك أي أخطاء في بناء الجملة في التكوين عن طريق تشغيل
terraform validate
الأمر . لمزيد من المعلومات، راجع الأمر: التحقق من الصحة على موقع Terraform على الويب.terraform validate
قم بتطبيق التغييرات المطلوبة للوصول إلى الحالة المطلوبة للتكوين عن طريق تشغيل
terraform apply
الأمر . لمزيد من المعلومات، راجع الأمر: تطبيق على موقع Terraform على الويب.terraform apply
بعد إنشاء كيان الخدمة، انسخ databricks_service_principal_application_id
قيمة الإخراج، حيث ستحتاج إليها لإنشاء رمز مميز لمعرف Microsoft Entra لكيان الخدمة.
(اختياري) الخطوة 3: إنشاء رمز مميز للوصول إلى معرف Microsoft Entra لكيان خدمة معرف Microsoft Entra
لا توصي Databricks بإنشاء رموز مميزة لمعرف Microsoft Entra لكيانات خدمة معرف Microsoft Entra يدويا. وذلك لأن كل رمز مميز لمعرف Microsoft Entra قصير الأجل، وعادة ما تنتهي صلاحيته في غضون ساعة واحدة. بعد هذا الوقت، يجب إنشاء رمز مميز بديل لمعرف Microsoft Entra يدويا. بدلا من ذلك، استخدم إحدى الأدوات المشاركة أو SDKs التي تنفذ معيار المصادقة الموحد لعميل Databricks. تنشئ هذه الأدوات وSDKs تلقائيا الرموز المميزة لمعرف Microsoft Entra منتهية الصلاحية وتستبدلها، مع الاستفادة من أنواع مصادقة Databricks التالية:
إذا كنت بحاجة إلى إنشاء رمز مميز لمعرف Microsoft Entra يدويا لكيان خدمة معرف Microsoft Entra، فاجمع المعلومات التالية، ثم اتبع الإرشادات الواردة في الحصول على رمز مميز للوصول إلى معرف Microsoft Entra باستخدام واجهة برمجة تطبيقات REST النظام الأساسي للهويات في Microsoft أو الحصول على رمز مميز للوصول إلى معرف Microsoft Entra باستخدام Azure CLI:
- معرف المستأجر لمدير خدمة معرف Microsoft Entra، والذي ستستخدمه كمعرف المستأجر / معرف /
<tenant-id>
الدليل (المستأجر) في الإرشادات. للحصول على معرف المستأجر، راجع توفير كيان خدمة في مدخل Microsoft Azure. databricks_service_principal_application_id
القيمة من الخطوة 2، والتي ستستخدمها كمعرف العميل / معرف /<client-id>
التطبيق (العميل) في الإرشادات.azure_client_secret
القيمة من الخطوة 1، والتي ستستخدمها كبيانات العميل السرية / القيمة /<client-secret>
في الإرشادات.
بعد إنشاء الرمز المميز لمعرف Microsoft Entra، انسخ access_token
القيمة، حيث ستحتاج إلى توفيرها إلى البرنامج النصي أو التطبيق أو النظام.
(اختياري) الخطوة 4: إنشاء رمز Azure Databricks OAuth المميز لكيان خدمة معرف Microsoft Entra
لا توصي Databricks بإنشاء رموز Azure Databricks OAuth المميزة لكيانات الخدمة المدارة بواسطة معرف Microsoft Entra يدويا. وذلك لأن كل رمز مميز ل Azure Databricks OAuth قصير الأجل، وعادة ما تنتهي صلاحيته في غضون ساعة واحدة. بعد هذا الوقت، يجب إنشاء رمز Azure Databricks OAuth المميز البديل يدويا. بدلا من ذلك، استخدم إحدى الأدوات المشاركة أو SDKs التي تنفذ معيار المصادقة الموحد لعميل Databricks. تقوم هذه الأدوات وSDKs تلقائيا بإنشاء واستبدال رموز Azure Databricks OAuth المميزة منتهية الصلاحية لك، والاستفادة من مصادقة الوصول إلى Azure Databricks مع كيان خدمة باستخدام OAuth (OAuth M2M).
إذا كنت بحاجة إلى إنشاء رمز Azure Databricks OAuth المميز يدويا لكيان خدمة معرف Microsoft Entra، فشاهد إنشاء رموز الوصول المميزة واستخدامها يدويا لمصادقة OAuth M2M.