默认情况下,只有 Google Cloud 项目的创建者有权访问项目及其资源。如需向其他用户授予访问权限,您可以在项目或特定 Cloud Build 资源上授予 Identity and Access Management (IAM) 角色。
本页面介绍了为 Cloud Build 资源设置访问权限控制的方法。
准备工作
- 了解 IAM 的基本概念。
- 了解 Cloud Build 角色和权限。
授予项目的角色
控制台
在 Google Cloud 控制台中打开 IAM 页面:
选择您的项目,然后点击继续。
点击授予访问权限。
输入用户或服务账号的电子邮件地址。
从下拉菜单中选择所需的角色。Cloud Build 角色位于 Cloud Build 的下方。
点击保存。
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.viewer
或 cloudbuild.builds.editor
角色的用户还需要具备 serviceusage.services.use
权限。如需向用户授予此权限,请向他们授予 serviceusage.serviceUsageConsumer
角色。
具有 roles/editor 和 roles/owner 角色的用户可以运行 gcloud builds
命令,而无需额外的 serviceusage.services.use
权限。
构建日志的查看权限
要查看构建日志,您需要其他权限,具体取决于您是将构建日志存储在默认 Cloud Storage 存储分区还是用户指定的 Cloud Storage 存储分区。如需详细了解权限 需要查看构建日志,请参阅查看构建日志。
撤消项目角色
控制台
在 Google Cloud 控制台中打开 IAM 页面:
选择您的项目,然后点击继续。
在权限表中,找到主账号的电子邮件 ID,然后点击铅笔图标。
删除您要撤消的角色。
点击保存。
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
查看项目的角色
控制台
在 Google Cloud 控制台中打开 IAM 页面:
选择您的项目,然后点击继续。
在查看方式下,点击角色。
如需查看具有特定角色的主账号,请展开角色名称。
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 项目的所有主账号 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 自定义角色的说明,请参阅创建和管理自定义角色。
后续步骤
- 了解 Cloud Build 服务账号。
- 了解如何配置对 Cloud Build 服务账号的访问权限。
- 了解查看构建日志所需的权限。