Cloud Build 使用特殊服务账号代表您执行构建。当您在 Google Cloud 项目上启用 Cloud Build API 时,系统会自动创建 Cloud Build 服务账号并授予该项目的 Cloud Build 服务账号角色。此角色授予服务账号执行多个任务的权限,但您可以向服务账号授予更多权限来执行其他任务。本页面介绍如何授予和撤消 Cloud Build 服务账号的权限。
准备工作
- 了解 Cloud Build 角色和权限。
- 读取 Cloud Build 服务账号。
使用“设置”页面向 Cloud Build 服务账号授予角色
您可以使用 Google Cloud 控制台中的 Cloud Build 设置页面向 Cloud Build 服务帐号授予某些常用的 IAM 角色:
打开 Cloud Build 的“设置”页面:
您将会看到服务账号权限页面:
将您要添加的角色的状态设置为启用。
使用 IAM 页面向 Cloud Build 服务账号授予角色
如果您要授予的角色未在 Google Cloud 控制台的“Cloud Build 设置”页面中列出,请使用 IAM 页面授予该角色:
打开 IAM 页面:
选择您的 Google Cloud 项目。
在权限表上方,选中包括 Google 提供的角色授权复选框。
权限表格中会显示更多的行。
在权限表中,找到电子邮件地址以
@cloudbuild.gserviceaccount.com
结尾的行。这是您的 Cloud Build 服务账号。点击铅笔图标。
选择要向 Cloud Build 服务帐号授予的角色。
点击保存。
撤消 Cloud Build 服务账号中的角色
打开 IAM 页面:
选择您的 Google Cloud 项目。
在权限表上方,选中包括 Google 提供的角色授权复选框。
权限表格中会显示更多的行。
在权限表中,找到电子邮件地址以
@cloudbuild.gserviceaccount.com
结尾的行。这是您的 Cloud Build 服务账号。点击铅笔图标。
找到要撤消的角色,然后点击该角色旁边的删除垃圾箱。
向 Cloud Build 服务代理授予角色
除了 Cloud Build 服务帐号之外,Cloud Build 还有一个 Cloud Build 服务代理,允许其他 Google Cloud 服务访问您的资源。启用 Cloud Build API 后,系统会自动在 Google Cloud 项目中创建服务代理。该服务账号采用以下格式,其中 PROJECT_NUMBER
是您的项目编号。
service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
您可以通过以下方式查看项目的服务代理:转到 Google Cloud 控制台中的 IAM 页面页面,然后选中显示 Google 代管式服务帐号复选框。
如果您在项目中意外撤消了 Cloud Build 服务代理的角色,可以按照以下步骤手动授予该角色:
控制台
在 Google Cloud 控制台中打开 IAM 页面:
点击授予访问权限。
添加以下主账号,其中
PROJECT_NUMBER
是您的项目编号:service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
选择服务代理 Cloud Build Service Agent 作为您的角色。
点击保存。
gcloud
将 roles/cloudbuild.serviceAgent
IAM 角色授予 Cloud Build 服务代理:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com" \
--role="roles/cloudbuild.serviceAgent"
将命令中的占位值替换为以下内容:
PROJECT_ID
:项目 IDPROJECT_NUMBER
:项目编号
后续步骤
- 了解用户指定的服务账号。
- 深入了解服务账号。
- 了解如何配置对 Cloud Build 资源的访问权限。
- 了解查看构建日志所需的权限。