除了 App Engine 默认服务帐号之外,App Engine 柔性环境还提供了一个由 Google 管理的服务帐号,即“App Engine 柔性环境服务代理”。借助服务代理,您的 Cloud 项目能够独立于其他 Google Cloud 服务与应用资源进行交互。
当您使用 App Engine 工具(例如 gcloud app deploy
命令)将项目的第一个应用部署到 App Engine 柔性环境时,Google 会自动创建此帐号。
该服务代理未在 Google Cloud 控制台的“服务帐号”页面上列出,并且存在以下限制:
- 请勿撤消授予服务代理的角色。
- 请勿向任何其他帐号授予相关的 App Engine Flexible Environment Service Agent 角色,因为该角色包含的权限随时可能变动,而不另行通知。
验证 App Engine 柔性环境服务代理
如需验证您的 Cloud 项目中是否存在服务代理,请执行以下步骤:
打开 Google Cloud 控制台:
在权限页面的右上角,选中包括 Google 提供的角色授权复选框。
在主帐号列表中,找到 App Engine 柔性环境服务代理的 ID,该代理使用成员 ID
service-PROJECT_NUMBER@gae-api-prod.google.com.iam.gserviceaccount.com
。验证是否已经为服务代理授予 App Engine Flexible Environment Service Agent 角色。
“服务代理”角色
服务代理具有 App Engine Flexible Environment Service Agent 角色。系统会为服务代理预留此角色,此角色可提供 Node.js 柔性环境管理柔性环境应用所需的一组权限。请勿向任何其他帐号授予此 IAM 角色,因为此角色提供的权限可能会发生更改,而不另行通知。
恢复已删除的服务代理
如果您不小心删除了 App Engine 柔性环境服务代理,请执行以下步骤来恢复代理:
打开 Google Cloud 控制台:
点击添加。
使用以下格式输入服务代理 ID
service-PROJECT_NUMBER@gae-api-prod.google.com.iam.gserviceaccount.com
。选择 App Engine Flexible Environment Service Agent 角色。
点击保存。