App Engine 标准环境服务代理

除了 App Engine 默认服务账号之外,App Engine 标准环境还提供了一个 Google 管理的服务账号,名为“App Engine 标准环境服务代理”。借助服务代理,您的 Google Cloud 项目可以独立于其他 Google Cloud 服务与应用资源进行交互。

当您使用 App Engine 工具(例如 gcloud app deploy 命令)将项目的第一个应用部署到 App Engine 标准环境时,Google 会自动创建此账号。

该服务代理未在 Google Cloud 控制台的“服务账号”页面上列出,并且存在以下限制:

验证 App Engine 标准环境服务代理

如需验证 Google Cloud 项目中是否存在服务代理,请执行以下步骤:

  1. 打开 Google Cloud 控制台:

    转到“权限”页面

  2. 权限页面的右上角,选中包括 Google 提供的角色授权复选框。

  3. 主账号列表中,找到 App Engine 标准环境服务代理的 ID,该代理使用 ID
    service-PROJECT_NUMBER@gcp-gae-service.iam.gserviceaccount.com

  4. 验证此服务代理是否已被授予 App Engine Standard Environment Service Agent 角色。

“服务代理”角色

服务代理具有 App Engine Standard Environment Service Agent 角色。该角色提供 PHP 5 标准环境管理标准环境应用所需的一组权限。例如,此角色拥有执行以下任务的权限:

  • 获取 App Engine 实例的访问令牌,以访问其他 Google Cloud 资源(例如 Cloud Storage 存储桶)。
  • 使用来自 App Engine 旧版捆绑服务的 Blobstore API

系统会为服务代理预留 App Engine Standard Environment Service Agent 角色。请勿将此 IAM 角色授予任何其他账号,因为该角色包含的权限随时可能变动,而不另行通知。

恢复已删除的服务代理

如果您不小心删除了 App Engine 标准环境服务代理,请执行以下步骤进行恢复:

  1. 打开 Google Cloud 控制台:

    转到“权限”页面

  2. 点击添加

  3. 使用以下格式输入服务代理 ID
    service-PROJECT_NUMBER@gcp-gae-service.iam.gserviceaccount.com

  4. 选择 App Engine Standard Environment Service Agent 角色。

  5. 点击保存