我的系统已经存在了一段时间。 GAE(python)访问GCE apis。应用引擎应用和GCE位于不同的项目中。应用引擎服务帐户已添加到具有编辑权限的GCE权限。 在代码中,我使用适用于Python的Google API客户端库。对于授权,我一直在使用oauth2client.appengine.AppAssertionCredentials
这一直运行良好,但突然间我在尝试访问GCE中的某些内容时遇到403错误,例如负载均衡器的api。我看到客户端库文档确实说明了#34;如果您的App Engine应用程序需要调用API来访问应用程序项目所拥有的数据,您可以使用服务帐户来简化OAuth 2.0。&#34 ; https://developers.google.com/api-client-library/python/guide/google_app_engine#ServiceAccounts
我不知道该文档最近是否已更改或其他内容是否已更改。
有关为何可能停止工作的任何想法? 我不需要按用户进行授权,这只是系统到系统。
感谢。
答案 0 :(得分:0)
事实证明,这与谷歌云项目的某些变化有关。为了重置,GAE项目(projectA)试图在一个单独的项目(projectB)中访问GCE的GCE api。
projectA未在项目控制台中启用Google Compute Engine API。转过来解决了这个问题。它之前没有开启,但仍然有效。所以谢天谢地,这个就像翻转开关一样容易。我希望他们可以在错误响应中包含更具体的内容。我认为这有助于人们遇到同样的问题。