0

我们的项目使用 App Engine 柔性环境,我们希望自动发现我们 App Engine flex 服务底层的 GCE 虚拟机。

理论上,这应该可以使用v1/compute/instances.list API 实现。而且,这个 API 使用我自己的凭据工作:返回所有 GCE 虚拟机,包括 App Engine Flex 虚拟机。

但是,当我切换到使用服务帐户凭据时,对 instances.list 的调用成功,但所有 App Engine Flex 虚拟机都从返回的列表中排除!

这不是范围或服务帐户权限的问题。无论我使用自己的凭据还是服务帐户进行身份验证,都使用相同的范围。而且,我尝试将服务帐户分配给“所有者”角色,但从 instance.list 中看到了相同的行为。

Google 服务帐户可以列出所有 GCE 虚拟机吗?如果是这样,怎么做?如果不是为什么?是否存在仅在使用服务帐户列出应用引擎柔性环境 VM时才排除它们的特殊过滤器?

谢谢!

4

1 回答 1

1

虽然我们在后台使用 GCE 虚拟机,但它们并没有以相同的方式完全公开。如果您正在寻找对 App Engine(灵活或标准)实例信息的访问权限,您应该查看此 API:

https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions.instances/list

你也可以通过运行得到这个:

gcloud app instances list

这可能会让你到达你想要去的地方。假如你有任何问题请告知我们!

于 2017-04-20T21:41:13.300 回答