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