IBM Cloud Docs
Container Registryで Authorization required エラーが表示されるのはなぜですか?

Container Registryで Authorization required エラーが表示されるのはなぜですか?

IBM Cloud® Container Registry にアクセスしようとしていますが、 Authorization required エラーが発生しています。

Container Registry にアクセスしようとすると、次のいずれかのメッセージが表示されます。

考えられる原因は次のとおりです。

シナリオ A. イメージをプッシュまたはプルしようとしていますが、有効な資格情報がありません。

  • 無効な API キーを使用して Container Registry にログインしようとしました。
  • ログインせずに Container Registry にアクセスしようとしました。
  • クライアントがベアラー・トークンなしで Container Registry にアクセスしようとしました。
  • クライアントが期限切れの OAuth トークンを使用して Container Registry にアクセスしようとしました。

この問題の修正方法について詳しくは、 シナリオ A: イメージをプッシュまたはプルしようとしている を参照してください。

シナリオ B Container Registryの誤ったリージョンにログインしている。 ログインしているリージョンを確認するには、 ibmcloud cr region コマンドを実行します。

この問題の修正方法について詳しくは、 シナリオ B: 間違った地域にログインしている を参照してください。

シナリオ C. API を使用しようとしている。

  • 無効な API キーを使用して Container Registry API に対する認証を試行しました。
  • 無効なアカウント ID を使用して Container Registry API に対する認証を試行しました。

この問題の修正方法について詳しくは、「 シナリオ C: API を使用しようとしています」を参照してください。

この問題は、以下の方法で修正できます。

シナリオ A. イメージをプッシュまたはプルしようとしている

有効な資格情報がないため、 Container Registry にアクセスできません。

これらの問題は、以下の方法で解決できる:

  • Container Registryへのクライアントのロギングに関する情報を確認します。 名前空間へのイメージのプッシュ を参照してください。
  • Dockerなどのクライアントを、ユーザー名 iamapikey と API キーをパスワードとして使用して Container Registry にログインするには、有効な IAM API キーを作成して使用します。 詳しくは、ユーザーの API キーの管理を参照してください。
  • 自動化を使用して Container Registry にアクセスする場合は、サービス ID と API キーをセットアップします。 詳しくは、 Container Registryへのアクセス を参照してください。

シナリオ B. 正しくない地域にログインしている

間違った地域にログインしているため、 Container Registry にアクセスできません。

ログインしているリージョンを確認するには、 ibmcloud cr region コマンドを実行します。

この問題は、以下の方法で解決できます。

画像がContainer Registryの異なるリージョンにある場合は、以下のコマンドを実行して、正しいリージョンのIBM Cloudにログインする必要があります。

  1. ibmcloud cr region-set REGION。ここで、 REGION はリージョンの名前です。 ローカル・リージョン を参照してください。
  2. ibmcloud cr login

詳しくは、 ローカル領域のターゲット設定 を参照してください。

シナリオ C. API を使用しようとしている

無効な API キーまたはアカウント ID を使用して Container Registry API に対する認証を試行したため、 Container Registry にアクセスできません。

この問題は、以下の方法で修正できます。

  • ibmcloud CLI または IAM API を使用して、 Container Registry API に対して認証するための有効な OAuth トークンを取得します。 詳しくは、 IBM Cloud Container Registry API-認証 を参照してください。
  • Container Registry API に対して認証を行う場合は、有効なアカウント ID を使用するようにしてください。 ibmcloud account show コマンドを実行して、アカウント ID を取得できます。