Appengine remote_api_shell自更新以来无法使用应用程序默认凭据



我最近更新了我的gcloud库从118.0.0到132.0.0和立即remote_api_shell不再工作。我经历了许多重新登录的排列,通过gcloud设置应用程序默认凭据,并使用服务帐户和环境变量。所有排列都失败,并显示相同的错误信息:

    Traceback (most recent call last):
  File "/Users/mbostwick/google-cloud-sdk/bin/remote_api_shell.py", line 133, in <module>
    run_file(__file__, globals())
  File "/Users/mbostwick/google-cloud-sdk/bin/remote_api_shell.py", line 129, in run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 160, in <module>
    main(sys.argv)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 156, in main
    oauth2=True)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 74, in remote_api_shell
    secure=secure, app_id=appid)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 769, in ConfigureRemoteApiForOAuth
    rpc_server_factory=rpc_server_factory)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 839, in ConfigureRemoteApi
    app_id = GetRemoteAppIdFromServer(server, path, rtok)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 569, in GetRemoteAppIdFromServer
    response = server.Send(path, payload=None, **urlargs)
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 259, in Send
    NeedAuth()
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 235, in NeedAuth
    RaiseHttpError(url, response_info, response, 'Too many auth attempts.')
  File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 85, in RaiseHttpError
    raise urllib2.HTTPError(url, response_info.status, msg, response_info, stream)
urllib2.HTTPError: HTTP Error 401: Unauthorized Too many auth attempts.

回到131.0.0和130.0.0之后,我回到118.0.0,重新登录,一切都很好。

我没有在更新gcloud后更新正在运行的应用程序,因为我现在正处于发布周期的中间,所以这可能是问题所在,但任何帮助都将不胜感激。谢谢!

TL;DR:在gcloud version 134

原始答案: Run

gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email

现在您的远程shell应该可以再次工作了。

:我认为这是打破了128.0.0更新,随着gcloud auth login命令的变化。旧的令牌有以下作用域(根据Google的tokeninfo端点):

https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/appengine.admin https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/plus.me

来自gcloud auth application-default login的没有任何选项的新令牌只有:

https://www.googleapis.com/auth/cloud-platform

gcloud auth application-default login --help

Version 134 detail :现在请求的作用域是:

https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/cloud-platform

参见https://groups.google.com/d/msg/google-appengine/ptc-76K6Kk4/9qr4601BBgAJ

相关内容

  • 没有找到相关文章

最新更新