Problemen met registeraanmelding oplossen

Dit artikel helpt u bij het oplossen van problemen die kunnen optreden bij het aanmelden bij een Azure-containerregister.

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 referenties zijn niet gemachtigd voor push-, pull- of Azure Resource Manager-bewerkingen - oplossing
  • De referenties zijn verlopen - 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. Stel een diagnose van Docker-configuratiefouten of aanmeldingsproblemen met Microsoft Entra vast.

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 ondersteuningsdocumenten voor AKS als u geen installatiekopieën van ACR naar het AKS-cluster kunt ophalen.

Notitie

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:

Referenties bevestigen voor toegang tot het register

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 referenties gebruikt in de Active Directory-tenant:
    • Gebruikersnaam : service-principal-toepassings-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 --expose-token optie hebt uitgevoerdaz acr login, 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

Bevestig de registermachtigingen die zijn gekoppeld aan de referenties, zoals de AcrPull Azure-rol voor het ophalen van installatiekopieën uit het register of de AcrPush rol om installatiekopieën te pushen.

Toegang tot een register in de portal of registerbeheer met behulp van de Azure CLI vereist ten minste de Reader rol of gelijkwaardige machtigingen voor het uitvoeren van Azure Resource Manager-bewerkingen.

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 over voldoende bevoegdheden in het abonnement beschikken om roltoewijzingen toe te voegen of te verwijderen.

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. Als u toegang wilt inschakelen, moeten referenties mogelijk opnieuw worden ingesteld of opnieuw worden 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 token met opslagplaatsbereik 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, raadpleegt u het logboek ContainerRegistryLoginEvents. 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.