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_containercmdlet 不完整,當您在 Azure shell 中執行該命令時,它會拋出以下錯誤訊息。我知道缺少憑證訊息可能會造成混亂,因為這不一定是必需的,但如果您查看清單中的數字 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 環境變數);有些 shell 需要引用來保留字面字元解釋。

使用適當的容器名稱和儲存帳戶名稱嘗試以下操作:

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

相關內容