控管存取權並保護構件

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

靜態資料加密

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

存取權控管

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

限制構件下載

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

針對專案中的每個存放區,您可以在存放區層級設定一個下載規則,並為每個套件設定一個下載規則。當用戶端嘗試下載時,Artifact Registry 會先檢查構件套件中的下載規則。如果沒有規則,或是規則的條件不適用於構件,Artifact Registry 會檢查存放區中的規則。

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

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

  • 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。如果您也啟用了自動安全漏洞掃描功能,容器分析也會掃描您上傳至登錄檔的圖片。

部署政策

您可以使用二進位授權設定政策,當服務嘗試將容器映像檔部署至其中一個支援 Google Cloud 環境時,系統就會強制執行該政策。

舉例來說,您可以設定二進位授權,只允許在符合安全漏洞掃描政策的情況下,才允許部署作業。

移除未使用的圖片

移除未使用的容器映像檔,以降低儲存空間費用,並降低使用舊版軟體的風險。您可以使用多種工具來執行這項工作,包括 gcr-cleaner。gcr-cleaner 工具並非 Google 官方產品。

提早針對安全性進行測試

將資訊安全目標整合至日常工作中,有助於提升軟體提交效能,並建立更安全的系統。這個概念也稱為「提前進行相關作業」,因為安全性等疑慮會在軟體開發生命週期較早的階段解決 (也就是在從左到右的時間表圖表中位於左側)。改用安全機制是 DORA 開發運作研究計畫中所證實的 DevOps 功能之一。

詳情請見:

公開存放區的注意事項

請仔細考量下列情況:

  • 使用公開來源的構件
  • 將自己的 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 的開放原始碼指令碼。您可以使用這個指令碼,驗證執行中的 Docker 容器是否符合 CIS Docker 基準。

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

後續步驟

進一步瞭解依附元件管理