Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come risolvere i problemi che possono verificarsi durante l'accesso, l'autenticazione o l'autorizzazione con un Registro Azure Container.
Sintomi
Può includere uno o più dei problemi seguenti:
- Non è possibile accedere al Registro di sistema usando
docker login
,az acr login
o entrambi - Non è possibile accedere al Registro di sistema e viene visualizzato l'errore
unauthorized: authentication required
ounauthorized: Application not registered with AAD
- Non è possibile accedere al Registro di sistema e viene visualizzato l'errore dell'interfaccia della riga di comando di Azure
Could not connect to the registry login server
- Non è possibile eseguire il push o il pull delle immagini e viene visualizzato l'errore del Docker
unauthorized: authentication required
- Non è possibile accedere a un registro di sistema usando
az acr login
e viene visualizzato l'erroreCONNECTIVITY_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.
- Non è possibile accedere al registro di sistema dal servizio Azure Kubernetes, da Azure DevOps o da un altro servizio di Azure
- Non è possibile accedere al Registro di sistema e viene visualizzato l'errore
Error response from daemon: login attempt failed with status: 403 Forbidden
- Vedere Risolvere i problemi di rete con il Registro di sistema - Impossibile accedere o visualizzare le impostazioni del Registro di sistema nel portale di Azure o gestire il Registro di sistema tramite l'interfaccia della riga di comando di Azure
Cause
- Docker non è configurato correttamente nell'ambiente : soluzione
- Il Registro di sistema non esiste o il nome non è corretto- soluzione
- Le credenziali del Registro di sistema non sono valide: soluzione
- L'accesso pubblico al registro di sistema è disabilitato. Regole di accesso alla rete pubblica nel Registro di sistema impediscono l'accesso - Soluzione
- Le credenziali non sono autorizzate per le operazioni push, pull o Azure Resource Manager - soluzione
- Le credenziali sono scadute - soluzione
- Se si usa il controllo degli accessi in base al ruolo (RBAC) di Microsoft Entra per la gestione delle autorizzazioni al registro per un'identità di Microsoft Entra (utente, identità gestita o principale del servizio), l'identità potrebbe avere autorizzazioni al registro ma non autorizzazioni del repository - soluzione
Ulteriore diagnosi
Eseguire il comando az acr check-health per ottenere altre informazioni sull'integrità dell'ambiente del Registro di sistema e, facoltativamente, accedere a un registro di destinazione. Ad esempio, diagnosticare gli errori di configurazione di Docker o i problemi di accesso di Microsoft Entra.
Per esempi di comandi, vedere Controllare l'integrità di un registro Azure Container . Se vengono segnalati errori, esaminare il riferimento all'errore e le sezioni seguenti per le soluzioni consigliate.
Seguire le istruzioni del documento di supporto del servizio Azure Kubernetes se non è possibile eseguire il pull delle immagini dal registro Azure Container al cluster del servizio Azure Kubernetes.
Annotazioni
Alcuni errori di autenticazione o autorizzazione possono verificarsi anche se sono presenti configurazioni di firewall o di rete che impediscono l'accesso al registro di sistema. Vedere Risolvere i problemi di rete con il Registro di sistema.
Possibili soluzioni
Controllare la configurazione di Docker
La maggior parte dei flussi di autenticazione di Registro Azure Container richiede un'installazione di Docker locale per poter eseguire l'autenticazione con il registro di sistema per operazioni quali il push e il pull delle immagini. Verificare che il client e il daemon dell'interfaccia della riga di comando di Docker (motore Docker) siano in esecuzione nell'ambiente. È necessario il client Docker nella versione 18.03 o successiva.
Collegamenti correlati:
Specificare il nome del registro corretto
Quando si usa docker login
, specificare il nome completo del server di accesso del Registro di sistema, ad esempio myregistry.azurecr.io. Assicurarsi di usare solo lettere minuscole. Esempio:
docker login myregistry.azurecr.io
Quando si usa az acr login con un'identità di Microsoft Entra, accedere prima alla CLI di Azure e quindi specificare il nome della risorsa di Azure del registro. Il nome della risorsa è il nome specificato quando è stato creato il Registro di sistema, ad esempio myregistry (senza un suffisso di dominio). Esempio:
az acr login --name myregistry
Collegamenti correlati:
Verificare le credenziali per accedere al registro
Controllare la validità delle credenziali usate per lo scenario o fornite da un proprietario del registro di sistema. Alcuni dei possibili problemi:
- Se si usa un'entità servizio di Active Directory, assicurarsi di usare le credenziali corrette nel tenant di Active Directory:
- Nome utente - ID applicazione del principale del servizio (detto anche ID cliente)
- Password - Password dell'entità servizio (denominata anche segreto client)
- Se si usa un servizio di Azure, ad esempio il servizio Azure Kubernetes o Azure DevOps, per accedere al registro di sistema, verificare la configurazione del registro di sistema per il servizio.
- Se è stato eseguito
az acr login
con l'opzione--expose-token
, che abilita l'accesso al registro di sistema senza usare il daemon Docker, assicurarsi di eseguire l'autenticazione con il nome utente00000000-0000-0000-0000-000000000000
. - Se il Registro di sistema è configurato per l'accesso pull anonimo, le credenziali Docker esistenti archiviate da un account di accesso Docker precedente possono impedire l'accesso anonimo. Eseguire
docker logout
prima di tentare un'operazione pull anonima nel registro di sistema.
Collegamenti correlati:
- Panoramica dell'autenticazione
- Gestisci il controllo degli accessi basato sui ruoli di Microsoft Entra per i permessi del registro.
- Gestire il controllo degli accessi basato su attributi (ABAC) per le autorizzazioni del repository Microsoft Entra.
- Accesso individuale con Microsoft Entra ID
- Accedi con principal del servizio
- Accesso con identità gestita
- Accedere con autorizzazioni del repository basate su token non Microsoft Entra
- Accedi con l'account amministratore
- Codici di errore di autenticazione e autorizzazione di Microsoft Entra
- az acr login riferimento
Verificare che le credenziali siano autorizzate ad accedere al registro
- Se le autorizzazioni sono state modificate di recente per consentire l'accesso al registro di sistema tramite il portale, potrebbe essere necessario provare una sessione in incognito o privata nel browser per evitare che la cache o i cookie del browser non siano aggiornati.
- L'utente o il proprietario del Registro di sistema deve disporre di privilegi sufficienti nella sottoscrizione per aggiungere, modificare o rimuovere assegnazioni di ruolo di Microsoft Entra. Le autorizzazioni per gestire le assegnazioni di ruolo di Microsoft Entra sono concesse dal ruolo
Role Based Access Control Administrator
. - L'accesso a un registro nel portale o nella gestione del registro di sistema tramite l'interfaccia della riga di comando di Azure richiede almeno il ruolo
Container Registry Contributor and Data Access Configuration Administrator
o le autorizzazioni equivalenti per eseguire operazioni di Azure Resource Manager.
Convalidare le autorizzazioni di identità e le assegnazioni di ruolo
- Se si usa il controllo degli accessi in base al ruolo (RBAC) di Microsoft Entra per la gestione delle autorizzazioni del Registro di sistema, verificare che l'identità (utente, identità gestita o entità servizio) disponga dell'assegnazione e delle autorizzazioni corrette del ruolo.
- Se la modalità "Autorizzazioni di assegnazione dei ruoli dal registro" (nel pannello "Proprietà" del portale di Azure) è impostata sulla nuova opzione "Permessi Registro RBAC + Permessi Repository ABAC" e l'identità non può eseguire operazioni di push, pull o eliminare immagini, l'identità potrebbe non avere le autorizzazioni per accedere al repository specifico in cui si trova l'immagine.
- Controllare le assegnazioni di ruolo esistenti e le condizioni ABAC delle assegnazioni di ruolo per assicurarsi che l'identità disponga delle autorizzazioni corrette per accedere al repository.
-
I registri con la modalità "Registro RBAC + Autorizzazioni del Repository ABAC" non rispettano i ruoli esistenti
AcrPull
,AcrPush
oAcrDelete
. - Tali registri rispettano invece solo i
Container Registry Repository Reader
,Container Registry Repository Writer
eContainer Registry Repository Contributor
ruoli per leggere, scrivere o eliminare immagini all'interno dei repository nei registri. Questi ruoli possono avere condizioni di controllo degli accessi basate sugli attributi facoltative che limitano le autorizzazioni concesse a repository specifici. - Tenere presente che questi ruoli non concedono le autorizzazioni per l'elenco di cataloghi per elencare i repository nel Registro di sistema. Per elencare i repository (ma non leggere il contenuto all'interno dei repository), è necessario assegnare separatamente il
Container Registry Repository Catalog Lister
ruolo all'identità. Questo ruolo non supporta le condizioni ABAC, quindi concede le autorizzazioni per elencare tutti i repository in un registro. - Per altre informazioni, vedere Microsoft Entra attribute-based access control (ABAC) per le autorizzazioni del repository basato su Microsoft Entra.
- Se la modalità "autorizzazioni per l'assegnazione di ruoli del registro" è impostata sull'opzione precedente "Autorizzazioni del Registro basate su RBAC", l'identità potrebbe non disporre delle autorizzazioni per accedere al registro e ai relativi repository.
- Controllare le assegnazioni di ruolo esistenti per assicurarsi che l'identità disponga delle autorizzazioni corrette per accedere al Registro di sistema e ai relativi repository.
-
I registri con la modalità "Permessi del Registro RBAC" rispettano solo i ruoli
AcrPull
,AcrPush
oAcrDelete
per leggere, scrivere o eliminare immagini all'interno dei repository in un registro. - Per altre informazioni, vedere Panoramica delle autorizzazioni e dei ruoli di Registro Azure Container di Microsoft Entra.
- Se la modalità "Autorizzazioni di assegnazione dei ruoli dal registro" (nel pannello "Proprietà" del portale di Azure) è impostata sulla nuova opzione "Permessi Registro RBAC + Permessi Repository ABAC" e l'identità non può eseguire operazioni di push, pull o eliminare immagini, l'identità potrebbe non avere le autorizzazioni per accedere al repository specifico in cui si trova l'immagine.
Collegamenti correlati:
- Panoramica delle autorizzazioni e dei ruoli di Microsoft Entra Azure Container Registry
- Gestire il controllo degli accessi basato sui ruoli in Microsoft Entra per le autorizzazioni dei registri.
- Gestire il controllo degli accessi basato su attributi (ABAC) per le autorizzazioni dei repository di Microsoft Entra.
- Aggiungere o rimuovere assegnazioni di ruolo di Azure tramite il portale di Azure
- Usare il portale per creare un'applicazione e un'entità servizio Microsoft Entra in grado di accedere alle risorse
- Creare un nuovo segreto dell'applicazione
- Codici di autenticazione e autorizzazione di Microsoft Entra
- Accedi al repository con autorizzazioni basate su token di non Microsoft Entra
Verificare che le credenziali non siano scadute
I token e le credenziali Active Directory possono scadere dopo i periodi definiti, impedendo l'accesso al registro di sistema. Per abilitare l'accesso, potrebbe essere necessario reimpostare o rigenerare le credenziali.
- Se si usa una singola identità di Active Directory, un'identità gestita o un'entità servizio per l'accesso al registro di sistema, il token di Active Directory scade dopo 3 ore. Accedere di nuovo al registro di sistema.
- Se si usa un'entità servizio di Active Directory con un segreto client scaduto, un proprietario della sottoscrizione o un amministratore account devono reimpostare le credenziali o generare una nuova entità servizio.
- Se si usano autorizzazioni di repository non basate su token di Microsoft Entra, un proprietario del Registro di sistema potrebbe dover reimpostare una password o generare un nuovo token.
Collegamenti correlati:
- Reimpostare le credenziali del principal del servizio
- Rigenerare le password dei token Entra non Microsoft
- Accesso individuale con Microsoft Entra ID
Risoluzione avanzata dei problemi
Se la raccolta di log delle risorse è abilitata nel Registro di sistema, esaminare il log ContainerRegistryLoginEvents. Questo log archivia eventi e stato di autenticazione, tra cui l'identità in ingresso e l'indirizzo IP. Eseguire una query nel log per individuare gli errori di autenticazione del Registro di sistema.
Collegamenti correlati:
- Log per la valutazione diagnostica e il controllo
- Domande frequenti sul registro contenitori
- Procedure consigliate per Registro Azure Container
Passaggi successivi
Se il problema non viene risolto qui, vedere le opzioni seguenti.
- Altri argomenti relativi alla risoluzione dei problemi del Registro di sistema includono:
- Opzioni di supporto della community
- Domande e risposte Microsoft
- Aprire un ticket di supporto : in base alle informazioni fornite, potrebbe essere eseguita una diagnostica rapida per gli errori di autenticazione nel Registro di sistema