配置访问权限

本文档介绍了在 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 将无法访问其他项目中的资源。您必须在存储工件和工件元数据的项目 B 中授予适当的 Artifact Registry 权限Artifact Analysis 权限

对于 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 服务如何帮助您实现这些实践。