Was ist der einfachste Weg, die gcloudBefehlszeile 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 gcloudmit einem Dienstkonto. Auf einem Server möchte ich beispielsweise testen, ob der Server GOOGLE_APPLICATION_CREDENTIALSkorrekt 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 gcloudBefehlszeile durchführen.
Google Cloud-Bibliotheken (z. B. Python , Java ) verwenden automatisch die Umgebungsvariable, GOOGLE_APPLICATION_CREDENTIALSum sich bei Google Cloud zu authentifizieren. Leider scheint diese Befehlszeile keine Auswirkungen zu haben gcloud. Was ist eine saubere Methode, gcloudwenn 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.