تكوين قواعد شبكة IP العامة

يقبل سجل حاويات Azure افتراضياً الاتصالات عبر الإنترنت من المضيفين على أي شبكة. توضح هذه المقالة كيفية تكوين سجل الحاوية للسماح بالوصول من عناوين IP العامة أو نطاقات العناوين المحددة فقط. يتم توفير الخطوات المكافئة باستخدام مدخل Azure CLI وAzure.

تكوّنت قواعد شبكة IP على نقطة نهاية التسجيل العام. لا تنطبق قواعد شبكة IP على نقاط النهاية الخاصة المكونة باستخدام الارتباط الخاص

تتوفر قواعد الوصول إلى تكوين IP في مستوى خدمة سجل الحاوية Premium. للحصول على معلومات حول مستويات وحدود خدمة التسجيل، راجع طبقات Azure Container Registry.

يدعم كل تسجيل بحد أقصى 100 قاعدة وصول IP.

هام

قد تكون بعض الوظائف غير متوفرة أو تتطلب المزيد من التكوين في سجل حاوية يقيد الوصول إلى نقاط النهاية الخاصة أو الشبكات الفرعية المحددة أو عناوين IP.

  • عند تعطيل وصول الشبكة العامة إلى سجل، يتطلب وصول خدمات معينة موثوقة إلى السجل - شاملةً مركز أمان Azure - تمكين إعداد شبكة لتجاوز قواعد الشبكة.
  • بمجرد تعطيل الوصول إلى الشبكة العامة، لا تتمكن مثيلات خدمات Azure معينة بما في ذلك خدمات Azure DevOps حاليا من الوصول إلى سجل الحاوية.
  • نقاط النهاية الخاصة غير مدعومة حاليا مع وكلاء Azure DevOps المدارين. ستحتاج إلى استخدام عامل مستضاف ذاتيا مع خط رؤية الشبكة إلى نقطة النهاية الخاصة.
  • إذا كان السجل يحتوي على نقطة نهاية خاصة معتمدة، وتم تعطيل الوصول إلى الشبكة العامة، فلا يمكن إدراج المستودعات والعلامات خارج الشبكة الظاهرية باستخدام مدخل Azure أو واجهة سطر الأوامر في Azure أو أدوات أخرى.

الوصول من شبكة عامة محددة - CLI

تغيير الوصول الافتراضي للشبكة إلى السجل

للحد من الوصول إلى شبكة عامة محددة، غيّر أولاً الإجراء الافتراضي لرفض الوصول. استبدل اسم السجل في أمر تحديث az acr التالي:

az acr update --name myContainerRegistry --default-action Deny

إضافة قاعدة شبكة الاتصال إلى السجل

استخدم أمر az acr network-rule add لإضافة قاعدة شبكة إلى السجل تسمح بالوصول من عنوان IP عام أو نطاق. على سبيل المثال، استبدل اسم سجل الحاوية وعنوان IP العمومي للجهاز الظاهري في شبكة ظاهرية.

az acr network-rule add \
  --name mycontainerregistry \
  --ip-address <public-IP-address>

ملاحظة

بعد إضافة قاعدة، يستغرق الأمر بضع دقائق حتى تصبح القاعدة سارية.

الوصول من شبكة عامة محددة - مدخل

  1. في المدخل، انتقل إلى سجل الحاوية.
  2. في "إعدادات" ، حدد "الاتصال بالشبكة" .
  3. في علامة التبويب "الوصول العام" ، حدد للسماح بالوصول العام من "الشبكات المحددة" .
  4. ضمن "جدار الحماية" ، أدخل عنوان IP عام، مثل عنوان IP العمومي للجهاز الظاهري في شبكة ظاهرية. أو أدخل نطاق عنوان بترميز CIDR الذي يحتوي على عنوان IP الخاص بالجهاز الظاهري.
  5. حدد ⁧⁩حفظ⁧⁩.

تكوين قاعدة جدار الحماية لسجل الحاوية

ملاحظة

بعد إضافة قاعدة، يستغرق الأمر بضع دقائق حتى تصبح القاعدة سارية.

تلميح

تمكين الوصول إلى التسجيل من كمبيوتر عميل محلي أو نطاق عنوان IP اختيارياً. للسماح بهذا الوصول، تحتاج إلى عنوان IPv4 العام للكمبيوتر. يمكنك العثور على هذا العنوان من خلال البحث "ما هو عنوان IP الخاص بي" في متصفح الإنترنت. يظهر عنوان IPv4 للعميل الحالي تلقائياً عند تكوين إعدادات جدار الحماية على صفحة "الاتصال بالشبكة" في المدخل.

تعطيل الوصول إلى الشبكة العامة

تعطيل نقطة النهاية العامة على التسجيل اختيارياً. يتجاوز تعطيل نقطة النهاية العامة جميع تكوينات جدار الحماية. على سبيل المثال، قد يلزمك تعطيل وصول عام إلى تسجيل مؤمن في شبكة ظاهرية باستخدام "الارتباط الخاص".

ملاحظة

إذا تم إعداد السجل في شبكة ظاهرية مع نقطة نهاية خدمة، فإن تعطيل الوصول إلى نقطة النهاية العامة للتسجيل أيضاً يعطّل الوصول إلى السجل داخل الشبكة الظاهرية.

تعطيل وصول الجمهور - CLI

لتعطيل الوصول العام باستخدام Azure CLI، شغّل تحديث az acr--public-network-enabled وعيّن إلى false. public-network-enabledتتطلب الوسيطة إصدار 2.6.0 CLI Azure أو أحدث.

az acr update --name myContainerRegistry --public-network-enabled false

تعطيل الوصول العام - مدخل

  1. في المدخل، انتقل إلى سجل الحاوية وحدد الإعدادات > الشبكة.
  2. في علامة التبويب الوصول العام، في السماح بالوصول إلى الشبكة العامة، حدد معطل. ثم اختر ⁧⁩حفظ⁧⁩.

تعطيل وصول الجمهور

استعادة الوصول إلى الشبكة العامة

لإعادة تمكين نقطة النهاية العامة، حدث إعدادات الشبكة للسماح بالوصول العام. تمكين نقطة النهاية العامة يتجاوز جميع تكوينات جدار الحماية.

استعادة وصول الجمهور - CLI

تشغيل az acr التحديث وتعيينه إلى --public-network-enabledtrue.

ملاحظة

public-network-enabledتتطلب الوسيطة إصدار 2.6.0 CLI Azure أو أحدث.

az acr update --name myContainerRegistry --public-network-enabled true

استعادة الوصول العام - مدخل

  1. في المدخل، انتقل إلى سجل الحاوية وحدد الإعدادات > الشبكة.
  2. في علامة التبويب "الوصول العام" في "السماح بالوصول إلى الشبكة العامة" حدد "جميع الشبكات" . ثم اختر ⁧⁩حفظ⁧⁩.

وصول الجمهور من جميع الشبكات

استكشاف الأخطاء وإصلاحها

الوصول خلف وكيل HTTPS

إذا تم تعيين قاعدة شبكة اتصال عامة أو تم رفض الوصول العام إلى التسجيل، فستفشل محاولات تسجيل الدخول إلى التسجيل من شبكة عامة غير مسموح بها. كما سيفشل وصول العميل خلف وكيل HTTPS إذا لم يتم تعيين قاعدة وصول للوكيل. سترى رسالة خطأ مشابهة ل Error response from daemon: login attempt failed with status: 403 Forbidden أو Looks like you don't have access to registry.

يمكن أن تحدث هذه الأخطاء أيضاً إذا كنت تستخدم وكيل HTTPS المسموح به من قبل قاعدة الوصول إلى شبكة الاتصال ولكن الوكيل غير مكوّن بشكل صحيح في بيئة العميل. تأكد من تكوين كل من عميل Docker وdaemon Docker لسلوك الوكيل. للحصول على التفاصيل، راجع وكيل HTTP/HTTPS في وثائق Docker.

الوصول من مسارات Azure

إذا كنت تستخدم مسارات Azure مع تسجيل حاويات Azure الذي يحد من الوصول إلى عناوين IP معينة، قد يكون المسار غير قادر على الوصول إلى التسجيل، لأن عنوان IP الصادر من المسار غير ثابت. بشكل افتراضي، يشغل المسار hgمهام باستخدام عامل مستضاف من Microsoft على تجمع جهاز ظاهري مع مجموعة متغيرة من عناوين IP.

الحل البديل هو تغيير العامل المستخدم لتشغيل المسار من مُستضاف عبر Microsoft إلى مُستضاف ذاتياً. يمكنك التحكم في عنوان IP الصادر من المسار كما يمكنك إضافة هذا العنوان في قاعدة وصول سجل IP إذا كان العامل المستضاف ذاتياً يعمل على جهاز Windows أو Linux الذي تديره.

الوصول من AKS

إذا كنت تستخدم خدمة Azure Kubernetes (AKS) مع سجل حاويات Azure الذي يحد من الوصول إلى عناوين IP معينة، فلا يمكنك تكوين عنوان AKS IP ثابت بشكل افتراضي. يتم تعيين عنوان خروج IP من مجموعة AKS عشوائياً.

للسماح لمجموعة AKS بالوصول إلى السجل لديك هذه الخيارات:

الخطوات التالية