配置访问权限

本文档介绍了在 Google Cloud 控制台中查看软件供应链安全洞见所需的 IAM 权限。

所需的角色

如需在Google Cloud 控制台中查看软件供应链安全数据分析,您必须拥有以下角色之一或具有同等权限的角色:

这些权限可用于访问数据洞见,但无法用于执行其他操作,例如在 Cloud Build 中运行 build。

  • 如需详细了解特定服务所需的权限,请参阅该服务的文档。
  • 如需了解如何授予权限,请参阅 Identity and Access Management 文档中的向项目授予权限

默认情况下,许多服务对同一项目中的其他服务具有默认权限,但无法访问其他项目中的资源。如果您在不同的 Google Cloud 项目中运行服务,或者您使用的是自定义 IAM 角色或自定义服务账号,则必须自行授予相应的权限。

当服务位于同一项目中时授予权限

如果 Cloud Build、Artifact Registry、Artifact Analysis 和 Cloud Run 都在同一项目中运行,则每个服务都会使用默认服务账号代表该服务执行操作,并且默认权限保持不变。这些服务可以协同工作,而无需更改权限,但您需要向需要在项目中查看数据洞见的用户授予权限。

服务之间的权限

无需进行任何更改:

  • 默认的 Cloud Build 服务账号有权使用 Artifact Registry 进行上传和下载,以及从 Artifact Analysis 读取数据洞见,因此该服务可以使用 build 出处对容器映像进行签名,并将其推送到 Artifact Registry。
  • Cloud Run 修订版本在部署时使用 Compute Engine 默认服务账号,该账号具有从 Artifact Registry 下载映像以及从 Artifact Analysis 读取数据洞见的权限。
用户查看数据分析的权限

您必须向 Cloud Build 和 Cloud Run 的用户授予所需角色,才能查看数据洞见。

当服务位于不同项目中时授予权限

当 Artifact Registry 和 Artifact Analysis 在与 Google Cloud 服务不同的项目中运行时,您必须明确授予所有跨项目活动的权限。请考虑以下项目设置:

  • Cloud Build 在项目 A 中运行
  • Artifact Registry 和 Artifact Analysis 在项目 B 中运行
  • Cloud Run 在项目 C 中运行
服务之间的权限

如果不明确向代表 Cloud Build 和 Cloud Run 运行的服务账号授予访问权限,Cloud Build 和 Cloud Run 就无法访问其他项目中的资源。您必须在项目 B 中授予适当的 Artifact Registry 权限制品分析权限,以便在其中存储制品和制品元数据。

对于 Cloud Build,您必须在项目 B 中授予以下角色:

  • Artifact Registry Writer (roles/artifactregistry.writer) 授予上传和下载权限。
  • Artifact Analysis Occurrences Viewer (roles/containeranalysis.occurrences.viewer) 授予显示数据洞见的权限。

对于 Cloud Run,您必须在项目 B 中授予以下角色:

  • Artifact Registry Reader (roles/artifactregistry.reader) 授予下载权限以进行部署。
  • Artifact Analysis Occurrences Viewer (roles/containeranalysis.occurrences.viewer) 授予显示数据洞见的权限。
用户查看数据分析的权限

在项目 B 中,您必须向 Cloud Build 和 Cloud Run 的用户授予所需角色,才能查看数据洞见。

后续步骤

  • 如需详细了解 Google Cloud 服务如何保护您的软件供应链,请参阅概览
  • 了解软件供应链安全实践以及 Google Cloud 服务如何帮助您实现这些实践。