Cloud Build 服务帐户和服务代理之间有什么区别?

num*_*ari 8 google-cloud-platform google-cloud-iam google-cloud-build

当您为项目启用 Google Cloud Build 服务时,系统会在项目中分配两个服务帐号角色:

  • [PROJECT-ID]@cloudbuild.gserviceaccount.com已分配Cloud Build Service Account角色,并且在 Cloud Build 文档中称为服务帐户,如果您需要构建来执行部署到 AppEngine 或 Cloud Functions 等功能,则您要向该帐户授予额外权限。

  • service-[PROJECT-ID]@gcp-sa-cloudbuild.iam.gserviceaccount.com实际上名为“Cloud Build Service Account”,并被授予Cloud Build Service Agent项目中的角色。

不幸的是,对于后一个服务帐户,我找不到任何文档。我假设这是实际触发构建的帐户,而另一个帐户由正在运行的构建本身使用。

准确吗?

Joh*_*ley 3

任何服务帐户描述中包含“代理”的服务都应保留。服务使用这些服务帐号来授权其运行所需的 Google Cloud 服务。这些服务帐号由 Google Cloud 拥有/管理/控制。如果您从此服务帐户删除权限,该服务通常会中断(停止正常工作)。

Cloud Build Service Agent 有权在您的项目中管理/创建其运行所需的 Google Cloud 资源。此链接提供了这些权限的文档。