App Engine 包含一个名为 App Engine flexible environment Service Agent 的 Google 管理的服务账号。此服务代理使您的服务在访问其他 Google Cloud 资源时代表您执行操作。请务必不要修改服务代理。
请注意,Google 管理的服务代理不会列在 Google Cloud 控制台中的服务账号页面上,并且与 App Engine 默认服务账号无关。
当您部署第一项服务时,系统会自动为您的 Google Cloud 项目创建由 Google 管理的服务代理。例如,当您首次运行 gcloud app deploy
命令在柔性环境中部署应用时。
由 Google 管理的服务代理使用 App Engine flexible Environment Service Agent 这一预定义 IAM 角色,其中包括 App Engine 管理您的应用所需的一组权限。创建服务代理时,系统会自动向服务代理授予此角色。
例如,这些权限允许 Google Cloud 项目获取 App Engine 实例用于访问其他 Google Cloud 资源(例如 Cloud Storage 存储桶)的访问令牌。
重要限制:
- 请勿撤销授予给 Google 管理的服务代理的角色。
- 请勿向任何其他账号授予相关的 App Engine Flexible Environment Service Agent 角色。请注意,此角色的权限随时可能变动,恕不另行通知。
验证服务代理
如需验证服务代理在 Google Cloud 项目中是否具有所需的角色,请执行以下步骤:
在 Google Cloud 控制台中,转到权限页面。
在权限页面的右上角,选中包括 Google 提供的角色授权复选框。
在主账号列表中,找到具有下列 ID 的服务代理:
service-PROJECT_NUMBER@gae-api-prod.google.com.iam.gserviceaccount.com
验证是否已经为服务代理授予 App Engine Flexible Environment Service Agent 角色。
恢复服务代理所需的角色
如果您意外从 Google Cloud 项目中移除了服务代理所需的 App Engine Flexible Environment Service Agent 角色绑定,请执行以下步骤进行恢复:
在 Google Cloud 控制台中,转到权限页面。
点击添加。
按以下格式输入服务代理 ID:
service-PROJECT_NUMBER@gae-api-prod.google.com.iam.gserviceaccount.com
。选择 App Engine Flexible Environment Service Agent 角色。
点击保存。