
Estoy intentando descubrir cómo funciona el inicio de sesión para la CLI de Azure. Ya inicié sesión con:
az login
y todo parece funcionar perfectamente, pero cuando intento ejecutar otros comandos, por ejemplo:
az storage blob list --container-name my_container
informa:
Faltan credenciales para acceder al servicio de almacenamiento.
Estoy bastante confundido sobre cómo funcionan las credenciales y los inicios de sesión para Azure. Dado que el token de acceso ya se otorga a través del inicio de sesión, ¿no deberían funcionar todos los demás comandos sin necesidad de autenticación adicional? Si no, ¿cuál es el punto de iniciar sesión?
Respuesta1
Su az storage blob list --container-name my_container
cmdlet está incompleto; cuando ejecuta el comando en el shell de Azure, arroja el siguiente mensaje de error. Sin embargo, entiendo que el mensaje de credenciales faltantes puede causar confusión, porque esto no es necesariamente necesario, pero si observa el número 3 en la lista, puede ver que debe proporcionar un nombre de cuenta de almacenamiento para el contenedor determinado.
Faltan credenciales para acceder al servicio de almacenamiento. Se aceptan las siguientes variaciones:
- nombre de cuenta y clave (opciones --account-name y --account-key o establezca las variables de entorno AZURE_STORAGE_ACCOUNT y AZURE_STORAGE_KEY)
- nombre de cuenta y token SAS (la opción --sas-token se usa con la opción --account-name o la variable de entorno AZURE_STORAGE_ACCOUNT)
- nombre de cuenta (opción--account-name o variable de entorno AZURE_STORAGE_ACCOUNT; esto realizará llamadas para consultar una clave de cuenta de almacenamiento utilizando las credenciales de inicio de sesión)
- cadena de conexión (opción--connection-string o establecer la variable de entorno AZURE_STORAGE_CONNECTION_STRING); algunos shells requerirán comillas para preservar la interpretación literal de los caracteres.
Pruebe lo siguiente, con el nombre de su contenedor apropiado y el nombre de su cuenta de almacenamiento:
az storage blob list --container-name CONTAINER_NAME --account-name STORAGE_ACCOUNT_NAME