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

تساعدك هذه المقالة على استكشاف المشكلات التي قد تواجهها عند تسجيل الدخول إلى سجل حاوية Azure وإصلاحها.

العلامات

يمكن أن تتضمن واحدة أو أكثر مما يلي:

  • غير قادر على تسجيل الدخول إلى السجل باستخدامdocker loginأوaz acr loginأو كليهما
  • غير قادر على تسجيل الدخول إلى السجل وتتلقي خطأunauthorized: authentication requiredأوunauthorized: Application not registered with AAD
  • غير قادر على تسجيل الدخول إلى السجل وتتلقي خطأ Azure CLICould not connect to the registry login server
  • غير قادر على دفع أو سحب الصور وتتلقى خطأ Dockerunauthorized: authentication required
  • يتعذر عليك الوصول إلى سجل باستخدام az acr login وتتلقى خطأ CONNECTIVITY_REFRESH_TOKEN_ERROR. Access to registry was denied. Response code: 403. Unable to get admin user credentials with message: Admin user is disabled. Unable to authenticate using AAD or admin login credentials.
  • غير قادر على الوصول إلى السجل من خلال خدمة Azure Kubernetes أو Azure DevOps أو خدمة Azure أخرى
  • غير قادر على الوصول إلى السجل وتتلقي خطأError response from daemon: login attempt failed with status: 403 Forbiddenراجعاستكشاف مشكلات الشبكة مع السجل وإصلاحها
  • غير قادر على الوصول إلى إعدادات السجل أو عرضها في مدخل Microsoft Azure أو إدارة السجل باستخدام Azure CLI

أسباب

  • لم يتم تكوين Docker بشكل صحيح في بيئتك-الحل
  • السجل غير موجود أو الاسم غير صحيح-الحل
  • بيانات اعتماد التسجيل غير صالحة-الحل
  • تم تعطيل الوصول العام للسجل. قواعد الوصول إلى الشبكة العامة على التسجيل تمنع الوصول - الحل
  • بيانات الاعتماد غير مصرح بها لعمليات السحب أو الدفع أو Azure Resource Manager-الحل
  • بيانات اعتماد منتهية الصلاحية-الحل

التشخيص الإضافي

تشغيل أمر az acr check-health للحصول على مزيد من المعلومات حول صحة بيئة التسجيل والوصول اختياريا إلى تسجيل مستهدف. على سبيل المثال، تشخيص أخطاء تكوين Docker أو مشاكل تسجيل الدخول إلى Microsoft Entra.

راجع التحقق من صحة Azure Container Registry للحصول على أمثلة الأوامر. في حالة الإبلاغ عن أخطاء، يرجى مراجعةمرجع الخطأ والأقسام التالية لمعرفة الحلول الموصى بها.

اتبع الإرشادات الواردة من مستند دعم AKS إذا فشلت في سحب الصور من ACR إلى نظام مجموعة AKS.

إشعار

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

حلول محتملة

التحقق من التكوين الخاص بـ Docker

تتطلب معظم تدفقات مصادقة سجل حاويات Azure تثبيت Docker محلي حتى تتمكن من المصادقة من خلال السجل على عمليات مثل دفع الصور وسحبها. تأكد من أن عميل Docker CLI و(Docker Engine) الخفي قيد التشغيل في البيئة الخاصة بك. تحتاج الإصدار 18.03 من عمل Docker أو أحدث.

الروابط ذات الصلة:

تحديد اسم السجل الصحيح

عند استخدامdocker login، قم بتوفير اسم خادم تسجيل الدخول الكامل للسجل، مثلmyregistry.azurecr.io. تأكد من استخدام الأحرف الصغيرة فقط. مثال:

docker login myregistry.azurecr.io

عند استخدام تسجيل الدخول az acr مع هوية Microsoft Entra، قم أولا بتسجيل الدخول إلى Azure CLI، ثم حدد اسم مورد Azure للسجل. اسم المورد هو الاسم الذي تم توفيره عند إنشاء السجل، مثلmyregistry(بدون لاحقة مجال). مثال:

az acr login --name myregistry

الروابط ذات الصلة:

تأكيد بيانات الاعتماد للوصول إلى السجل

تحقق من صحة بيانات الاعتماد التي تستخدمها للسيناريو الخاص بك، أو التي تم توفيرها لك من قبل مالك السجل. بعض المشكلات المحتملة:

  • إذا كنت تستخدم كيان خدمة Active Directory، فتأكد من استخدام بيانات الاعتماد الصحيحة في مستأجر Active Directory:
    • اسم المستخدم- معرف تطبيق كيان الخدمة (ويسمى أيضامعرف العميل)
    • كلمة المرور- كلمة مرور كيان الخدمة (وتسمى أيضاسر العميل)
  • إذا كنت تستخدم خدمة Azure مثل خدمة Azure Kubernetes أو Azure DevOps للوصول إلى السجل، تأكد من تكوين السجل للخدمة الخاصة بك.
  • إذا قمت باستخدامaz acr loginالخيار--expose-token، الذي يتيح تسجيل الدخول إلى السجل دون استخدام Docker الخفي، تأكد من أن تقوم بالمصادقة مع اسم المستخدم00000000-0000-0000-0000-000000000000.
  • إذا تم تكوين السجل الخاص بكللوصول للسحب المجهول، يمكن لبيانات اعتماد Docker الموجودة والمخزنة من تسجيل دخول Docker السابق منع الوصول المجهول. قم بالتشغيلdocker logoutقبل محاولة القيام بعملية سحب مجهول على السجل.

الروابط ذات الصلة:

تأكيد بيانات اعتماد مفوضة للوصول إلى السجل

تأكيد أذونات السجل المقترنة ببيانات الاعتماد، مثلAcrPullدور Azure لسحب الصور من السجل أوAcrPushالدور لدفع الصور.

يتطلب الوصول إلى سجل في المدخل أو إدارة السجل باستخدام Azure CLI على الأقلReaderدور أو أذونات مكافئة لتنفيذ عمليات Azure Resource Manager.

إذا تم تغيير الأذونات الخاصة بك مؤخرا للسماح بالوصول إلى السجل عبر البوابة الإلكترونية، قد تحتاج إلى تجربة incognito أو جلسة خاصة في المتصفح الخاص بك لتتجنب أي ذاكرة تخزين مؤقتة أو ملفات تعريف ارتباط للمتصفح قديمة.

يجب أن تمتلك أنت أو مالك التسجيل امتيازات كافية في الاشتراك لإضافة أو إزالة تعيينات الدور.

الروابط ذات الصلة:

التحقق من أن بيانات الاعتماد غير منتهية الصلاحية

قد تنتهي صلاحية الرموز المميزة وبيانات اعتمادActive Directory بعد فترات محددة، مما يمنع الوصول إلى السجل. قد تحتاج بيانات الاعتماد، لتمكين الوصول، إلى إعادة التعيين أو إعادة الإنشاء.

  • إذا كنت تستخدم هوية AD فردية أو هوية مدارة أو كيان خدمة لتسجيل الدخول إلى السجل، تنتهي صلاحية رمز AD المميز بعد 3 ساعات. تسجيل الدخول مرة أخرى إلى السجل.
  • إذا كان استخدام كيان خدمة AD مع بيانات عميل سرية منتهية الصلاحية، يحتاج مالك اشتراك أو مسؤول حساب إلى إعادة تعيين بيانات الاعتماد أو إنشاء كيان خدمة جديد.
  • إذا كنت تستخدمرمز مميز ضمن نطاق مستودع،فقد يحتاج مالك السجل إلى إعادة تعيين كلمة مرور أو إنشاء رمز مميز جديد.

الروابط ذات الصلة:

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

إذا تم تمكينمجموعة من سجلات المواردفي التسجيل، راجع سجل ContainterRegistryLoginEvents. يخزن هذا السجل أحداث المصادقة وحالتها، بما في ذلك الهوية وعنوان IP الوارد. استعلم من خلال السجل عنحالات فشل مصادقة السجل.

الروابط ذات الصلة:

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

راجع الخيارات التالية، إذا لم يتم حل مشكلتك هنا.