Delen via


Problemen met registeraanmelding oplossen

Dit artikel helpt u bij het oplossen van problemen die kunnen optreden bij het aanmelden, verifiëren of autoriseren met een Azure Container Registry.

Symptomen

Dit kan een of meer van de volgende omvatten:

  • Kan niet aanmelden bij het register met behulp van docker login, az acr loginof beide
  • Kan niet aanmelden bij het register en u ontvangt een foutmelding unauthorized: authentication required of unauthorized: Application not registered with AAD
  • Kan niet aanmelden bij het register en u ontvangt een Azure CLI-fout Could not connect to the registry login server
  • Kan installatiekopieën niet pushen of ophalen en u ontvangt een Docker-fout unauthorized: authentication required
  • Kan geen toegang krijgen tot een register met behulp van az acr login en u ontvangt een foutmelding 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.
  • Kan geen toegang krijgen tot het register vanuit Azure Kubernetes Service, Azure DevOps of een andere Azure-service
  • Kan geen toegang krijgen tot het register en u ontvangt een foutmelding Error response from daemon: login attempt failed with status: 403 Forbidden : zie Problemen met het netwerk met het register oplossen
  • Kan registerinstellingen niet openen of weergeven in Azure Portal of register beheren met behulp van de Azure CLI

Oorzaken

  • Docker is niet juist geconfigureerd in uw omgeving - oplossing
  • Het register bestaat niet of de naam is onjuist - oplossing
  • De registerreferenties zijn niet geldig - oplossing
  • De openbare toegang tot het register is uitgeschakeld. Openbare netwerktoegangsregels in het register verhinderen toegang - oplossing
  • De inloggegevens zijn niet bevoegd voor push-, pull- of Azure Resource Manager-bewerkingen - oplossing
  • De inloggegevens zijn verlopen - oplossing
  • Als u op rollen gebaseerd toegangsbeheer (RBAC) van Microsoft Entra gebruikt voor het beheren van registermachtigingen voor een Microsoft Entra-identiteit (gebruiker, beheerde identiteit of service-principal), heeft de identiteit mogelijk registermachtigingen, maar geen opslagplaatsmachtigingen - oplossing

Verdere diagnose

Voer de opdracht az acr check-health uit voor meer informatie over de status van de registeromgeving en optioneel toegang tot een doelregister. Maak een diagnose van Docker-configuratiefouten of problemen met inloggen bij Microsoft Entra.

Zie De status van een Azure-containerregister controleren voor voorbeelden van opdrachten. Als er fouten worden gerapporteerd, raadpleegt u de foutreferentie en de volgende secties voor aanbevolen oplossingen.

Volg de instructies in het AKS-ondersteuningsdocument als u geen afbeeldingen van ACR naar het AKS-cluster kunt pullen.

Opmerking

Sommige verificatie- of autorisatiefouten kunnen ook optreden als er firewall- of netwerkconfiguraties zijn die de toegang tot het register voorkomen. Zie Problemen met het netwerk oplossen met het register.

Mogelijke oplossingen

Docker-configuratie controleren

Voor de meeste Azure Container Registry-verificatiestromen is een lokale Docker-installatie vereist, zodat u zich kunt verifiëren met uw register voor bewerkingen zoals het pushen en ophalen van installatiekopieën. Controleer of de Docker CLI-client en -daemon (Docker Engine) worden uitgevoerd in uw omgeving. U hebt Docker-clientversie 18.03 of hoger nodig.

Gerelateerde links:

Geef de juiste registernaam op

Geef bij gebruik docker loginde volledige aanmeldingsservernaam van het register op, zoals myregistry.azurecr.io. Zorg ervoor dat u alleen kleine letters gebruikt. Voorbeeld:

docker login myregistry.azurecr.io

Wanneer u az acr login met een Microsoft Entra-identiteit gebruikt, meldt u zich eerst aan bij de Azure CLI en geeft u vervolgens de Azure-resourcenaam van het register op. De resourcenaam is de naam die wordt opgegeven toen het register werd gemaakt, zoals myregistry (zonder domeinachtervoegsel). Voorbeeld:

az acr login --name myregistry

Gerelateerde links:

Bevestig inloggegevens voor toegang tot het systeemregister

Controleer de geldigheid van de referenties die u gebruikt voor uw scenario of die u hebt verstrekt door een registereigenaar. Enkele mogelijke problemen:

  • Als u een Active Directory-service-principal gebruikt, moet u ervoor zorgen dat u de juiste inloggegevens binnen de Active Directory-tenant gebruikt.
    • Gebruikersnaam: service principal applicatie-ID (ook wel client-ID genoemd)
    • Wachtwoord - service-principalwachtwoord (ook wel clientgeheim genoemd)
  • Als u een Azure-service zoals Azure Kubernetes Service of Azure DevOps gebruikt voor toegang tot het register, bevestigt u de registerconfiguratie voor uw service.
  • Als u de az acr login optie hebt uitgevoerd--expose-token, waarmee registeraanmelding mogelijk is zonder de Docker-daemon te gebruiken, moet u ervoor zorgen dat u zich verifieert met de gebruikersnaam00000000-0000-0000-0000-000000000000.
  • Als uw register is geconfigureerd voor anonieme pull-toegang, kunnen bestaande Docker-referenties die zijn opgeslagen vanuit een eerdere Docker-aanmelding anonieme toegang voorkomen. Voer docker logout uit voordat u een anonieme pull-bewerking uitvoert in het register.

Gerelateerde links:

Controleer of referenties zijn gemachtigd voor toegang tot het register

  • Als uw machtigingen onlangs zijn gewijzigd om registertoegang via de portal toe te staan, moet u mogelijk een incognito- of privésessie in uw browser proberen om verouderde browsercache of cookies te voorkomen.
  • U of een registereigenaar moet voldoende bevoegdheden hebben in het abonnement om microsoft Entra-roltoewijzingen toe te voegen, te wijzigen of te verwijderen. Machtigingen voor het beheren van Microsoft Entra-roltoewijzingen worden verleend door de Role Based Access Control Administrator rol.
  • Toegang tot een register in de portal of registerbeheer met behulp van de Azure CLI vereist ten minste de Container Registry Contributor and Data Access Configuration Administrator rol of gelijkwaardige machtigingen voor het uitvoeren van Azure Resource Manager-bewerkingen.

Identiteitsmachtigingen en roltoewijzingen valideren

  • Als u op rollen gebaseerd toegangsbeheer (RBAC) van Microsoft Entra gebruikt voor het beheren van registermachtigingen, controleert u of de identiteit (gebruiker, beheerde identiteit of service-principal) de juiste roltoewijzing en -machtigingen heeft.
    • Als de modus 'Machtigingen voor registerroltoewijzing' (op de blade Eigenschappen van Azure Portal) is ingesteld op de nieuwe optie RBAC Registry + ABAC-opslagplaatsmachtigingen en de identiteit geen installatiekopieën kan pushen, ophalen of verwijderen, heeft de identiteit mogelijk geen machtigingen voor toegang tot de specifieke opslagplaats waarin de installatiekopie zich bevindt.
      • Controleer bestaande roltoewijzingen en ABAC-voorwaarden voor roltoewijzing om ervoor te zorgen dat de identiteit over de juiste machtigingen beschikt voor toegang tot de opslagplaats.
      • Registers met de modus RBAC Registry + ABAC-opslagplaatsmachtigingen voldoen niet aan de bestaande AcrPull, AcrPushof AcrDelete rollen.
      • In plaats daarvan honoreren dergelijke registers alleen de Container Registry Repository Reader, Container Registry Repository Writer en Container Registry Repository Contributor rollen voor het lezen, schrijven of verwijderen van afbeeldingen binnen repositories in een register. Deze rollen kunnen optionele ABAC-voorwaarden hebben die machtigingen beperken die zijn verleend aan specifieke opslagplaatsen.
      • Houd er rekening mee dat deze rollen geen machtigingen verlenen voor catalogusvermeldingen om opslagplaatsen in het register weer te geven. Als u opslagplaatsen wilt vermelden (maar geen inhoud in opslagplaatsen wilt lezen), moet u de Container Registry Repository Catalog Lister rol afzonderlijk toewijzen aan de identiteit. Deze rol biedt geen ondersteuning voor ABAC-voorwaarden, zodat hiermee machtigingen worden verleend om alle opslagplaatsen in een register weer te geven.
      • Zie Microsoft Entra op kenmerken gebaseerd toegangsbeheer (ABAC) voor op Microsoft Entra gebaseerde opslagplaatsmachtigingen voor meer informatie.
    • Als de modus Machtigingen voor registerroltoewijzing is ingesteld op de oude optie RBAC-registermachtigingen, heeft de identiteit mogelijk geen machtigingen voor toegang tot het register en de bijbehorende opslagplaatsen.
      • Controleer bestaande roltoewijzingen om ervoor te zorgen dat de identiteit over de juiste machtigingen beschikt voor toegang tot het register en de bijbehorende opslagplaatsen.
      • Registers met de modus 'RBAC-registermachtigingen' respecteren alleen de AcrPull, AcrPush, of AcrDelete rollen voor het lezen, schrijven of verwijderen van installatiekopieën in een registeropslagplaats.
      • Zie het overzicht van Microsoft Entra-machtigingen en -rollen in Azure Container Registry voor meer informatie.

Gerelateerde links:

Controleren of referenties niet zijn verlopen

Tokens en Active Directory-referenties kunnen verlopen na gedefinieerde perioden, waardoor de toegang tot het register wordt voorkomen. Om toegang te verlenen, moeten referenties mogelijk opnieuw worden ingesteld of gegenereerd.

  • Als u een afzonderlijke AD-identiteit, een beheerde identiteit of service-principal gebruikt voor aanmelding bij het register, verloopt het AD-token na 3 uur. Meld u opnieuw aan bij het register.
  • Als u een AD-service-principal gebruikt met een verlopen clientgeheim, moet een abonnementseigenaar of accountbeheerder referenties opnieuw instellen of een nieuwe service-principal genereren.
  • Als u een niet-Microsoft Entra-token-opslagplaatsmachtigingen gebruikt, moet een registereigenaar mogelijk een wachtwoord opnieuw instellen of een nieuw token genereren.

Gerelateerde links:

Geavanceerde probleemoplossing

Als het verzamelen van resourcelogboeken is ingeschakeld in het register, moet u het logboek ContainerRegistryLoginEvents controleren. In dit logboek worden verificatie-gebeurtenissen en -status opgeslagen, inclusief de binnenkomende identiteit en het IP-adres. Voer een query uit op het logboek voor mislukte registerverificatie.

Gerelateerde links:

Volgende stappen

Als u het probleem hier niet oplost, raadpleegt u de volgende opties.