控管存取權並保護構件

本頁面說明可協助保護構件的 Google Cloud 服務和功能。

靜態資料加密

根據預設, Google Cloud 系統會使用 Google 代管的加密金鑰,在資料處於靜態狀態時自動加密。如果您在保護資料的金鑰方面有特定的法規遵循或監管要求,可以建立以客戶自行管理的加密金鑰 (CMEK) 加密的存放區。

存取權控管

根據預設,所有存放區都是私人存放區。請遵循最低權限安全原則,只授予使用者和服務帳戶所需的最低權限

限制構件下載

您可以使用下載規則限制構件下載作業。 下載規則可讓您允許或拒絕從存放區和套件下載構件。您也可以設定條件,讓規則套用至特定標記或版本。

專案中的每個存放區都可有一個存放區層級的下載規則,以及每個套件各有一個下載規則。當用戶端嘗試下載構件時,Artifact Registry 會先檢查構件套件的下載規則。如果沒有規則,或規則條件不適用於構件,Artifact Registry 會檢查存放區是否有規則。

舉例來說,您可以為存放區建立規則,拒絕所有下載作業,然後為套件建立規則,允許從該特定套件下載。套件層級規則的優先順序較高,且只有屬於該套件的構件可從存放區下載。

下載規則適用於所有存放區模式,以及下列存放區格式:

  • Docker
  • Go
  • Maven
  • npm
  • Python

防範資料竊取

如要防止資料外洩,可以使用 VPC Service Controls,將 Artifact Registry 和其他 Google Cloud 服務放在網路安全防護範圍內。

安全漏洞掃描

構件分析可以掃描容器映像檔,找出公開監控套件中的安全漏洞。

可用的選項如下:

自動掃描安全漏洞
這項功能啟用後,會找出容器映像檔的套件安全漏洞。映像檔上傳至 Artifact Registry 時,系統會掃描映像檔,並在映像檔推送後最多 30 天內持續監控資料,找出新的安全漏洞。
On-Demand Scanning API
啟用後,您可以手動掃描本機映像檔或儲存在 Artifact Registry 中的映像檔。這項功能可協助您在建構管道的早期階段偵測及解決安全漏洞。舉例來說,您可以使用 Cloud Build 在映像檔建構完成後掃描該映像檔,然後在掃描作業偵測到指定嚴重程度的安全漏洞時,禁止上傳至 Artifact Registry。如果您也啟用了自動安全漏洞掃描功能,Artifact Analysis 也會掃描您上傳至登錄檔的映像檔。

部署政策

您可以透過二進位授權設定政策,當有人嘗試將容器映像檔部署至支援的環境 Google Cloud 時,服務就會強制執行該政策。

舉例來說,您可以設定二進位授權,只有在映像檔經過簽署,符合安全漏洞掃描政策時,才允許部署作業。

移除未使用的圖片

移除未使用的容器映像檔,以降低儲存空間費用,並減少使用舊版軟體的風險。我們提供多種工具協助您完成這項工作,包括 gcr-cleaner。gcr-cleaner 工具並非 Google 官方產品。

提早針對安全性進行測試

將資訊安全目標整合至日常工作,有助於提升軟體推送效能,並建構更安全的系統。這個概念也稱為「提早進行相關作業」,因為在軟體開發生命週期中,會提早解決包括安全性問題在內的各種疑慮 (也就是在從左到右的排程圖中,位於左側)。改用安全機制是 DORA 開發運作現狀研究計畫所發現的開發運作能力之一。

詳情請見:

公開存放區的注意事項

請仔細考慮下列情況:

  • 使用公開來源的構件
  • 將自己的 Artifact Registry 存放區設為公開

使用公開來源的構件

下列構件公開來源提供您可能會使用的工具,或是建構及部署作業的依附元件:

不過,貴機構可能設有相關限制,影響您使用公開構件。例如:

  • 您想控管軟體供應鏈的內容。
  • 您不想依賴外部存放區。
  • 您希望能嚴格控管實際工作環境中的安全漏洞。
  • 您希望能在每個映像檔中使用相同的基本作業系統。

請考慮採用下列方法,保護軟體供應鏈:

  • 設定自動建構作業,確保構件內容一致且已知。您可以使用 Cloud Build 建構觸發條件或其他持續整合工具。
  • 使用標準化基本映像檔。Google 提供一些基本映像檔供您使用。
  • 解決構件中的安全漏洞。您可以使用 On-Demand Scanning API 掃描容器映像檔,檢查是否有安全漏洞,再將映像檔儲存在 Artifact Registry 中。構件分析也可以掃描您推送至 Artifact Registry 的容器。

公開 Artifact Registry 存放區

如要將 Artifact Registry 存放區設為公開,請將 Artifact Registry Reader 角色授予 allUsers 身分。

如果所有使用者都有 Google Cloud 帳戶,您可以改用 allAuthenticatedUsers 身分限制存取權,只允許已驗證的使用者存取。

將 Artifact Registry 存放區設為公開前,請先考量下列事項:

  • 確認儲存在存放區中的所有構件都能公開分享,且不會揭露憑證、個人資料或機密資料。
  • 在專案中,每位使用者可傳送的要求次數並沒有預設的配額上限。為防止濫用,請在專案中限制每位使用者的配額。
- 使用者下載構件時,系統會收取網路資料移轉費用。如果您預期會有大量網際網路下載流量,請考慮相關費用。

網頁應用程式指南

  • OWASP 前 10 大列出 Open Web Application Security Project (OSWAP) 提出的前 10 大網頁應用程式安全性風險。

容器指南

  • 網際網路安全中心 (CIS) 提供 Docker 基準,可評估 Docker 容器的安全性。

    Docker 提供名為「Docker Bench for Security」的開放原始碼指令碼。您可以使用這個指令碼,根據 CIS Docker 基準驗證正在執行的 Docker 容器。

    Docker Bench For Security 可協助您驗證 CIS Docker 基準中的許多項目,但並非所有項目都能透過指令碼驗證。舉例來說,指令碼無法驗證容器的主機是否經過強化,也無法驗證容器映像檔是否包含個人資料。查看基準中的所有項目,找出可能需要額外驗證的項目。

後續步驟

進一步瞭解依附元件管理