أدوار وأذونات سجل حاوية Azure
تدعم خدمة سجل حاوية Azure مجموعة من أدوار Azure المضمنة التي توفر مستويات مختلفة من الأذونات لسجل حاوية Azure. استخدم التحكم في الوصول المستند إلى الدور Azure لتعيين أذونات محددة للمستخدمين أو مبادئ الخدمة أو الهويات الأخرى التي تحتاج إلى التفاعل مع سجل، على سبيل المثال لسحب صور الحاوية أو دفعها. يمكنك أيضاً تحديد أدوار مخصصة بأذونات دقيقة للسجل لعمليات مختلفة.
الدور / الإذن | الوصول إلى إدارة الموارد | إنشاء / حذف السجل | دفع الصورة | سحب الصورة | حذف بيانات الصورة | تغيير النُهُج | صور اللافتات |
---|---|---|---|---|---|---|---|
مالك | X | X | X | X | X | X | |
مساهم | X | X | X | X | X | X | |
القارئ | X | X | |||||
AcrPush | X | X | |||||
AcrPull | X | ||||||
AcrDelete | X | ||||||
AcrImageSigner | X |
تعيين الأدوار
راجع خطوات إضافة تعيين دور للحصول على خطوات عالية المستوى لإضافة تعيين دور إلى مستخدم أو مجموعة أو مدير خدمة أو هوية مُدارة موجودة. يمكنك استخدام مدخل Azure أو Azure CLI أو Azure PowerShell أو أدوات Azure الأخرى.
عند إنشاء مدير خدمة، يمكنك أيضاً تكوين وصوله وأذوناته إلى موارد Azure مثل سجل الحاوية. للحصول على مثال لبرنامج نصي يستخدم Azure CLI، راجع مصادقة سجل حاوية Azure مع أساسيات الخدمة.
تمييز المستخدمين والخدمات
في أي وقت يتم تطبيق أذونات الوقت، من أفضل الممارسات توفير مجموعة محدودة من الأذونات لشخص أو خدمة لإنجاز مهمة ما. تمثل مجموعات الأذونات التالية مجموعة من الإمكانات التي يمكن أن يستخدمها البشر والخدمات مقطوعة الرأس.
حلول CI / CD
عند أتمتة أوامر docker build
من حلول CI / CD، فإنك تحتاج إلى إمكاناتdocker push
. بالنسبة لسيناريوهات الخدمة دون رأس، نوصي بتعيين دور AcrPush. هذا الدور، بخلاف دور المساهم الأوسع، يمنع الحساب من تنفيذ عمليات التسجيل الأخرى أو الوصول إلى مدير موارد Azure.
العقد المضيفة للحاويات
وبالمثل، فإن العقد التي تشغل حاوياتك تحتاج إلى دور AcrPull، ولكن لا ينبغي أن تتطلب إمكانات القارئ.
ملحق Visual Studio Code Docker
بالنسبة لأدوات مثل Visual Studio Code ملحق Docker، يلزم وصول موفر الموارد الإضافي لسرد سجلات حاوية Azure المتاحة. في هذه الحالة، وفر للمستخدمين الوصول إلى دور القارئ أو المساهم . تسمح هذه الأدوار بالإمكانيات docker pull
وdocker push
وaz acr list
وaz acr build
وإمكانيات أخرى.
الوصول إلى إدارة الموارد
الوصول إلى مدير موارد Azure مطلوب لمدخل Azure وإدارة التسجيل باستخدام Azure CLI. على سبيل المثال، للحصول على قائمة بالسجلات باستخدام الأمر az acr list
، فإنك تحتاج إلى مجموعة الأذونات هذه.
إنشاء وحذف التسجيل
القدرة على إنشاء وحذف سجلات حاوية Azure.
دفع الصورة
القدرة على docker push
صورة، أو دفع عنصر آخر مدعوم مثل مخطط Helm إلى سجل. يتطلب مصادقة مع التسجيل باستخدام الهوية المصرح بها.
سحب الصورة
القدرة على docker pull
صورة غير معزولة، أو سحب عنصر مدعوم آخر مثل مخطط Helm، من سجل. يتطلب مصادقة مع التسجيل باستخدام الهوية المصرح بها.
حذف بيانات الصورة
القدرة على حذف صور الحاوية، أو حذف عناصر مدعومة مثل مخططات Helm، من السجل.
تغيير النُهُج
القدرة على تكوين النُهُج على التسجيل. تتضمن النُهُج تنظيف الصورة وتمكين العزل وتوقيع الصورة.
توقيع الصور
القدرة على توقيع الصور، يتم تخصيصها عادةً لعملية آلية، والتي قد تستخدم أساس الخدمة. يتم عادةً دمج هذا الإذن مع دفع صورة للسماح بدفع صورة موثوق بها إلى سجل. للحصول على تفاصيل، راجع ثقة المحتوى في سجل حاوية Azure.
الأدوار المخصصة
كما هو الحال مع موارد Azure الأخرى، يمكنك إنشاء أدوار مخصصة بأذونات دقيقة إلى سجل حاوية Azure. ثم قم بتعيين الأدوار المخصصة للمستخدمين أو أساسيات الخدمة أو الهويات الأخرى التي تحتاج إلى التفاعل مع السجل.
لتحديد الأذونات المطلوب تطبيقها على دور مخصص، راجع قائمة إجراءات سجل حاوية Microsoft، راجع الإجراءات المسموح بها لأدوار ACR المضمنة ، أو قم بتشغيل الأمر التالي:
az provider operation show --namespace Microsoft.ContainerRegistry
لتحديد دور مخصص، راجع خطوات إنشاء دور مخصص.
ملاحظة
في المستأجرين الذين تم تكوينهم باستخدام الارتباط الخاص لـ مدير موارد Azure، يدعم سجل حاوية Azure إجراءات أحرف البدل مثل Microsoft.ContainerRegistry/*/read
أو Microsoft.ContainerRegistry/registries/*/write
في الأدوار المخصصة، ما يمنح الوصول إلى جميع الإجراءات المطابقة. في المستأجر دون ارتباط ARM الخاص، حدد جميع إجراءات التسجيل المطلوبة بشكل فردي في دور مخصص.
مثال: دور مخصص لاستيراد الصور
على سبيل المثال، يحدد JSON التالي الحد الأدنى من الإجراءات للدور المخصص الذي يسمح باستيراد الصور إلى السجل.
{
"assignableScopes": [
"/subscriptions/<optional, but you can limit the visibility to one or more subscriptions>"
],
"description": "Can import images to registry",
"Name": "AcrImport",
"permissions": [
{
"actions": [
"Microsoft.ContainerRegistry/registries/push/write",
"Microsoft.ContainerRegistry/registries/pull/read",
"Microsoft.ContainerRegistry/registries/read",
"Microsoft.ContainerRegistry/registries/importImage/action"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleType": "CustomRole"
}
لإنشاء دور مخصص أو تحديثه باستخدام وصف JSON، استخدم Azure CLI، قالب مدير موارد Azure ، Azure PowerShell أو أدوات Azure الأخرى. قم بإضافة أو إزالة تعيينات الأدوار لدور مخصص بنفس الطريقة التي تدير بها تعيينات الأدوار لأدوار Azure المضمنة.
الخطوات التالية
تعرف على المزيد حول تعيين أدوار Azure لهوية Azure باستخدام مدخل Azure وAzure CLI وAzure PowerShell، أو أدوات Azure الأخرى.
تعرف على خيارات المصادقة لسجل حاوية Azure.
تعرف على تمكين الأذونات ذات نطاق المستودع في سجل الحاوية.