登录后,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

相关内容