
Ich versuche herauszufinden, wie die Anmeldung bei Azure CLI funktioniert. Ich habe mich bereits angemeldet mit:
az login
und alles scheint perfekt zu funktionieren, aber wenn ich versuche, andere Befehle auszuführen, zB:
az storage blob list --container-name my_container
es berichtet:
Für den Zugriff auf den Speicherdienst fehlen die Anmeldeinformationen.
Ich bin ziemlich verwirrt, wie die Anmeldeinformationen und Anmeldungen für Azure funktionieren. Da das Zugriffstoken bereits durch die Anmeldung gewährt wird, sollten dann nicht alle anderen Befehle einfach ohne weitere Authentifizierung funktionieren? Wenn nicht, welchen Sinn hat dann die Anmeldung?
Antwort1
Ihr az storage blob list --container-name my_container
Cmdlet ist unvollständig. Wenn Sie den Befehl in der Azure-Shell ausführen, wird die folgende Fehlermeldung ausgegeben. Ich verstehe, dass die Meldung über fehlende Anmeldeinformationen Verwirrung stiften kann, da dies nicht unbedingt erforderlich ist. Wenn Sie sich jedoch die Nummer 3 in der Liste ansehen, können Sie erkennen, dass Sie für den angegebenen Container einen Speicherkontonamen angeben müssen.
Fehlende Anmeldeinformationen für den Zugriff auf den Speicherdienst. Die folgenden Variationen werden akzeptiert:
- Kontoname und -schlüssel (Optionen --account-name und --account-key oder Festlegen der Umgebungsvariablen AZURE_STORAGE_ACCOUNT und AZURE_STORAGE_KEY)
- Kontoname und SAS-Token (Option --sas-token, die entweder mit der Option --account-name oder der Umgebungsvariable AZURE_STORAGE_ACCOUNT verwendet wird)
- Kontoname (Option --account-name oder Umgebungsvariable AZURE_STORAGE_ACCOUNT; dadurch werden Aufrufe zur Abfrage eines Speicherkontoschlüssels unter Verwendung der Anmeldeinformationen durchgeführt)
- Verbindungszeichenfolge (Option –connection-string oder Festlegen der Umgebungsvariable AZURE_STORAGE_CONNECTION_STRING); einige Shells erfordern Anführungszeichen, um die wörtliche Zeicheninterpretation beizubehalten.
Versuchen Sie Folgendes mit Ihrem entsprechenden Containernamen und Speicherkontonamen:
az storage blob list --container-name CONTAINER_NAME --account-name STORAGE_ACCOUNT_NAME