Grafeas:旨在更好地審計容器
我們運行的軟體從來沒有比今天更難獲得。它分散在本地部署和雲服務之間,由不知到有多少的開源組件構建而成,以快速的時間表交付,因此保證安全和質量變成了一個挑戰。
最終的結果是軟體難以審計、推斷、安全化和管理。困難的不只是知道 VM 或容器是用什麼構建的, 而是由誰來添加、刪除或更改的。Grafeas 最初由 Google 設計,旨在使這些問題更容易解決。
什麼是 Grafeas?
Grafeas 是一個定義軟體組件的元數據 API 的開源項目。旨在提供一個統一的元數據模式,允許 VM、容器、JAR 文件和其他軟體 工件 描述自己的運行環境以及管理它們的用戶。目標是允許像在給定環境中使用的軟體一樣的審計,以及對該軟體所做的更改的審計,並以一致和可靠的方式進行。
Grafeas提供兩種格式的元數據 API —— 備註和事件:
- 備註 是有關軟體工件的某些方面的細節。可以是已知軟體漏洞的描述,有關如何構建軟體的詳細信息(構建器版本、校驗和等),部署歷史等。
- 事件 是備註的實例,包含了它們創建的地方和方式的細節。例如,已知軟體漏洞的詳細信息可能會有描述哪個漏洞掃描程序檢測到它的情況、何時被檢測到的事件信息,以及該漏洞是否被解決。
備註和事件都存儲在倉庫中。每個備註和事件都使用標識符進行跟蹤,該標識符區分它並使其唯一。
Grafeas 規範包括備註類型的幾個基本模式。例如,軟體包漏洞模式描述了如何存儲 CVE 或漏洞描述的備註信息。現在沒有接受新模式類型的正式流程,但是這已經在計劃創建這樣一個流程。
Grafeas 客戶端和第三方支持
現在,Grafeas 主要作為規範和參考形式存在,它在 GitHub 上提供。 Go、Python 和 Java 的客戶端都可以用 Swagger 生成,所以其他語言的客戶端也應該不難寫出來。
Google 計劃讓 Grafeas 廣泛使用的主要方式是通過 Kubernetes。 Kubernetes 的一個名為 Kritis 的策略引擎,可以根據 Grafeas 元數據對容器採取措施。
除 Google 之外的幾家公司已經宣布計劃將 Grafeas 的支持添加到現有產品中。例如,CoreOS 正在考察 Grafeas 如何與 Tectonic 集成,Red Hat 和 IBM 都計劃在其容器產品和服務中添加 Grafeas 集成。
作者:Serdar Yegulalp 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive