Azure CLI は、ログイン後にストレージ サービスにアクセスするための資格情報が不足していると報告します。

Azure CLI は、ログイン後にストレージ サービスにアクセスするための資格情報が不足していると報告します。

Azure CLI のログインの仕組みを理解しようとしています。すでに次の方法でログインしています:

az login

すべてが完璧に動作しているように見えますが、他のコマンドを実行しようとすると、例:

az storage blob list --container-name my_container

報告によれば、

ストレージ サービスにアクセスするための資格情報がありません。

Azure の資格情報とログインがどのように機能するかについて、かなり混乱しています。アクセス トークンはログインを通じて既に付与されているので、他のすべてのコマンドは認証を必要とせずに機能するのではないでしょうか。そうでない場合、ログインする意味は何でしょうか。

答え1

コマンドaz storage blob list --container-name my_containerレットが不完全です。Azure シェルでコマンドを実行すると、以下のエラー メッセージが表示されます。資格情報が不足しているというメッセージは必ずしも必要ではないため、混乱を招く可能性があることは承知していますが、リストの 3 番を見ると、特定のコンテナーのストレージ アカウント名を指定する必要があることがわかります。

ストレージ サービスにアクセスするための資格情報がありません。次のバリエーションが受け入れられます:

  1. アカウント名とキー (--account-name および --account-key オプション、または AZURE_STORAGE_ACCOUNT および AZURE_STORAGE_KEY 環境変数を設定)
  2. アカウント名と SAS トークン (--sas-token オプションは --account-name オプションまたは AZURE_STORAGE_ACCOUNT 環境変数のいずれかとともに使用されます)
  3. アカウント名 (--account-name オプションまたは AZURE_STORAGE_ACCOUNT 環境変数。これにより、ログイン資格情報を使用してストレージ アカウント キーを照会する呼び出しが行われます)
  4. 接続文字列 (--connection-string オプションまたは AZURE_STORAGE_CONNECTION_STRING 環境変数を設定)。一部のシェルでは、リテラル文字の解釈を保持するために引用符で囲む必要があります。

適切なコンテナ名とストレージ アカウント名を使用して、以下を試してください。

az storage blob list --container-name CONTAINER_NAME --account-name STORAGE_ACCOUNT_NAME

関連情報