配置对 Cloud Build 资源的访问权限

默认情况下,只有 Google Cloud 项目的创建者有权访问项目及其资源。如需向其他用户授予访问权限,您可以在项目或特定 Cloud Build 资源上授予 Identity and Access Management (IAM) 角色。

本页面介绍了为 Cloud Build 资源设置访问权限控制的方法。

准备工作

授予项目的角色

控制台

  1. 在 Google Cloud 控制台中打开 IAM 页面:

    打开 IAM 页面

  2. 选择您的项目,然后点击继续

  3. 点击授予使用权限

  4. 输入用户或服务账号的电子邮件地址。

  5. 从下拉菜单中选择所需的角色。Cloud Build 角色位于 Cloud Build 的下方。

  6. 点击保存

gcloud

要向成员快速授予角色,请运行 add-iam-policy-binding 命令:

gcloud group add-iam-policy-binding resource \
    --member=principal --role=role-id

其中:

  • group:您要更新的资源的 gcloud CLI 组。例如,您可以使用项目或组织。

  • resource:资源的名称。

  • principal:主账号的标识符,通常其格式如下:principal-type:id。例如,user:my-user@example.com。如需主账号或成员类型的完整列表,请参阅政策绑定参考文档

  • role-id:角色的名称。

例如,要向项目 my-project 的用户 my-user@example.com 授予 Cloud Build Viewer 角色,请使用以下命令:

gcloud projects add-iam-policy-binding my-project \
    --member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer

授予运行 gcloud 命令的权限

要运行 gcloud builds 命令,仅具有 cloudbuild.builds.viewercloudbuild.builds.editor 角色的用户还需要具备 serviceusage.services.use 权限。如需向用户授予此权限,请向他们授予 serviceusage.serviceUsageConsumer 角色。

具有 roles/editor 和 roles/owner 角色的用户可以运行 gcloud builds 命令,而无需额外的 serviceusage.services.use 权限。

构建日志的查看权限

要查看构建日志,您需要其他权限,具体取决于您是将构建日志存储在默认 Cloud Storage 存储桶还是用户指定的 Cloud Storage 存储桶。如需详细了解查看构建日志所需的权限,请参阅查看构建日志

撤消项目角色

控制台

  1. 在 Google Cloud 控制台中打开 IAM 页面:

    打开 IAM 页面

  2. 选择您的项目,然后点击继续

  3. 在权限表中,找到主账号的电子邮件 ID,然后点击铅笔图标。

  4. 删除您要撤消的角色。

  5. 点击保存

gcloud

要撤消用户的角色,请运行 remove-iam-policy-binding 命令:

gcloud group remove-iam-policy-binding resource \
    --member=principal --role=role-id

其中:

  • group:您要更新的资源的 gcloud CLI 组。例如,您可以使用项目或组织。

  • resource:资源的名称。

  • principal:主账号的标识符,通常其格式如下:principal-type:id。例如,user:my-user@example.com。如需主账号或成员类型的完整列表,请参阅政策绑定参考文档

  • role-id:角色的名称。

例如,要撤消项目 my-project 的用户 my-user@example.com 的 Cloud Build Viewer 角色,请使用以下命令:

gcloud projects remove-iam-policy-binding my-project \
    --member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer

查看项目的角色

控制台

  1. 在 Google Cloud 控制台中打开 IAM 页面:

    打开 IAM 页面

  2. 选择您的项目,然后点击继续

  3. 查看方式下,点击角色

  4. 如需查看具有特定角色的主账号,请展开角色名称。

gcloud

如需查看在 Google Cloud 项目中被授予特定角色的所有用户,请运行以下命令:

gcloud projects get-iam-policy project-id \
    --flatten="bindings[].members" \
    --format="table(bindings.members)" \
    --filter="bindings.role:role-id"

其中:

  • project-id 是项目 ID。

  • role-id 是要查看其主账号的角色的名称。

例如,如需查看项目中被授予 Google Cloud Project Viewer 角色的所有主账号,请运行以下命令:

gcloud projects get-iam-policy my-project \
    --flatten="bindings[].members" \
    --format="table(bindings.members)" \
    --filter="bindings.role:roles/cloudbuild.builds.viewer"

创建 IAM 自定义角色

对于想要定义自己的角色以包含他们指定的一组权限,IAM 会提供自定义角色。如需查看如何创建和使用 IAM 自定义角色的说明,请参阅创建和管理自定义角色

后续步骤