Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln hjälper dig att felsöka problem som kan uppstå när du loggar in på, autentiserar eller auktoriserar med ett Azure Container Registry.
Symptome
Kan innehålla ett eller flera av följande:
- Det går inte att logga in i registret med hjälp av
docker login,az acr logineller båda - Det går inte att logga in i registret och du får fel
unauthorized: authentication requiredellerunauthorized: Application not registered with AAD - Det går inte att logga in i registret och du får Azure CLI-fel
Could not connect to the registry login server - Det går inte att skicka eller hämta avbildningar och du får Docker-fel
unauthorized: authentication required - Det går inte att komma åt ett register med och
az acr logindu får ett felmeddelandeCONNECTIVITY_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. - Det går inte att komma åt registret från Azure Kubernetes Service, Azure DevOps eller någon annan Azure-tjänst
- Det går inte att komma åt registret och du får fel
Error response from daemon: login attempt failed with status: 403 Forbidden– Se Felsöka nätverksproblem med registret - Det går inte att komma åt eller visa registerinställningar i Azure-portalen eller hantera registret med hjälp av Azure CLI
Orsaker
- Docker är inte korrekt konfigurerat i din miljö – lösning
- Registret finns inte eller så är namnet felaktigt – lösning
- Registerautentiseringsuppgifterna är inte giltiga – lösning
- Den offentliga registeråtkomsten är inaktiverad. Regler för åtkomst till offentliga nätverk i registret förhindrar åtkomst – lösning
- Autentiseringsuppgifterna är inte auktoriserade för push-, pull- eller Azure Resource Manager-åtgärder – lösning
- Autentiseringsuppgifterna har upphört att gälla – lösning
- Om du använder rollbaserad åtkomstkontroll i Microsoft Entra (RBAC) för att hantera registerbehörigheter för en Microsoft Entra-identitet (användare, hanterad identitet eller tjänstens huvudnamn) kan identiteten ha registerbehörigheter men inte lagringsplatsbehörigheter – lösning
Ytterligare diagnos
Kör kommandot az acr check-health för att få mer information om hälsotillståndet för registermiljön och eventuellt åtkomst till ett målregister. Diagnostisera till exempel Docker-konfigurationsfel eller Microsoft Entra-inloggningsproblem.
Se Kontrollera hälsotillståndet för ett Azure-containerregister för kommandoexempel. Om fel rapporteras läser du felreferensen och följande avsnitt för rekommenderade lösningar.
Följ anvisningarna från AKS-supportdokumentet om du inte kan hämta avbildningar från ACR till AKS-klustret.
Anmärkning
Vissa autentiserings- eller auktoriseringsfel kan också inträffa om det finns brandväggs- eller nätverkskonfigurationer som förhindrar registeråtkomst. Se Felsöka nätverksproblem med registret.
Potentiella lösningar
Kontrollera Docker-konfigurationen
De flesta Azure Container Registry-autentiseringsflöden kräver en lokal Docker-installation så att du kan autentisera med registret för åtgärder som att push-överföra och hämta avbildningar. Bekräfta att Docker CLI-klienten och daemon (Docker Engine) körs i din miljö. Du behöver Docker-klientversion 18.03 eller senare.
Relaterade länkar:
Ange rätt registernamn
När du använder docker loginanger du registrets fullständiga inloggningsservernamn, till exempel myregistry.azurecr.io. Kontrollera att du endast använder gemener. Exempel:
docker login myregistry.azurecr.io
När du använder az acr-inloggning med en Microsoft Entra-identitet loggar du först in på Azure CLI och anger sedan Azure-resursnamnet för registret. Resursnamnet är det namn som angavs när registret skapades, till exempel myregistry (utan ett domänsuffix). Exempel:
az acr login --name myregistry
Relaterade länkar:
Bekräfta autentiseringsuppgifter för åtkomst till registret
Kontrollera giltigheten för de autentiseringsuppgifter som du använder för ditt scenario eller har angetts av en registerägare. Några möjliga problem:
- Om du använder ett Huvudnamn för Active Directory-tjänsten kontrollerar du att du använder rätt autentiseringsuppgifter i Active Directory-klientorganisationen:
- Användarnamn – program-ID för tjänstens huvudnamn (kallas även klient-ID)
- Lösenord – lösenord för tjänstens huvudnamn (kallas även klienthemlighet)
- Om du använder en Azure-tjänst, till exempel Azure Kubernetes Service eller Azure DevOps för att komma åt registret, bekräftar du registerkonfigurationen för din tjänst.
- Om du körde
az acr loginmed--expose-tokenalternativet som aktiverar registerinloggning utan att använda Docker-daemon kontrollerar du att du autentiserar med användarnamnet00000000-0000-0000-0000-000000000000. - Om registret har konfigurerats för anonym pull-åtkomst kan befintliga Docker-autentiseringsuppgifter som lagras från en tidigare Docker-inloggning förhindra anonym åtkomst. Kör
docker logoutinnan du försöker utföra en anonym pull-åtgärd i registret.
Relaterade länkar:
- Översikt över autentisering
- Hantera rollbaserad åtkomstkontroll i Microsoft Entra (RBAC) för registerbehörigheter.
- Hantera Microsoft Entra-attributbaserad åtkomstkontroll (ABAC) för Microsoft Entra-baserade lagringsplatsbehörigheter.
- Individuell inloggning med Microsoft Entra-ID
- Logga in med tjänstens huvudnamn
- Logga in med hanterad identitet
- Logga in med icke-Microsoft Entra-tokenbaserade lagringsplatsbehörigheter
- Logga in med administratörskonto
- Felkoder för Microsoft Entra-autentisering och auktorisering
- az acr login referens
Bekräfta att autentiseringsuppgifter har behörighet att komma åt registret
- Om dina behörigheter nyligen har ändrats för att tillåta registeråtkomst via portalen kan du behöva prova en inkognito- eller privat session i webbläsaren för att undvika inaktuell webbläsarcache eller cookies.
- Du eller en registerägare måste ha tillräcklig behörighet i prenumerationen för att kunna lägga till, ändra eller ta bort Microsoft Entra-rolltilldelningar. Behörigheter för att hantera Microsoft Entra-rolltilldelningar beviljas av
Role Based Access Control Administratorrollen. - Åtkomst till ett register i portalen eller registerhantering med hjälp av Azure CLI kräver minst rollen
Container Registry Contributor and Data Access Configuration Administratoreller motsvarande behörigheter för att utföra Azure Resource Manager-åtgärder.
Verifiera identitetsbehörigheter och rolltilldelningar
- Om du använder rollbaserad åtkomstkontroll i Microsoft Entra (RBAC) för att hantera registerbehörigheter kontrollerar du att identiteten (användare, hanterad identitet eller tjänstens huvudnamn) har rätt rolltilldelning och behörigheter.
- Om ditt läge för behörigheter för registerrolltilldelning (på bladet Egenskaper för Azure-portalen) är inställt på det nya alternativet "RBAC Registry + ABAC-lagringsplatsbehörigheter" och identiteten inte kan skicka, hämta eller ta bort avbildningar, kanske identiteten inte har behörighet att komma åt den specifika lagringsplats som avbildningen finns i.
- Kontrollera befintliga rolltilldelningar och ABAC-villkor för rolltilldelning för att säkerställa att identiteten har rätt behörighet att komma åt lagringsplatsen.
-
Register med läget "RBAC Registry + ABAC Repository Permissions" respekterar inte de befintliga
AcrPull,AcrPush, ellerAcrDeleterollerna. - I stället respekterar sådana register bara rollerna
Container Registry Repository Reader,Container Registry Repository WriterochContainer Registry Repository Contributorför att läsa, skriva eller ta bort avbildningar i lagringsplatser i ett register. Dessa roller kan ha valfria ABAC-villkor som begränsar behörigheter som beviljas till specifika lagringsplatser. - Observera att dessa roller inte beviljar behörigheter till kataloglistan för att lista lagringsplatser i registret. Om du vill visa en lista över lagringsplatser (men inte läsa innehåll i lagringsplatser) måste du tilldela
Container Registry Repository Catalog Listerrollen till identiteten separat. Den här rollen stöder inte ABAC-villkor så den ger behörighet att lista alla lagringsplatser i ett register. - Mer information finns i Microsoft Entra-attributbaserad åtkomstkontroll (ABAC) för Microsoft Entra-baserade lagringsplatsbehörigheter.
- Om ditt läge för behörigheter för registerrolltilldelning är inställt på det gamla alternativet "RBAC-registerbehörigheter" kanske identiteten inte har behörighet att komma åt registret och dess lagringsplatser.
- Kontrollera befintliga rolltilldelningar för att säkerställa att identiteten har rätt behörighet att komma åt registret och dess lagringsplatser.
-
Register med läget "RBAC-registerbehörigheter" uppfyller endast rollerna
AcrPull,AcrPushellerAcrDeleteför att läsa, skriva eller ta bort avbildningar i lagringsplatser i ett register. - Mer information finns i Översikt över Microsoft Entra-behörigheter och roller i Azure Container Registry.
- Om ditt läge för behörigheter för registerrolltilldelning (på bladet Egenskaper för Azure-portalen) är inställt på det nya alternativet "RBAC Registry + ABAC-lagringsplatsbehörigheter" och identiteten inte kan skicka, hämta eller ta bort avbildningar, kanske identiteten inte har behörighet att komma åt den specifika lagringsplats som avbildningen finns i.
Relaterade länkar:
- Översikt över Microsoft Entra-behörigheter och roller i Azure Container Registry
- Hantera rollbaserad åtkomstkontroll i Microsoft Entra (RBAC) för registerbehörigheter.
- Hantera Microsoft Entra-attributbaserad åtkomstkontroll (ABAC) för Microsoft Entra-baserade lagringsplatsbehörigheter.
- Lägga till eller ta bort rolltilldelningar för Azure med hjälp av Azure-portalen
- Använd portalen för att skapa en Microsoft Entra-applikation och ett tjänsthuvudnamn som kan komma åt resurser
- Skapa en ny programhemlighet
- Autentiserings- och auktoriseringskoder för Microsoft Entra
- Logga in med lagringsbehörigheter baserade på icke-Microsoft Entra-token
Kontrollera att autentiseringsuppgifterna inte har upphört att gälla
Token och Active Directory-autentiseringsuppgifter kan upphöra att gälla efter definierade perioder, vilket förhindrar registeråtkomst. För att aktivera åtkomst kan autentiseringsuppgifter behöva återställas eller återskapas.
- Om du använder en enskild AD-identitet, en hanterad identitet eller tjänstens huvudnamn för registerinloggning upphör AD-token att gälla efter 3 timmar. Logga in igen till registret.
- Om du använder ett AD-tjänsthuvudnamn med en klienthemlighet som har upphört att gälla måste en prenumerationsägare eller kontoadministratör återställa autentiseringsuppgifterna eller generera ett nytt huvudnamn för tjänsten.
- Om du använder en icke-Microsoft Entra-tokenbaserad lagringsplatsbehörighet kan en registerägare behöva återställa ett lösenord eller generera en ny token.
Relaterade länkar:
- Återställa autentiseringsuppgifter för tjänstens huvudnamn
- Återskapa icke-Microsoft Entra-tokenlösenord
- Individuell inloggning med Microsoft Entra-ID
Avancerad felsökning
Om insamling av resursloggar är aktiverad i registret läser du loggen ContainerRegistryLoginEvents. Den här loggen lagrar autentiseringshändelser och status, inklusive inkommande identitet och IP-adress. Fråga loggen efter fel vid registerautentisering.
Relaterade länkar:
- Loggar för diagnostisk utvärdering och granskning
- Vanliga frågor och svar om containerregister
- Metodtips för Azure Container Registry
Nästa steg
Om du inte löser problemet här kan du läsa följande alternativ.
- Andra avsnitt om registerfelsökning är:
- Alternativ för communitysupport
- Microsoft Q&A
- Öppna ett supportärende – baserat på information som du anger kan en snabb diagnostik köras för autentiseringsfel i registret