Was ist der einfachste Weg, die gcloud
Befehlszeile nicht interaktiv mit einem Dienstkonto außerhalb von GCE zu verwenden? Am besten ohne das Dateisystem mit Anmeldeinformationsdateien zu verunreinigen gcloud auth activate-service-account --key-file=...
.
Es gibt viele Anwendungsfälle für die Verwendung gcloud
mit einem Dienstkonto. Auf einem Server möchte ich beispielsweise testen, ob der Server GOOGLE_APPLICATION_CREDENTIALS
korrekt eingestellt ist und über die erforderlichen Berechtigungen verfügt, bevor ich meine Anwendung ausführe. Oder ich möchte einige Setup-Skripte oder Cron-Skripte ausführen, die eine Überprüfung über die gcloud
Befehlszeile durchführen.
Google Cloud-Bibliotheken (z. B. Python , Java ) verwenden automatisch die Umgebungsvariable, GOOGLE_APPLICATION_CREDENTIALS
um sich bei Google Cloud zu authentifizieren. Leider scheint diese Befehlszeile keine Auswirkungen zu haben gcloud
. Was ist eine saubere Methode, gcloud
wenn das Dateisystem intakt bleibt?
$ GOOGLE_APPLICATION_CREDENTIALS=/etc/my-service-account-4b4b6e63aaed.json gcloud alpha pubsub topics publish testtopic hello
ERROR: (gcloud.alpha.pubsub.topics.publish) You do not currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account ACCOUNT
to select an already authenticated account to use.