二進位授權總覽

本文將概略介紹二進位授權。

什麼是二進位授權?

二進位授權是 Google Cloud 一項產品,可用於在開發及部署以容器為基礎的應用程式時,實作軟體供應鏈安全措施。

二進位授權的功能是什麼?

您可以使用二進位授權執行下列操作:

二進位授權支援哪些平台?

二進位授權支援下列平台:

二進位授權是部署架構的一部分,包含下列相關產品:

  • Artifact RegistryContainer Registry 和其他儲存要部署映像檔的登錄檔。
  • 構件分析會提供安全漏洞資訊,您可搭配二進位授權控管部署作業。此外,構件分析會儲存授權程序中使用的受信任中繼資料。
  • 安全監控:這個資訊主頁可讓您評估相互依存 Google Cloud 產品 (包括二進位授權) 的應用程式安全防護機制。
  • Cloud Build:產生認證和來源,供二進位授權用於強制執行和監控。
  • Cloud Deploy 是一項代管的持續推送軟體更新服務,可按照定義的順序,自動將應用程式推送至一系列目標環境。

二進位授權以 Kritis 規格為基礎,該規格是 Grafeas 開放原始碼專案的一部分。

背景

軟體供應鏈安全性的目標是確保軟體的來源、建構、測試、發布及部署作業,都符合內部最佳做法和標準。

容器架構可讓團隊開發高度解耦的系統 (例如以微服務架構為基礎的系統),並鼓勵使用生命週期較短的開發做法,包括持續整合 (CI) 和持續部署 (CD)。

在以容器為基礎的開發環境中,映像檔可部署在測試、預備和發布等一連串的叢集上,這些叢集是軟體供應鏈的一部分。

二進位授權的目標是降低在這類環境中部署有缺陷、有安全漏洞或未經授權軟體的風險。使用這項服務,您可以防止部署不符合您定義政策的映像檔。

二進位授權不會規定內部程序或最佳做法,但可協助您強制執行自己的做法,限制部署未通過必要檢查的映像檔。

生命週期

映像檔的部署生命週期可能包含下列階段,完成一個階段是進入下一個階段的先決條件,例如:

  1. 建構及單元測試
  2. 部署至開發環境,使用者不會受到影響
  3. 部署至 QA 環境,只會影響內部使用者
  4. 部署至 Canary 環境,只有一小部分外部使用者會受到影響
  5. 部署至正式環境

每個階段都可以有自己的部署環境 (例如 GKE 叢集或專案),以及自己的條件,必須滿足這些條件,映像檔才能進入下一個階段。 Google Cloud 二進位授權可讓您定義映像檔從一個階段傳遞至下一個階段的規則,並提供強制執行這些規則的方法。

認證

二進位授權最常見的用途是認證。認證可證明特定圖片已完成先前階段,如先前所述。您可設定二進位授權政策,在允許部署映像檔前先驗證認證。在部署時,Binary Authorization 只需要驗證認證,不必重新執行先前階段完成的活動。

涉及認證的用途包括:

  • 建構驗證:二進位授權會使用認證,驗證映像檔是由特定建構系統或持續整合 (CI) 管道所建構。

    如要瞭解如何根據 Cloud Build 設定可建立驗證的 CI 管道,請參閱「Cloud Build 整合」。

  • 手動檢查:由專人 (例如 QA 代表) 手動建立認證。

    如要瞭解如何手動建立認證,請參閱「建立認證」。

如需端對端認證教學課程,請參閱「開始使用 Google Cloud 控制台」。

功能

二進位授權提供以下功能:

  • 政策模型,可讓您說明部署圖片時的限制
  • 認證模型:可讓您定義可認證或驗證環境中必要程序是否已完成的信任授權單位,再進行部署
  • 部署時強制執行者,可防止部署違反政策的映像檔

政策模式

二進位授權會實作政策模型,其中政策是一組規則,可控管容器映像檔的部署作業。政策中的規則會提供特定條件,映像檔必須符合這些條件才能部署。

如要進一步瞭解二進位授權政策模型和其他概念,請參閱基本概念

設定

如要設定二進位授權,您必須先為構成部署和授權管道的Google Cloud 專案啟用服務。

接著,您要定義政策,指定可部署容器映像檔的限制。如果政策要求部署前必須通過認證,您也必須設定驗證者,驗證認證後才能允許部署相關聯的映像檔。

如要設定二進位授權,請參閱下列指南:

授權

在部署映像檔之前,所有必要簽署者都必須建立認證,確認映像檔已準備好進入下一個部署階段。認證記錄包含映像檔的登錄路徑和摘要,並使用簽署者的私密加密編譯金鑰進行數位簽署。

如要進一步瞭解授權,請參閱「使用認證」。

強制執行

部署映像檔時,二進位授權會檢查政策,並強制執行任何適用於部署的規則。

如果映像檔通過政策中定義的限制條件,二進位授權就會允許部署。如果不是,服務會封鎖部署作業,並在 Cloud 稽核記錄中寫入訊息,說明映像檔為何不符合規範。

如要在 Cloud 稽核記錄中查看 Binary Authorization 強制執行事件,請參閱下列指南:

如要進一步瞭解部署作業,請參閱下列指南:

連續驗證

二進位授權的持續驗證 (CV) 功能會搭配檢查式平台政策,定期檢查與執行中 Pod 相關聯的容器映像檔中繼資料,確保持續符合政策規定。

進一步瞭解 CV

使用 VPC Service Controls 保護二進位授權

VPC Service Controls 可讓您更進一步降低未經授權複製或轉移 Google 代管服務和資源資料的風險。

如要進一步瞭解如何保護與 Binary Authorization 相關的資源,請參閱「使用 VPC Service Controls 確保安全」。

軟體供應鏈安全性

二進位授權是可用於保護軟體供應鏈的 Google Cloud 元件之一。您可以搭配使用 Binary Authorization 與其他 Google Cloud 產品和功能,提升開發人員工作流程和工具、軟體依附元件、用於建構及部署軟體的 CI/CD 系統,以及 Google Kubernetes Engine 和 Cloud Run 等執行階段環境的安全狀態。詳情請參閱「軟體供應鏈安全性」。

後續步驟