本文档介绍了查看 Software Delivery Shield 安全数据分析所需的 IAM 权限。Software Delivery Shield 是 Google Cloud 上的一种全代管式软件供应链安全解决方案。
所需的角色
如需在 Google Cloud 控制台中查看 Software Delivery Shield 数据分析,您必须具有以下角色或具有同等权限的角色:
- Cloud Build Viewer (
roles/cloudbuild.builds.viewer
):查看构建的数据分析。 - Artifact Analysis 事件查看器 (
roles/containeranalysis.occurrences.viewer
):查看漏洞、构建来源和其他依赖项信息。 - Cloud Run Viewer (
roles/run.viewer
):查看 Cloud Run 修订版本的数据分析。 - Kubernetes Engine Cluster Viewer (
roles/container.clusterViewer
):查看 GKE 集群的数据分析。
这些权限提供对数据分析的访问权限,但不提供执行其他操作(例如在 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
) 授予显示数据分析的权限。
- Artifact Registry Writer (
对于 Cloud Run,您必须在项目 B 中授予以下角色:
- Artifact Registry Reader (
roles/artifactregistry.reader
) 授予下载部署的权限。 - Artifact Analysis 事件查看者 (
roles/containeranalysis.occurrences.viewer
) 授予显示数据分析的权限。
- Artifact Registry Reader (
- 查看数据分析的用户权限
在项目 B 中,您必须为 Cloud Build 和 Cloud Run 用户授予所需角色,这样用户才能查看数据分析。
后续步骤