設定存取權

本文說明在 Google Cloud 控制台中查看軟體供應鏈安全洞察所需的 IAM 權限。

必要的角色

如要在Google Cloud 控制台中查看軟體供應鏈安全深入分析,您必須具備下列角色,或具備同等權限的角色:

這些權限可存取洞察資料,但無法執行其他動作,例如在 Cloud Build 中執行建構作業。

  • 如要瞭解特定服務所需的權限,請參閱該服務的說明文件。
  • 如要瞭解如何授予權限,請參閱有關授予專案權限的身分與存取權管理說明文件。

根據預設,許多服務都具有同一專案中其他服務的預設權限,但無法存取其他專案中的資源。如果您在不同 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) 授予上傳和下載權限。
  • 構件分析例項檢視者 (roles/containeranalysis.occurrences.viewer) 授予顯示洞察資料的權限。

如果是 Cloud Run,您必須在專案 B 中授予下列角色:

  • Artifact Registry Reader (roles/artifactregistry.reader) 授予下載部署項目的權限。
  • 構件分析例項檢視者 (roles/containeranalysis.occurrences.viewer) 授予顯示洞察資料的權限。
查看洞察資料的使用者權限

在專案 B 中,您必須授予 Cloud Build 和 Cloud Run 使用者必要角色,才能查看洞察資料。

後續步驟

  • 如要進一步瞭解各項服務如何保護軟體供應鏈,請參閱 Google Cloud 總覽
  • 瞭解軟體供應鏈安全做法,以及 Google Cloud 服務如何協助您實作這些做法。