Risoluzione degli errori " authorization required " in Container Registry
Stai cercando di accedere a Container Registry, ma ricevi un errore del tipo “ Authorization required ”. Segui questi passaggi per individuare la causa del problema, che spesso è dovuto a una chiave API scaduta o alla mancanza di
autorizzazioni IAM.
Quando si tenta di accedere a Container Registry, viene visualizzato uno dei seguenti messaggi.
Authorization required. See https://cloud.ibm.com/docs/Registry?topic=Registry-troubleshoot-auth-reqYou were not authorized to complete this operation.CRG0014E An error occurred when authenticating your request with IBM Cloud. Clear your browser cookies, log in to IBM Cloud, and try your request again.Status code 401 Unauthorized, potresti visualizzare questo messaggio se stai utilizzando IBM Cloud Code Engine, vedi Perché ricevo un erroreUnauthorizedquando sto utilizzando Code Engine? per assistenza.UNAUTHORIZED: Authorization required, potresti visualizzare questo messaggio se stai utilizzandocosigncon Podman, vedi Perché ho dei problemi quando provo a eseguire il pull di un'immagine concosignquando sto utilizzando Podman? per assistenza.
Le seguenti alternative sono delle possibili cause:
Scenario A. Si sta tentando di eseguire il push o il pull di un'immagine, ma non si dispone di una credenziale valida.
- Hai tentato di accedere a Container Registry con una chiave API non valida.
- Hai tentato di accedere a Container Registry senza eseguire l'accesso.
- Un client ha tentato di accedervi Container Registry senza un token di connessione.
- Un client ha tentato di accedere a Container Registry con un token OAuth scaduto.
Per ulteriori informazioni su come risolvere questo problema, consulta Scenario A. Stai tentando di eseguire il push o il pull di un'immagine.
Scenario B. hai eseguito l'accesso alla regione errata di Container Registry. Per controllare a quale regione hai eseguito l'accesso, esegui il comando ibmcloud cr region.
Per ulteriori informazioni su come risolvere questo problema, vedi Scenario B. Hai eseguito l'accesso alla regione sbagliata.
Scenario C. Si sta tentando di utilizzare la API.
- Hai tentato di autenticarti rispetto alla API Container Registry con una chiave API non valida.
- Hai tentato di autenticarti con l'API Container Registry con un ID account non valido.
Per ulteriori informazioni su come risolvere questo problema, consulta Scenario C. Stai tentando di utilizzare l'API.
Puoi risolvere questo problema nei seguenti modi:
Scenario A. Si sta tentando di eseguire il push o il pull di un'immagine
Non puoi accedervi Container Registry perché non hai una credenziale valida.
È possibile risolvere questi problemi nei seguenti modi:
- Controlla le informazioni relative alla registrazione di un client in Container Registry, vedi Esegui il push delle immagini al tuo spazio dei nomi.
- Crea e utilizza una chiave API IAM valida per registrare un client, come Docker, in Container Registry con nome utente
iamapikeye la chiave API come tua password. Per ulteriori informazioni, vedi Gestione delle chiavi API utente. - Quando accedi a Container Registry utilizzando l'automazione, configura una chiave API e un ID servizio. Per ulteriori informazioni, vedi Accesso a Container Registry.
Scenario B. Si è collegati alla regione sbagliata
Non puoi accedere a Container Registry perché hai eseguito l'accesso nella regione sbagliata.
Per controllare a quale regione hai eseguito l'accesso, esegui il comando ibmcloud cr region.
Puoi correggere questo problema nel seguente modo:
Se l'immagine si trova in una regione diversa di Container Registry, è necessario accedere a IBM Cloud nella regione corretta eseguendo i seguenti comandi.
ibmcloud cr region-set REGION, doveREGIONè il nome della regione, vedi Regioni locali.ibmcloud cr login
Per ulteriori informazioni, vedi Destinazione di una regione locale.
Scenario C. Si sta tentando di utilizzare l'API
Non puoi accedere a Container Registry perché hai tentato l'autenticazione rispetto all'API Container Registry con una chiave API o un ID account non valido.
Puoi risolvere questo problema nei seguenti modi:
- Utilizzare l'interfaccia a riga di comando (CLI)
ibmcloudo l'API IAM per recuperare un token OAuth valido per autenticarsi nell'API Container Registry. Per ulteriori informazioni, vedere IBM Cloud Container Registry API - Autenticazione. - Quando esegui l'autenticazione rispetto all'API Container Registry, assicurati di utilizzare un ID account valido. È possibile richiamare l'ID account eseguendo il comando
ibmcloud account show.