إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يدعم Azure Batch المصادقة باستخدام معرف Microsoft Entra، الدليل متعدد المستأجرين من Microsoft وخدمة إدارة الهوية. يستخدم Azure معرف Microsoft Entra لمصادقة عملائه ومسؤولي الخدمة ومستخدمي المؤسسة.
الطريقة الموصى بها للمصادقة Azure Batch التطبيقات هي استخدام مكتبة عملاء Azure Identity، التي توفر فئات مصادقة تعتمد على الرموز (مثل DefaultAzureCredential، ManagedIdentityCredential، ClientSecretCredential، و InteractiveBrowserCredential) التي تعمل باستمرار سواء كان تطبيقك يعمل محليا، على Azure، أو في الموقع. للحصول على نظرة عامة على استراتيجيات المصادقة الموصى بها، انظر:
- توثيق تطبيقات .NET لخدمات Azure باستخدام مكتبة Azure Identity
- توثيق تطبيقات Python لخدمات Azure باستخدام مكتبة الهوية Azure
تصف هذه المقالة سيناريوهين شائعين للمصادقة إلى Azure Batch باستخدام Microsoft Entra ID:
المصادقة المتكاملة (التفاعلية) تصادق المستخدم الذي يتفاعل مع تطبيق. استخدم بيانات مثل
InteractiveBrowserCredentialأوDefaultAzureCredential(والتي يمكن أن تتسلسل عبر تسجيلات دخول أدوات المطورين مثل Azure CLI و Visual Studio و تعليمة Visual Studio برمجية).المصادقة الرئيسية أو المدارة للخدمة تصادق على تطبيق غير مراقب. استخدم بيانات مثل
ManagedIdentityCredentialللتطبيقات المستضافة على Azure، أوClientSecretCredential/ClientCertificateCredentialللتطبيقات التي تتحقق من سر أو شهادة التطبيق المسجل.
لمزيد من المعلومات حول معرف Microsoft Entra، راجع وثائق Microsoft Entra.
جمع نقاط النهاية للمصادقة
لمصادقة تطبيقات Batch باستخدام معرف Microsoft Entra، تحتاج إلى تضمين نقطة نهاية Microsoft Entra ونقطة نهاية مورد Batch في التعليمات البرمجية الخاصة بك.
نقطة نهاية Microsoft Entra
نقطة نهاية مرجع Microsoft Entra الأساسية هي https://login.microsoftonline.com/. للمصادقة باستخدام معرف Microsoft Entra، استخدم نقطة النهاية هذه مع معرف المستأجر الذي يعرف مستأجر Microsoft Entra لاستخدامه للمصادقة:
https://login.microsoftonline.com/<tenant-id>
يمكنك الحصول على معرف المستأجر الخاص بك من صفحة معرف Microsoft Entra الرئيسية في مدخل Microsoft Azure. يمكنك أيضا تحديد Properties في جزء التنقل الأيمن ورؤية Tenant ID في صفحة Properties.
هام
تكون نقطة نهاية Microsoft Entra الخاصة بالمستأجر مطلوبة عند المصادقة باستخدام كيان خدمة.
عند المصادقة باستخدام المصادقة المتكاملة، يوصى بنقطة النهاية الخاصة بالمستأجر، ولكنها اختيارية. يمكنك أيضا استخدام نقطة النهاية الشائعة ل Microsoft Entra لتوفير واجهة تجميع بيانات اعتماد عامة عند عدم توفير مستأجر معين. نقطة النهاية الشائعة هي
https://login.microsoftonline.com/common.
لمزيد من المعلومات حول نقاط نهاية Microsoft Entra، راجع المصادقة مقابل التخويل.
نقطة نهاية مورد خدمة Batch
استخدم نقطة https://batch.core.windows.net/ نهاية مورد Batch للحصول على رمز مميز لمصادقة الطلبات إلى خدمة Batch.
سجل طلبك مع المستأجر
الخطوة الأولى في استخدام مصادقة Microsoft Entra هي تسجيل التطبيق الخاص بك في مستأجر Microsoft Entra. بعد تسجيل تطبيقك، يمكنك استخدام بيانات اعتماد مكتبة الهوية Azure من الكود للحصول على Microsoft Entra الرموز لخدمة الدفعات. تسجيل تطبيقك مطلوب لتدفقات العميل (رئيسية الخدمة) السرية ولأي تدفق تفاعلي يتطلب تسجيل تطبيق خاص بالمستأجر.
تلميح
إذا كان كودك يستخدم DefaultAzureCredential ويسجل الدخول عبر أداة مطور (Azure CLI، Azure PowerShell، Visual Studio، أو تعليمة Visual Studio برمجية) أو هوية مدارة، فلست بحاجة لتسجيل تطبيق منفصل — تعتمد بيانات الاعتماد على الهوية التي تم تكوينها مسبقا في تلك البيئة.
عند تسجيل التطبيق الخاص بك، يمكنك توفير معلومات حول التطبيق الخاص بك إلى معرف Microsoft Entra. يوفر معرف Microsoft Entra بعد ذلك معرف تطبيق، يسمى أيضا معرف العميل، الذي تستخدمه لربط تطبيقك بمعرف Microsoft Entra في وقت التشغيل. لمزيد من المعلومات حول معرف التطبيق، راجع الكائنات الأساسية للتطبيق والخدمة في معرف Microsoft Entra.
لتسجيل تطبيق Batch الخاص بك، اتبع الخطوات الواردة في تسجيل تطبيق.
بعد تسجيل التطبيق الخاص بك، يمكنك مشاهدة معرف التطبيق (العميل) في صفحة نظرة عامة على التطبيق.
تكوين المصادقة المتكاملة
للمصادقة مع المصادقة المتكاملة، تحتاج إلى منح إذن التطبيق الخاص بك للاتصال بواجهة برمجة تطبيقات خدمة الدفعات. تمكن هذه الخطوة تطبيقك من استخدام معرف Microsoft Entra لمصادقة المكالمات إلى واجهة برمجة تطبيقات خدمة الدفعات.
بعد تسجيل التطبيق الخاص بك، اتبع هذه الخطوات لمنح التطبيق حق الوصول إلى خدمة Batch:
- في مدخل Microsoft Azure، ابحث عن تسجيلات التطبيقات وحددها.
- في صفحة App registrations ، حدد التطبيق الخاص بك.
- في صفحة التطبيق الخاص بك، حدد أذونات واجهة برمجة التطبيقات من التنقل الأيمن.
- في النافذة الخاصة بأذونات واجهة برمجة التطبيقات اخترإضافة إذن.
- في صفحة Request API permissions ، حدد Azure Batch.
- في صفحة Azure Batch ، ضمن Select permissions، حدد خانة الاختيار بجوار user_impersonation، ثم حدد Add permissions.
تظهر صفحة أذونات واجهة برمجة التطبيقات الآن أن تطبيق Microsoft Entra الخاص بك لديه حق الوصول إلى كل من Microsoft Graph وAzure Batch. يتم منح الأذونات إلى Microsoft Graph تلقائيا عند تسجيل تطبيق باستخدام معرف Microsoft Entra.
تكوين كيان الخدمة
لمصادقة تطبيق يتم تشغيله دون مراقبة، يمكنك استخدام مبدأ الخدمة. عندما يصادق التطبيق الخاص بك باستخدام كيان خدمة، فإنه يرسل كل من معرف التطبيق ومفتاح سري إلى معرف Microsoft Entra.
بعد تسجيل التطبيق الخاص بك، اتبع هذه الخطوات في مدخل Microsoft Azure لتكوين كيان الخدمة:
- طلب سر لتطبيقك.
- قم بتعيين عنصر تحكم في الوصول المستند إلى الدور (Azure RBAC) لتطبيقك.
طلب سر لتطبيقك
اتبع هذه الخطوات لإنشاء ونسخ المفتاح السري لاستخدامه في التعليمات البرمجية الخاصة بك:
- في مدخل Microsoft Azure، ابحث عن تسجيلات التطبيقات وحددها.
- في صفحة App registrations ، حدد التطبيق الخاص بك.
- في صفحة التطبيق الخاص بك، حدد Certificates & secrets من التنقل الأيسر.
- في صفحة Certificates &s secrets ، حدد New client secret.
- في صفحة إضافة سر عميل، أدخل وصفا وحدد فترة انتهاء صلاحية للبيانات السرية.
- حدد إضافة لإنشاء البيانات السرية وعرضها في صفحة الشهادات والأسرار .
- انسخ القيمة السرية إلى مكان آمن، لأنك لن تتمكن من الوصول إليها مرة أخرى بعد مغادرة هذه الصفحة. إذا فقدت الوصول إلى المفتاح الخاص بك، يمكنك إنشاء مفتاح جديد.
قم بتعيين Azure RBAC لتطبيقك
اتبع هذه الخطوات لتعيين دور Azure RBAC لتطبيقك. لمزيد من المعلومات، راجع التحكم في الوصول المستند إلى الدور لخدمة Azure Batch.
- في مدخل Microsoft Azure، انتقل إلى حساب Batch الذي يستخدمه التطبيق الخاص بك.
- حدد Access control (IAM) من جزء التنقل الأيمن.
- في صفحة Access control (IAM)، حدد Add role assignment.
- في صفحة إضافة تعيين دور، حدد علامة التبويب الدور ، ثم حدد أحد أدوار التحكم في الوصول استنادا إلى الدور المضمنة في Azure Batch دور تطبيقك.
- حدد علامة التبويب Members، وحدد Select members ضمن Members.
- في شاشة تحديد الأعضاء ، ابحث عن التطبيق وحدده، ثم حدد تحديد.
- حدد Review + assign في صفحة Add role assignment .
يجب أن يظهر تطبيقك الآن في علامة التبويب Role assignments في صفحة التحكم في الوصول (IAM) لحساب Batch.
أمثلة على التعليمات البرمجية
تظهر أمثلة الكود في هذا القسم كيفية المصادقة إلى Azure Batch باستخدام Microsoft Entra ID باستخدام بيانات الاعتماد من مكتبة Azure Identity. تستخدم الأمثلة .NET و Python، لكن نفس الأنماط تنطبق على لغات Azure SDK الأخرى.
إشعار
تنتهي صلاحية رمز مصادقة Microsoft Entra المميز بعد ساعة واحدة. عندما تستخدم كائن BatchClient طويل الأمد، وهو Azure IdentityTokenCredential توفر الرموز المؤقتة بشفافية وتقوم بتحديث الرمز، بحيث يتم الحصول على رمز جديد من Microsoft Entra ID فقط عند الضرورة. لمزيد من المعلومات حول الرموز المميزة في معرف Microsoft Entra، راجع رموز الأمان المميزة.
تلميح
في معظم السيناريوهات، استخدم DefaultAzureCredential. يحاول تلقائيا عدة طرق مصادقة (الهوية المدارة، متغيرات البيئة، تسجيل دخول أدوات المطورين، وهكذا)، بحيث يعمل نفس الكود سواء كان تطبيقك يعمل محليا أثناء التطوير، أو على Azure، أو في الموقع. راجع Authenticate .NET apps و Authenticate Python apps للحصول على إرشادات حول اختيار الشهادة الصحيحة.
مثال على الكود: Authenticate to Azure Batch from .NET
يستخدم هذا المثال Azure. Compute.Batch باستخدام Azure. مكتبة الهوية.
قم بتثبيت حزم NuGet
Azure.Compute.BatchوAzure.Identity.أعلن عن العبارات التالية
usingفي التعليمات البرمجية الخاصة بك:using Azure.Compute.Batch; using Azure.Core; using Azure.Identity;راجع نقطة نهاية حساب Batch الخاص بك:
private const string BatchAccountUrl = "https://<myaccount>.<mylocation>.batch.azure.com";أنشئ شهادة اعتماد ومررها إلى
BatchClientالصانع. استخدم العميل للعمليات اللاحقة ضد خدمة الدفعة.موصى به:
DefaultAzureCredential— يعمل محليا مع تسجيلات دخول أدوات المطورين (Azure CLI، Visual Studio، تعليمة Visual Studio برمجية) ويستخدم الهوية المدارة تلقائيا عند تشغيل التطبيق على Azure:TokenCredential credential = new DefaultAzureCredential(); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential); await foreach (BatchJob job in client.GetJobsAsync()) { Console.WriteLine(job.Id); }تسجيل الدخول التفاعلي (المتكامل) — يطلب من المستخدم تسجيل الدخول عبر متصفح النظام. استخدم هذا عندما يحتاج تطبيقك إلى مصادقة مستخدم معين بشكل تفاعلي:
TokenCredential credential = new InteractiveBrowserCredential( new InteractiveBrowserCredentialOptions { TenantId = "<tenant-id>", ClientId = "<application-id>", // optional; required only if you registered your own app RedirectUri = new Uri("http://localhost") }); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);سر الخدمة (سر العميل) — الاستخدام للتطبيقات غير المراقبة التي تتحقق من خلال سر تسجيل التطبيق:
TokenCredential credential = new ClientSecretCredential( tenantId: "<tenant-id>", clientId: "<application-id>", clientSecret: "<client-secret>"); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);Managed identity — استخدم عندما يعمل تطبيقك على مورد Azure (مثل جهاز افتراضي، خدمة التطبيقات، أو تطبيق الحاوية) الذي يحتوي على هوية مدارة معينة من النظام أو معين من قبل المستخدم:
// System-assigned managed identity TokenCredential credential = new ManagedIdentityCredential(); // Or, user-assigned managed identity // TokenCredential credential = new ManagedIdentityCredential(clientId: "<user-assigned-client-id>"); BatchClient client = new BatchClient(new Uri(BatchAccountUrl), credential);
مثال على الكود: Authenticate to Azure Batch from Python
يستخدم هذا المثال عميل azure-batch مع بيانات اعتماد من مكتبة azure-identity . فئة القديمة azure.common.credentials.ServicePrincipalCredentials مهجورة؛ استخدم azure-identity بيانات الاعتماد بدلا من ذلك.
قم بتثبيت الحزم المطلوبة:
pip install azure-batch azure-identityالإشارة إلى نقطة نهاية حساب الدفعة ونطاق موارد الدفعة:
BATCH_ACCOUNT_URL = "https://<myaccount>.<mylocation>.batch.azure.com" BATCH_SCOPE = "https://batch.core.windows.net/.default"أنشئ بيانات اعتماد ومررها إلى .
BatchServiceClientموصى به:
DefaultAzureCredential— يعمل محليا مع أدوات تسجيل الدخول للمطورين ويستخدم هوية الإدارة تلقائيا عند التشغيل على Azure:from azure.batch import BatchServiceClient from azure.identity import DefaultAzureCredential credential = DefaultAzureCredential() batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )تسجيل الدخول التفاعلي (المتكامل) — يطلب من المستخدم تسجيل الدخول عبر متصفح النظام:
from azure.batch import BatchServiceClient from azure.identity import InteractiveBrowserCredential credential = InteractiveBrowserCredential( tenant_id="<tenant-id>", client_id="<application-id>", # optional; required only if you registered your own app ) batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )سر الخدمة (سر العميل) — الاستخدام للتطبيقات غير المراقبة:
from azure.batch import BatchServiceClient from azure.identity import ClientSecretCredential credential = ClientSecretCredential( tenant_id="<tenant-id>", client_id="<application-id>", client_secret="<client-secret>", ) batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )Managed identity — استخدم عندما يعمل تطبيقك على مورد Azure بهوية مدارة:
from azure.batch import BatchServiceClient from azure.identity import ManagedIdentityCredential # System-assigned managed identity credential = ManagedIdentityCredential() # Or, user-assigned managed identity # credential = ManagedIdentityCredential(client_id="<user-assigned-client-id>") batch_client = BatchServiceClient( credentials=credential, batch_url=BATCH_ACCOUNT_URL, )
الخطوات التالية
- مصادقة حلول إدارة الدفعات باستخدام Active Directory
- توثيق تطبيقات .NET لخدمات Azure باستخدام مكتبة Azure Identity
- توثيق تطبيقات Python لخدمات Azure باستخدام مكتبة الهوية Azure
- مكتبة عميل Azure Identity لـ .NET
- مكتبة عميل هوية Azure لـ Python
- الكائنات الأساسية للتطبيق والخدمة في معرف Microsoft Entra
- كيفية إنشاء تطبيق Microsoft Entra ومدير الخدمة الذي يمكنه الوصول إلى الموارد