控管存取權及保護構件

本頁說明有助於保護構件的 Google Cloud 服務和功能。

靜態資料加密

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

存取權控管

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

限制構件下載

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

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

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

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

  • Apt
  • Docker
  • Go
  • Maven
  • npm
  • Python

防範資料竊取

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

安全漏洞掃描

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

可用的選項如下:

自動安全漏洞掃描
這項功能啟用後,會找出容器映像檔的套件安全漏洞。映像檔上傳至 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 Analysis也可以掃描您推送至 Artifact Registry 的容器。

公開 Artifact Registry 存放區

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

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

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

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

網頁應用程式指南

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

容器指南

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

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

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

後續步驟

進一步瞭解依附元件管理