إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تدعم Azure Container Apps مصادقة شهادة العميل (المعروفة أيضا باسم TLS المتبادلة أو mTLS) التي تسمح بالوصول إلى تطبيق الحاوية الخاص بك من خلال المصادقة ثنائية الاتجاه. توضح هذه المقالة كيفية تكوين تخويل شهادة العميل في Azure Container Apps.
عند استخدام شهادات العميل، يتم تبادل شهادات TLS بين العميل تطبيق الحاوية الخاص بك لمصادقة الهوية وتشفير نسبة استخدام الشبكة. غالبا ما تستخدم شهادات العميل في نماذج أمان "ثقة معدومة" لتخويل وصول العميل داخل المؤسسة.
على سبيل المثال، قد تحتاج إلى طلب شهادة عميل لتطبيق حاوية يدير البيانات الحساسة.
تقبل تطبيقات الحاوية شهادات العميل بتنسيق PKCS12 عندما يصدرها مرجع مصدق موثوق به (CA) أو عندما تكون موقعة ذاتيا.
تكوين تخويل شهادة العميل
لتكوين دعم شهادات العميل، قم بتعيين الخاصية clientCertificateMode في قالب تطبيق الحاوية.
يمكن تعيين الخاصية إلى إحدى القيم التالية:
-
require: شهادة العميل مطلوبة لجميع الطلبات إلى تطبيق الحاوية. -
accept: شهادة العميل اختيارية. إذا لم يتم توفير شهادة العميل، فلا يزال الطلب مقبولا. -
ignore: يتم تجاهل شهادة العميل.
يقوم الدخول بتمرير شهادة العميل إلى تطبيق الحاوية إذا تم require تعيين أو accept .
يقوم مثال قالب ARM التالي بتكوين الدخول لطلب شهادة عميل لجميع الطلبات إلى تطبيق الحاوية.
{
"properties": {
"configuration": {
"ingress": {
"clientCertificateMode": "require"
}
}
}
}
ملاحظه
يمكنك تعيين clientCertificateMode مباشرة على خاصية الدخول. لا يتوفر كخيار صريح في CLI، ولكن يمكنك تصحيح تطبيقك باستخدام Azure CLI.
قبل تشغيل الأوامر التالية، تأكد من استبدال العناصر النائبة المحيطة <> بالقيم الخاصة بك.
احصل على معرف Azure Resource Manager (ARM) لتطبيق الحاوية:
APP_ID=$(az containerapp show \
--name <APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--query id \
--output tsv)
تصحيح الخاصية clientCertificateMode على التطبيق:
az rest \
--method patch \
--url "https://management.azure.com/$APP_ID?api-version=<API_VERSION>" \
--body '{
"properties": {
"configuration": {
"ingress": {
"clientCertificateMode": "require"
}
}
}
}'
ملاحظه
تأكد من استخدام إصدار API صالح ومستقر يدعم هذه الميزة. على سبيل المثال، استبدل <API_VERSION> في الأمر ب 2025-01-01 أو إصدار آخر مدعوم.
وضع شهادة العميل وتنسيق الرأس
تختلف قيمة clientCertificateMode ما تحتاج إلى توفيره لتطبيقات الحاوية لإدارة شهادتك:
- عند
requireتعيين، يجب على العميل توفير شهادة. - عندما
acceptيتم تعيين، تكون الشهادة اختيارية. إذا كان العميل يوفر شهادة، فإنه يمرر إلى التطبيق فيX-Forwarded-Client-Certالرأس، كقائمة مفصولة بفواصل منقوطة.
مثال على X-Forwarded-Client-Cert قيمة الرأس
المثال التالي هو عينة من X-Forwarded-Client-Cert قيمة العنوان التي قد يتلقاها تطبيقك:
Hash=<HASH_VALUE>;Cert="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";Chain="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";
تصنيف حقل الرأس
| الحقل | وصف | كيفية استخدامه |
|---|---|---|
Hash |
بصمة الإبهام SHA-256 لشهادة العميل. | استخدم بصمة الإبهام لتحديد شهادة العميل أو التحقق من صحتها. |
Cert |
شهادة العميل المرمزة base64 بتنسيق PEM (شهادة واحدة). | تحليل الشهادة لفحص بيانات التعريف مثل الموضوع والمصدر. |
Chain |
شهادة وسيطة واحدة أو أكثر مرمزة من PEM. | توفير الشهادات المتوسطة عند إنشاء سلسلة ثقة كاملة للتحقق من الصحة. |