Ich habe versucht, eine App Engine Python-App zu schreiben und sie über ein Dienstkonto zu verwalten (weil ich von einem Computer aus arbeite, dem ich mein Google-Konto nicht vertraue Referenzen).Autorisierungsfehler beim Aktualisieren von App Engine cron mit Dienstkonto
Ich habe die App erfolgreich zur Bereitstellung neuer Codeversionen erhalten (Tipp: Sie müssen nicht nur dem Dienstkonto App Engine "Deployer" und "Service Admin" Berechtigungen in der IAM-Konsole geben, möglicherweise auch "Admin" - Ich gab schließlich alle drei), aber Sie müssen auch sicherstellen, dass es Schreibberechtigungen für die für die Bereitstellung und Bereitstellung verwendeten GCS-Buckets mit den Namen myapp.appspot.com
und staging.myapp.appspot.com
*) hat, aber ich kann kein neues cron.yaml
bereitstellen. Wenn ich versuche:
$ gcloud app deploy cron.yaml
You are about to update the following configurations:
- myapp/cron (from [.../myapp/cron.yaml])
Do you want to continue (Y/n)?
Updating config [cron]...failed.
ERROR: (gcloud.app.deploy) Server responded with code [403]:
Forbidden Unexpected HTTP status 403.
You do not have permission to modify this app (app_id=u'p~myapp').
Wenn ich gcloud app deploy
mit --verbosity=debug
laufen, kann ich sehen, dass er eine Anfrage an https://appengine.google.com/api/cron/update?app_id=myapp
ist zu machen und die 403.
Ich habe versucht, geben Sie den Editor oder Besitzer Dienstkonto Projekt immer wieder Berechtigungen, das hat nicht funktioniert. (Obwohl, wenn das notwendig wäre, würde ich es als einen Fehler betrachten.)
*: Alle Instanzen meiner Projekt-ID wurden in dieser Frage durch myapp
ersetzt.
Kann es so einfach wie 'gcloud auth login' sein? – GAEfan
Danke, aber nein: Ich kann mich anmelden und den Code der App mit dem Dienstkonto drücken; Es ist nur die Cron-Konfiguration, die nicht drückt. –
Es scheint, dass Sie einen Fehler gefunden haben. Wir verwenden ein Legacy-Backend für die Bereitstellung von Konfigurationsdateien ([dos, dispatch, queue, indexes, cron] .yaml), das nicht immer gut mit Dienstkonten funktioniert. Wenn Sie einen Fehler im [SDK-Issue Tracker] (https://code.google.com/p/google-cloud-sdk/issues/list) melden, werden Sie über das Problem informiert. Wenn nicht, werde ich einen Fehler auf unserem privaten Tracker öffnen./Ein App Engine Googler – Betamos