配置访问权限

本文档介绍了查看 Software Delivery Shield 安全数据分析所需的 IAM 权限。Software Delivery Shield 是 Google Cloud 上的一种全代管式软件供应链安全解决方案。

所需的角色

如需在 Google Cloud 控制台中查看 Software Delivery Shield 数据分析,您必须具有以下角色或具有同等权限的角色:

这些权限提供对数据分析的访问权限,但不提供执行其他操作(例如在 Cloud Build 中运行构建)的权限。

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

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

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

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

服务间的权限

无需进行任何更改:

  • 默认的 Cloud Build 服务帐号有权通过 Artifact Registry 上传和下载数据,以及从 Artifact Analysis 中读取数据分析数据,因此该服务可以使用构建出处对容器映像进行签名,并将其推送到 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 事件查看者 (roles/containeranalysis.occurrences.viewer) 授予显示数据分析的权限。

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

  • Artifact Registry Reader (roles/artifactregistry.reader) 授予下载部署的权限。
  • Artifact Analysis 事件查看者 (roles/containeranalysis.occurrences.viewer) 授予显示数据分析的权限。
查看数据分析的用户权限

在项目 B 中,您必须为 Cloud Build 和 Cloud Run 用户授予所需角色,这样用户才能查看数据分析。

后续步骤

  • 如需详细了解 Software Delivery Shield 服务,请参阅概览
  • 了解软件供应链安全做法以及 Software Delivery Shield 如何帮助您实施这些实践。