2017-01-28 6 views
2

私はApp Engine Pythonアプリケーションを作成し、サービスアカウント経由で管理しようとしています(Googleアカウントで信頼できないマシンから開発を行っているためです)。資格情報)。App Engine cronをサービスアカウントで更新すると認証に失敗する

新しいコードバージョンをデプロイするのに成功しました。(ヒント:サービスアカウントApp Engineの「Deployer」と「Service Admin」の権限をIAMコンソールに与える必要があります。私は3つすべてを与え終わった)しかし、あなたはまた、myapp.appspot.comstaging.myapp.appspot.com *)という名前のステージングとデプロイメントに使用されるGCSバケットに対する書き込み権限を持っていることを確認する必要がありますが、新しいcron.yamlをデプロイできません。私がしようとすると:

$ 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'). 

私は--verbosity=debuggcloud app deployを実行した場合、私はそれがhttps://appengine.google.com/api/cron/update?app_id=myappに要求を行うと、私はサービスアカウントのプロジェクトエディタまたは所有者に与えて試してみた403

を取り戻すだことがわかりますこれはうまくいきません。

*:この質問では、プロジェクトIDのインスタンスがすべてmyappに置き換えられました。

+0

「gcloud auth login」と同じくらい単純なことはありますか? – GAEfan

+0

ありがとうございますが、いいえ:サービスアカウントでアプリのコードにログインしてプッシュすることができます。プッシュしないのはcronの設定だけです。 –

+0

あなたはバグを発見したようです。私たちは設定ファイルのデプロイメント([dos、dispatch、queue、indexes、cron] .yaml)のためのレガシバックエンドを使用しています。 [Cloud SDK問題追跡ツール](https://code.google.com/p/google-cloud-sdk/issues/list)にバグを報告すると、その問題に関する最新情報が得られます。そうでない場合は、プライベートトラッカーにバグをオープンするようにします。/App Engine Googler – Betamos

答えて

0

困ったことに、これはユーザーエラーですが、それ以外のものは実行される可能性がありますので、書き留める価値があります。

GCPコンソール上のIAMのUIでは、ドロップダウンメニューと対話することによって、アカウントの役割を追加および削除できます。このメニューには多くのカテゴリのロールが含まれているため、長いです。メニューの下部に[保存]ボタンがあることに気づかないかもしれません。このボタンが表示されていない場合は、メニュー項目をクリックして役割を追加および削除しているときに、これらのロールはメニューの上部にある現在選択されているロールのリストに追加され、削除されます。実際にはバックエンドには何も保存されません。

必要なcron-push権限を付与するには、プロジェクト「オーナー」権限を追加するだけで十分です。

+1

私には表示されませんが、狭い範囲はありません'Project' - >' Owner'より使うのですか? – Dolph

関連する問題