除了 App Engine 默认服务帐号之外,App Engine 柔性环境还提供了一个由 Google 管理的服务帐号,即“App Engine 柔性环境服务帐号”。借助 App Engine 柔性环境服务帐号,Cloud 项目可以独立于其他 Google Cloud 服务与应用的资源进行交互。
在以下任一情况下,Google 会自动创建此帐号:
Google App Engine Flexible Environment API 已在 Cloud Console 中手动启用:
使用 App Engine 工具将第一个应用部署到 App Engine 柔性环境,例如:
gcloud app deploy
App Engine 柔性环境服务帐号未在 Cloud Console 的“服务帐号”页面上列出,并且要遵守以下限制:
- 请勿修改 App Engine 柔性环境服务帐号的权限。
- 避免将相关的 App Engine Flexible Environment Service Agent 角色用于任何用户帐号。您不能依赖该角色,因为该角色可能会在不事先通知的情况下发生变化。
验证 App Engine 柔性环境服务帐号
如需验证您的 Cloud 项目中是否存在 App Engine 柔性环境服务帐号,您必须查看 Cloud Console 中的“权限”页面:
打开 Cloud Console:
在“成员”列表中,找到 App Engine 柔性环境服务帐号的 ID。
App Engine 柔性环境服务帐号使用以下成员 ID:
service-[YOUR_PROJECT_NUMBER]@gae-api-prod.google.com.iam.gserviceaccount.com
App Engine 柔性环境服务帐号应具有 App Engine Flexible Environment Service Agent 角色。
Service Agent 角色
App Engine 柔性环境服务帐号具有 App Engine Flexible Environment Service Agent 角色,此角色拥有 App Engine 管理柔性环境应用所需的一组权限。例如,此角色拥有执行以下任务的权限:
- 部署新版本。
- 停止或删除现有版本。
- 每周自动重启,自动更新系统。
App Engine Flexible Environment Service Agent 角色应当仅为 App Engine 柔性环境服务帐号而预留。此 IAM 角色变更权限时可能不会另行通知,因此不得使用此角色或将其分配给任何用户帐号。
问题排查
如果不小心删除了 App Engine 柔性环境服务帐号,请重新启用 Google App Engine Flexible Environment API,以重新创建服务帐号。