Freigeben über


Beheben von Problemen mit der Registrierungsanmeldung

Dieser Artikel hilft Ihnen bei der Behandlung von Problemen, die beim Anmelden, Authentifizieren oder Autorisieren mit einer Azure-Containerregistrierung auftreten können.

Symptome

Mindestens eines der folgenden Probleme kann ein Symptom sein:

  • Anmeldung in der Registrierung mit docker login, az acr login oder beidem nicht möglich
  • Anmeldung beim Registry nicht möglich, und Sie erhalten eine Fehlermeldung unauthorized: authentication required oder unauthorized: Application not registered with AAD
  • Anmeldung beim Registry nicht möglich, und Sie erhalten Azure CLI-Fehler Could not connect to the registry login server
  • Images können nicht gepusht oder gepullt werden, und Sie erhalten den Docker-Fehler unauthorized: authentication required.
  • Zugriff auf eine Registrierung mithilfe von az acr login nicht möglich, und Sie erhalten die Fehlermeldung 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..
  • Zugriff auf die Registrierung über Azure Kubernetes Service, Azure DevOps oder einen anderen Azure-Dienst ist nicht möglich.
  • Auf die Registrierung kann nicht zugegriffen werden, und Sie erhalten den Fehler Error response from daemon: login attempt failed with status: 403 Forbidden (weitere Informationen finden Sie unter Beheben von Netzwerkproblemen mit der Registrierung).
  • Der Zugriff auf oder das Anzeigen von Registrierungseinstellungen im Azure-Portal oder das Verwalten der Registrierung mithilfe der Azure CLI ist nicht möglich.

Ursachen

  • Docker ist in Ihrer Umgebung nicht ordnungsgemäß: Lösung.
  • Die Registrierung ist nicht vorhanden, oder der Name ist falsch: Lösung.
  • Die Registrierungsanmeldeinformationen sind nicht gültig: Lösung.
  • Der öffentliche Zugriff auf die Registrierung ist deaktiviert. Regeln für den Zugriff auf das öffentliche Netzwerk in der Registrierung verhindern den Zugriff (Lösung).
  • Die Anmeldeinformationen sind für Push-, Pull- oder Azure Resource Manager-Vorgänge nicht autorisiert: Lösung.
  • Die Anmeldeinformationen sind abgelaufen: Lösung.
  • Wenn Sie die rollenbasierte Zugriffssteuerung (RBAC) von Microsoft Entra zum Verwalten von Registrierungsberechtigungen für eine Microsoft Entra-Identität (Benutzer, verwaltete Identität oder Dienstprinzipal) verwenden, verfügt die Identität möglicherweise über Registrierungsberechtigungen, aber nicht über Repositoryberechtigungen – Lösung

Weitere Diagnose

Führen Sie den Befehl az acr check-health aus, um weitere Informationen zur Integrität der Registrierungsumgebung abzurufen und optional Zugriff auf eine Zielregistrierung zu erhalten. Beispielsweise können Sie Docker-Konfigurationsfehler oder Azure Microsoft Entra-Anmeldeprobleme diagnostizieren.

Befehlsbeispiele finden Sie unter Überprüfen der Integrität einer Azure Container Registry. Wenn Fehler gemeldet werden, überprüfen Sie die Fehlerreferenz und die folgenden Abschnitte für empfohlene Lösungen.

Folgen Sie den Anweisungen aus dem AKS-Supportdokument, wenn Sie keinen Pull für Images von ACR auf den AKS-Cluster ausführen können.

Hinweis

Einige Authentifizierungs- oder Autorisierungsfehler können auch auftreten, wenn es Firewall- oder Netzwerkkonfigurationen gibt, die Zugriff auf die Registrierung verhindern. Weitere Informationen finden Sie unter Beheben von Netzwerkproblemen mit der Registrierung.

Mögliche Lösungen

Überprüfen der Docker-Konfiguration

Die meisten Azure Container Registry-Authentifizierungsflows erfordern eine lokale Docker-Installation, damit Sie sich bei Ihrer Registrierung für Vorgänge wie das Pushen und Pullen von Images authentifizieren können. Vergewissern Sie sich, dass der Docker CLI-Client und -Daemon (Docker-Engine) in Ihrer Umgebung ausgeführt werden. Sie benötigen die Docker-Clientversion 18.03 oder höher.

Verwandte Links:

Angeben des richtigen Registrierungsnamens

Wenn Sie docker login verwenden, geben Sie den vollständigen Anmeldeservernamen der Registrierung an, z. B. myregistry.azurecr.io. Stellen Sie sicher, dass Sie nur Kleinbuchstaben verwenden. Beispiel:

docker login myregistry.azurecr.io

Wenn Sie az acr login mit einer Microsoft Entra-Identität verwenden, melden Sie sich zuerst bei der Azure CLI an, und geben Sie dann den Azure-Ressourcennamen der Registrierung an. Der Ressourcenname ist der Name, der beim Erstellen der Registrierung bereitgestellt wird, z. B. myregistry (ohne Domänensuffix). Beispiel:

az acr login --name myregistry

Verwandte Links:

Bestätigen der Anmeldeinformationen für den Zugriff auf die Registrierung

Überprüfen Sie die Gültigkeit der Anmeldeinformationen, die Sie für Ihr Szenario verwenden, oder die für Sie von einem Registrierungsbesitzer bereitgestellt wurden. Einige mögliche Probleme:

  • Wenn Sie einen Active Directory-Dienstprinzipal verwenden, stellen Sie sicher, dass Sie die richtigen Anmeldeinformationen im Active Directory-Mandanten verwenden:
    • User Name (Benutzername): Anwendungs-ID des Dienstprinzipals (auch als Client-ID bezeichnet)
    • Password (Kennwort): Kennwort des Dienstprinzipals (auch als geheimer Clientschlüssel bezeichnet)
  • Wenn Sie einen Azure-Dienst wie Azure Kubernetes Service oder Azure DevOps für den Zugriff auf die Registrierung verwenden, bestätigen Sie die Registrierungskonfiguration für Ihren Dienst.
  • Wenn Sie az acr login mit der --expose-token-Option ausgeführt haben, die die Registrierungsanmeldung ohne den Docker-Daemon ermöglicht, stellen Sie sicher, dass Sie sich mit dem Benutzernamen 00000000-0000-0000-0000-000000000000 authentifizieren.
  • Wenn Ihre Registrierung für anonymen Pullzugriff konfiguriert ist, können vorhandene Docker-Anmeldeinformationen, die von einer früheren Docker-Anmeldung gespeichert wurden, den anonymen Zugriff verhindern. Führen Sie docker logout aus, bevor Sie einen anonymen Pullvorgang auf die Registrierung anwenden.

Verwandte Links:

Bestätigen, dass die Anmeldeinformationen für den Zugriff auf die Registrierung autorisiert sind

  • Wenn Ihre Berechtigungen vor Kurzem geändert wurden, um den Zugriff auf die Registrierung über das Portal zuzulassen, müssen Sie möglicherweise eine Inkognito- oder private Sitzung in Ihrem Browser verwenden, um Probleme aufgrund veralteter Browsercaches oder Cookies zu vermeiden.
  • Sie oder ein Registrierungsbesitzer müssen über ausreichende Berechtigungen im Abonnement verfügen, um Microsoft Entra-Rollenzuweisungen hinzuzufügen, zu ändern oder zu entfernen. Die Berechtigungen zum Verwalten von Rollenzuweisungen in Microsoft Entra werden durch die Rolle Role Based Access Control Administrator gewährt.
  • Zugriff auf eine Registrierung im Portal oder die Registrierungsverwaltung über die Azure CLI erfordert mindestens die Rolle Container Registry Contributor and Data Access Configuration Administrator oder entsprechende Berechtigungen, um Azure Resource Manager-Vorgänge auszuführen.

Überprüfen von Identitätsberechtigungen und Rollenzuweisungen

  • Wenn Sie die rollenbasierte Zugriffssteuerung (RBAC) von Microsoft Entra zum Verwalten von Registrierungsberechtigungen verwenden, vergewissern Sie sich, dass die Identität (Benutzer, verwaltete Identität oder Dienstprinzipal) über die richtige Rollenzuweisung und Berechtigungen verfügt.
    • Wenn Der Modus "Berechtigungsmodus für die Registrierungsrollezuweisung" (im Blatt "Eigenschaften" des Azure-Portals) auf die neue Option "RBAC Registry + ABAC Repository Permissions" festgelegt ist und die Identität keine Bilder übertragen, abrufen oder löschen kann, verfügt die Identität möglicherweise nicht über Berechtigungen für den Zugriff auf das bestimmte Repository, in dem sich das Bild befindet.
      • Überprüfen Sie vorhandene Rollenzuweisungen und Rollenzuweisungs-ABAC-Bedingungen, um sicherzustellen, dass die Identität über die richtigen Berechtigungen für den Zugriff auf das Repository verfügt.
      • Registrierungen mit dem Modus „RBAC-Registrierung + ABAC-Repository-Berechtigungen“ berücksichtigen vorhandene AcrPull-, AcrPush- oder AcrDelete-Rollen nicht.
      • Stattdessen berücksichtigen solche Registrierungen nur die Rollen Container Registry Repository Reader, Container Registry Repository Writer und Container Registry Repository Contributor zum Lesen, Schreiben oder Löschen von Bildern in Repositorys in einer Registrierung. Diese Rollen verfügen möglicherweise über optionale ABAC-Bedingungen, die Berechtigungen einschränken, die bestimmten Repositorys erteilt wurden.
      • Beachten Sie, dass diese Rollen keine Berechtigungen für die Katalogauflistung für Repositorys in der Registrierung erteilen. Um Repositorys aufzulisten (ohne Inhalte innerhalb von Repositorys zu lesen), müssen Sie der Identität die Container Registry Repository Catalog Lister Rolle separat zuweisen. Diese Rolle unterstützt keine ABAC-Bedingungen, sodass sie Berechtigungen zum Auflisten aller Repositorys in einer Registrierung gewährt.
      • Weitere Informationen finden Sie unter Microsoft Entra-attributbasierte Zugriffssteuerung (ABAC) für Microsoft Entra-basierte Repositoryberechtigungen.
    • Wenn der Modus „Rollenzuweisungsberechtigungen für Registrierung“ auf die alte Option „RBAC-Registrierungsberechtigungen“ festgelegt ist, verfügt die Identität möglicherweise nicht über Berechtigungen für den Zugriff auf die Registrierung und deren Repositorys.
      • Überprüfen Sie vorhandene Rollenzuweisungen, um sicherzustellen, dass die Identität über die richtigen Berechtigungen für den Zugriff auf die Registrierung und deren Repositorys verfügt.
      • Registries mit dem Modus "RBAC-Registrierungsberechtigungen" berücksichtigen nur die Rollen AcrPull, AcrPush, oder AcrDelete, um Bilder in Repositorys innerhalb einer Registrierung zu lesen, zu schreiben oder zu löschen.
      • Weitere Informationen finden Sie in der Übersicht über Microsoft Entra-Berechtigungen und Rollen in der Azure Container Registry.

Verwandte Links:

Überprüfen, ob Anmeldeinformationen abgelaufen sind

Token und Active Directory-Anmeldeinformationen können nach festgelegten Zeiträumen ablaufen und somit Registrierungszugriff verhindern. Zum Aktivieren des Zugriffs müssen Anmeldeinformationen möglicherweise zurückgesetzt oder neu generiert werden.

  • Wenn eine einzelne AD-Identität, eine verwaltete Identität oder ein Dienstprinzipal für die Registrierungsanmeldung verwendet wird, läuft das AD-Token nach 3 Stunden ab. Melden Sie sich erneut bei der Registrierung an.
  • Wenn Sie einen AD-Dienstprinzipal mit einem abgelaufenen geheimen Clientschlüssel verwenden, muss ein Abonnementbesitzer oder Kontoadministrator Anmeldeinformationen zurücksetzen oder einen neuen Dienstprinzipal generieren.
  • Wenn Sie Berechtigungen für ein Repository verwenden, das nicht von Microsoft Entra stammt und tokenbasiert ist, muss ein Registrierungsbesitzer möglicherweise ein Kennwort zurücksetzen oder ein neues Token generieren.

Verwandte Links:

Erweiterte Problembehandlung

Wenn die Sammlung mit Ressourcenprotokollen in der Registrierung aktiviert ist, sollten Sie das Protokoll „ContainerRegistryLoginEvents“ überprüfen. In diesem Protokoll werden Registrierungauthentifizierungsereignisse und der -status gespeichert, einschließlich der eingehenden Identität und IP-Adresse. Fragen Sie das Protokoll nach Authentifizierungsfehlern für die Registrierung ab.

Verwandte Links:

Nächste Schritte

Wenn Sie Ihr Problem hier nicht lösen können, sehen Sie sich die folgenden Optionen an.