تكوين الهويات المدارة في تجمعات الدُفعات
تقضي الهويات المدارة لموارد Azure على إدارة الهوية وبيانات الاعتماد المعقدة من خلال توفير هوية لمورد Azure في معرف Microsoft Entra (معرف Azure AD). يتم استخدام هذه الهوية للحصول على رموز Microsoft Entra المميزة للمصادقة مع الموارد المستهدفة في Azure.
عند إضافة هوية مدارة معينة من قبل المستخدم إلى تجمع الدفعات، من الضروري تعيين خاصية الهوية في التكوين الخاص بك. تربط هذه الخاصية الهوية المدارة بالتجمع، ما يمكنها من الوصول إلى موارد Azure بشكل آمن. يمكن أن يؤدي الإعداد غير الصحيح لخاصية الهوية إلى أخطاء شائعة، مثل مشكلات الوصول أو أخطاء التحميل.
لمزيد من المعلومات حول تكوين الهويات المدارة في Azure Batch، يرجى الرجوع إلى وثائق الهويات المدارة ل Azure Batch.
يشرح هذا الموضوع كيفية تمكين الهويات المُدارة المعينة من قبل المستخدم في تجمعات الدُفعات وكيفية استخدام الهويات المُدارة داخل العقد.
هام
لا يمكن إنشاء تجمعات ذات هويات مدارة إلا باستخدام واجهات برمجة تطبيقات مستوى إدارة الدفعات أو SDKs باستخدام مصادقة Entra. لا يمكن إنشاء تجمعات ذات هويات مدارة باستخدام واجهات برمجة تطبيقات خدمة الدفعات أو SDKs. لمزيد من المعلومات، راجع وثائق النظرة العامة لواجهات برمجة التطبيقات الدفعية والأدوات.
إنشاء هوية مُدارة يعينها المستخدم
أولاً، أنشئ هوية مُدارة معينة من قبل المستخدم في نفس المستأجر مثل حساب الدفعة الخاص بك. يمكنك إنشاء الهوية باستخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (Azure CLI) أو PowerShell أو Azure Resource Manager أو Azure REST API. لا تحتاج هذه الهوية المدارة إلى أن تكون في نفس مجموعة الموارد أو حتى في نفس الاشتراك.
تلميح
لا يمكن استخدام هوية مدارة معينة من قبل النظام تم إنشاؤها لحساب Batch لتشفير بيانات العميل كهوية مدارة يعينها المستخدم على تجمع Batch كما هو موضح في هذا المستند. إذا كنت ترغب في استخدام نفس الهوية المدارة على كل من حساب Batch وتجمع Batch، فاستخدم هوية مدارة مشتركة يعينها المستخدم بدلا من ذلك.
إنشاء تجمع دفعي بهويات مُدارة من قبل المستخدم
بعد إنشاء هوية واحدة أو أكثر من الهويات المدارة المعينة من قبل المستخدم، يمكنك إنشاء تجمع Batch بهذه الهوية أو تلك الهويات. يمكنك:
تحذير
التحديثات الموضعية للهويات المدارة للمجموعة غير مدعومة بينما يحتوي التجمع على عقد نشطة. لن يتم تحديث عقد الحوسبة الموجودة بالتغييرات. يوصى بتحجيم التجمع إلى عقد حساب صفرية قبل تعديل مجموعة الهوية للتأكد من أن جميع الأجهزة الظاهرية لها نفس مجموعة الهويات المعينة.
إنشاء تجمع Batch في مدخل Microsoft Azure
لإنشاء تجمع دفعي بالهوية المُدارة يعينها المستخدم من خلال مدخل Microsoft Azure:
- قم بتسجيل الدخول إلى بوابة Azure.
- في شريط البحث، أدخل وحدد Batch accounts.
- في صفحة Batch account، حدد حساب Batch حيث تريد إنشاء تجمع Batch.
- في قائمة حساب Batch، ضمن Features، حدد Pools.
- في قائمة Pools، حدد Add لإضافة تجمع Batch جديد.
- بالنسبة إلى Pool ID، أدخل معرفاً لمجموعتك.
- بالنسبة إلى Identity، قم بتغيير الإعداد إلى User assigned.
- ضمن "User assigned managed identity"، حدد "Add".
- حدد الهوية أو الهويات المُدارة التي عيّنها المستخدم والتي تريد استخدامها. ثم حدد Add.
- ضمن Operating System، حدد الناشر والعرض ورقم التخزين التعريفي المراد استخدامه.
- اختياريا، قم بتمكين الهوية المدارة في سجل الحاوية:
- بالنسبة إلى Container configuration، قم بتغيير الإعداد إلى Custom. ثم حدد التكوين المخصص الخاص بك.
- بالنسبة إلى Start task، حدد Enabled. ثم حدد Resource files وأضف معلومات حاوية التخزين الخاصة بك.
- مكّن إعدادات الحاوية.
- تغيير Container Registry إلى Custom
- بالنسبة إلى مرجع الهوية، حدد حاوية التخزين.
إنشاء تجمع Batch باستخدام .NET
لإنشاء مجموعة مجمعة بالهوية المُدارة معينة من قِبل المستخدم باستخدام مكتبة إدارة Batch .NET، استخدم مثال التعليمة البرمجية التالية:
var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);
var batchAccountIdentifier = ResourceIdentifier.Parse("your-batch-account-resource-id");
BatchAccountResource batchAccount = _armClient.GetBatchAccountResource(batchAccountIdentifier);
var poolName = "HelloWorldPool";
var imageReference = new BatchImageReference()
{
Publisher = "canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest"
};
string nodeAgentSku = "batch.node.ubuntu 22.04";
var batchAccountPoolData = new BatchAccountPoolData()
{
VmSize = "Standard_DS1_v2",
DeploymentConfiguration = new BatchDeploymentConfiguration()
{
VmConfiguration = new BatchVmConfiguration(imageReference, nodeAgentSku)
},
ScaleSettings = new BatchAccountPoolScaleSettings()
{
FixedScale = new BatchAccountFixedScaleSettings()
{
TargetDedicatedNodes = 1
}
}
};
ArmOperation<BatchAccountPoolResource> armOperation = batchAccount.GetBatchAccountPools().CreateOrUpdate(
WaitUntil.Completed, poolName, batchAccountPoolData);
BatchAccountPoolResource pool = armOperation.Value;
إشعار
لتضمين الخاصية Identity استخدم التعليمات البرمجية المثال التالي:
var pool = batchClient.PoolOperations.CreatePool(
poolId: "myPool",
virtualMachineSize: "STANDARD_D2_V2",
cloudServiceConfiguration: new CloudServiceConfiguration(osFamily: "4"),
targetDedicatedNodes: 1,
identity: new PoolIdentity(
type: PoolIdentityType.UserAssigned,
userAssignedIdentities: new Dictionary<string, UserAssignedIdentity>
{
{ "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}", new UserAssignedIdentity() }
}
));
استخدم الهويات المُدارة المعينة من قبل المستخدم في عقد الدُفعات
تدعم العديد من وظائف Azure Batch التي تصل إلى موارد Azure الأخرى مباشرة على عقد الحوسبة، مثل Azure Storage أو Azure Container Registry، الهويات المدارة. لمزيد من المعلومات حول استخدام الهويات المُدارة مع Azure Batch، راجع الارتباطات التالية:
يمكنك أيضاً تكوين مهامك يدوياً حتى تتمكن الهويات المدارة من الوصول مباشرة إلى موارد Azure التي تدعم الهويات المدارة .
ضمن عقد Batch، يمكنك الحصول على رموز الهوية المميزة المدارة واستخدامها للمصادقة من خلال مصادقة Microsoft Entra عبر خدمة بيانات تعريف مثيل Azure.
بالنسبة لنظام التشغيل Windows، فإن البرنامج النصي PowerShell للحصول على رمز وصول للمصادقة هو:
$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -Method GET -Headers @{Metadata="true"}
بالنسبة إلى Linux، نص Bash النصي هو:
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true
لمزيد من المعلومات، راجع كيفية استخدام الهويات المُدارة لموارد Azure على Azure VM للحصول على رمز وصول .
الخطوات التالية
- لمعرفة المزيد، راجع الهويات المُدارة لموارد Azure.
- تعرف على كيفية استخدام المفاتيح التي يديرها العميل مع الهويات التي يديرها المستخدم .
- تعرف على كيفية تمكين التدوير التلقائي للشهادة في مجموعة الدُفعات .