Behebung von Fehlern authorization required in Container Registry
Sie versuchen, auf Container Registry zuzugreifen, erhalten jedoch eine Fehlermeldung Authorization required. Befolgen Sie diese Schritte, um das Problem zu diagnostizieren, das häufig durch einen abgelaufenen API-Schlüssel oder fehlende
IAM-Berechtigungen verursacht wird.
Wenn Sie versuchen, auf Container Registry zuzugreifen, wird eine der folgenden Meldungen angezeigt.
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 Unauthorizedwird möglicherweise diese Nachricht angezeigt, wenn Sie IBM Cloud Code Engineverwenden. Weitere Informationen finden Sie unter Warum bekomme ich einenUnauthorized-Fehler, wenn ich Code Engine verwendet?.UNAUTHORIZED: Authorization requiredwird möglicherweise diese Nachricht angezeigt, wenn Siecosignmit Podmanverwenden. Weitere Informationen finden Sie unter Warum habe ich Probleme, wenn ich versuche, ein Image mitcosignzu extrahieren, während ich Podmanverwende?.
Die folgenden Alternativen sind mögliche Ursachen:
Szenario A. Sie versuchen, ein Image mit einer Push-Operation zu übertragen oder mit einer Pull-Operation zu extrahieren, aber Sie haben keinen gültigen Berechtigungsnachweis.
- Sie haben versucht, sich mit einem ungültigen API-Schlüssel bei Container Registry anzumelden.
- Sie haben versucht, ohne Anmeldung auf Container Registry zuzugreifen.
- Ein Client versuchte, ohne Trägertoken auf Container Registry zuzugreifen.
- Ein Client hat versucht, auf Container Registry mit einem abgelaufenen OAuth Token zuzugreifen.
Weitere Informationen zum Beheben dieses Problems finden Sie in Szenario A: Sie versuchen, ein Image mit einer Push-Operation zu übertragen oder mit einer Pull-Operation zu extrahieren.
Szenario B. Sie sind bei der falschen Region von Container Registryangemeldet. Um zu überprüfen, bei welcher Region Sie angemeldet sind, führen Sie den Befehl ibmcloud cr region aus.
Weitere Informationen zur Behebung dieses Problems finden Sie in Szenario B. Sie sind bei der falschen Region angemeldet.
Szenario C. Sie versuchen, die API zu verwenden.
- Sie haben versucht, eine Authentifizierung bei der API Container Registry mit einem ungültigen API-Schlüssel durchzuführen.
- Sie haben versucht, eine Authentifizierung für die API Container Registry mit einer ungültigen Konto-ID durchzuführen.
Weitere Informationen zur Behebung des Problems finden Sie unter Szenario C: Sie versuchen, die API zu verwenden.
Sie können dieses Problem wie folgt beheben:
Szenario A. Sie versuchen, ein Image mit einer Push-Operation zu übertragen oder mit einer Pull-Operation zu extrahieren.
Sie können nicht auf Container Registry zugreifen, da Sie keinen gültigen Berechtigungsnachweis haben.
Sie können diese Probleme auf folgende Weise beheben:
- Überprüfen Sie die Informationen zum Protokollieren eines Clients in Container Registry(siehe Images mit Push-Operation an Ihren Namensbereich übertragen).
- Erstellen und verwenden Sie einen gültigen IAM-API-Schlüssel zum Protokollieren eines Clients, z. B. Docker, in Container Registry mit dem Benutzernamen
iamapikeyund dem API-Schlüssel als Kennwort. Weitere Informationen finden Sie unter Benutzer-API-Schlüssel verwalten. - Wenn Sie über Automatisierung auf Container Registry zugreifen, konfigurieren Sie eine Service-ID und einen API-Schlüssel. Weitere Informationen finden Sie unter Auf Container Registry.
Szenario B. Sie sind bei der falschen Region angemeldet
Sie können nicht auf Container Registry zugreifen, weil Sie bei der falschen Region angemeldet sind.
Um zu überprüfen, bei welcher Region Sie angemeldet sind, führen Sie den Befehl ibmcloud cr region aus.
Sie können dieses Problem wie folgt beheben:
Wenn sich Ihr Bild in einer anderen Region von Container Registry befindet, müssen Sie sich bei IBM Cloud in der richtigen Region anmelden, indem Sie die folgenden Befehle ausführen.
ibmcloud cr region-set REGION, wobeiREGIONder Name der Region ist (siehe Lokale Regionen).ibmcloud cr login
Weitere Informationen finden Sie unter Lokale Region als Zielregion.
Szenario C. Sie versuchen, die API zu verwenden
Sie können nicht auf Container Registry zugreifen, weil Sie versucht haben, sich bei der API Container Registry mit einem ungültigen API-Schlüssel oder einer ungültigen Konto-ID zu authentifizieren.
Sie können dieses Problem wie folgt beheben:
- Verwenden Sie die
ibmcloudBefehlszeilenschnittstelle (CLI) oder die IAM-API, um ein gültiges OAuth Token zur Authentifizierung gegenüber der Container Registry API abzurufen. Weitere Informationen finden Sie unter IBM Cloud Container Registry API - Authentifizierung. - Stellen Sie bei der Authentifizierung mit der API Container Registry sicher, dass eine gültige Konto-ID verwendet wird. Sie können Ihre Konto-ID abrufen, wenn Sie den Befehl
ibmcloud account showausführen.