公司 IBM 地點 紐約阿蒙克 行業 雲計算

挑戰

IBM Cloud 透過其基於 OpenWhisk 的函式即服務 (FaaS) 產品、託管的 Kubernetes 和容器以及 Cloud Foundry 平臺即服務 (PaaS),提供跨多種執行時的公共、私有和混合雲功能。這些執行時與公司企業技術的強大功能相結合,例如 MQ 和 DB2、其現代人工智慧 (AI) Watson 和資料分析服務。IBM Cloud 使用者可以利用其目錄中 170 多種不同的雲原生服務的功能,包括 IBM 天氣公司 API 和資料服務等功能。2017 年下半年,IBM Cloud Container Registry 團隊希望構建一個映象信任服務。

解決方案

這項新服務的工作最終於 2018 年 2 月在 IBM Cloud 中公開發布。據 IBM Cloud Container Registry 團隊的軟體開發人員 Michael Hough 稱,這個名為 Portieris 的映象信任服務完全基於 Cloud Native Computing Foundation (CNCF) 開源專案 Notary。Portieris 是一個 Kubernetes 准入控制器,用於強制執行內容信任。使用者可以為每個 Kubernetes 名稱空間或在叢集級別建立映象安全策略,並對不同的映象強制執行不同級別的信任。Portieris 是 IBM 信任故事的關鍵部分,因為它使使用者能夠在其 IKS 叢集中消費公司的 Notary 產品。該產品是 Notary 伺服器在 IBM 的雲中執行,然後 Portieris 在 IKS 叢集中執行。這使使用者能夠讓他們的 IKS 叢集驗證他們正在載入容器的映象是否包含他們期望的內容,而 Portieris 允許 IKS 叢集應用該驗證。

影響

IBM 旨在提供託管的 Kubernetes 容器服務和映象登錄檔,為其企業客戶提供一個完全安全的端到端平臺。Hough 說:“映象簽名是該產品的一個關鍵部分,我們的容器登錄檔團隊將 Notary 視為在當前 Docker 和容器生態系統中實現該功能的實際方式。”該公司以前沒有提供映象簽名,而 Notary 是它用於實現該功能的工具。Hough 說:“我們有一個多租戶 Docker 登錄檔,提供私有映象託管。”“Docker 登錄檔使用雜湊來確保映象內容正確,並且資料在傳輸中和靜態時都經過加密。但它不提供任何關於誰推送了映象的保證。我們使用 Notary 讓使用者可以在他們的私有登錄檔名稱空間中對映象進行簽名,如果他們選擇這樣做的話。”

Docker 已經建立了 Notary 專案作為 The Update Framework (TUF) 的實現,並且 TUF 的這個實現提供了 Docker Content Trust 的功能。

IBM Cloud Container Registry 團隊的軟體開發人員 Michael Hough 表示:“在 TUF 和 Notary 都貢獻給 CNCF 之後,我們認為它正在成為容器生態系統中映象簽名的事實標準。”

選擇 Notary 的主要原因是它已經與 IBM 容器登錄檔正在使用的現有身份驗證堆疊相容。TUF 的設計也是如此,它不需要登錄檔團隊涉足金鑰管理業務。他說:“這兩個都是吸引人的設計決策,證實了我們選擇 Notary 的決定。”

Hough 說,在 IBM Cloud 中引入 Notary 以實現映象簽名功能,鼓勵增強 IBM 雲平臺的安全性,“我們期望它將包括官方 IBM 映象的簽名以及安全意識強的企業客戶的預期使用。”“結合安全策略實施,我們預計 CI/CD 管道中部署策略的使用會增加,從而可以根據映象簽名者對服務部署進行細粒度控制。”

Hough 說,映象簽名的可用性“對需要這種級別的映象溯源和安全性的具有安全意識的客戶來說是一個巨大的好處。”“憑藉我們的 IBM Cloud Kubernetes 即服務產品以及我們提供的准入控制器,它允許 IBM 服務以及 IBM 公有云的客戶使用安全策略來控制服務部署。”

現在,在 IBM 公有云中,作為其現有 IBM Cloud Container Registry 的一個元件,Notary 實現的服務已普遍可用,它作為高可用服務部署在五個 IBM Cloud 區域。這個高可用部署在每個五個區域的兩個可用區中都有三個例項,並支援負載均衡和故障轉移。Hough 說:“我們還部署了端到端 TLS 支援,直至我們的後端 IBM Cloudant 持久儲存服務。”

IBM 團隊建立並開源了一個名為 Portieris 的 Kubernetes 准入控制器,它結合 Notary 簽名信息和客戶定義的安全性策略來控制映象部署到其叢集中。Hough 說:“我們希望透過使用我們的 Notary 產品來推動 Portieris 的採用。”

IBM 一直是建立和支援開源基金會(包括 CNCF)的關鍵參與者。Todd Moore(IBM 開放技術副總裁)是 CNCF 理事會現任主席,許多 IBM 員工積極參與許多 CNCF 成員專案。

Hough 說:“鑑於此,我們認為 CNCF 是雲原生開源的避風港,為成員專案提供穩定性、永續性和預期的維護——無論其來源供應商或專案是什麼。”由於整個雲原生世界是一個快速發展的領域,有許多相互競爭的供應商和解決方案,他說:“我們認為 CNCF 模型是整個生態系統開放性和公平競爭的仲裁者。”

TUF 和 Notary 都是 CNCF 的一部分,IBM 期望這些功能能夠實現標準化,而不僅僅是簽名和溯源的事實標準。IBM 已決定不僅要使用 Notary,還要在適用的情況下為開源專案做出貢獻。Hough 說:“IBM 員工貢獻了一個 CouchDB 後端來支援我們將 IBM Cloudant 用作持久儲存;並且正在研究 pkcs11 提供程式的通用化,以支援 Yubikey 以外的其他安全硬體裝置。”

該公司還使用了其他 CNCF 專案 containerdEnvoyPrometheusgRPCCNI,並且正在研究 SPIFFESPIRE 以備將來潛在使用。

Hough 對其他希望部署 Notary 或雲原生基礎設施的公司有什麼建議?

他說:“雖然這適用於雲原生基礎設施軟體的許多領域,但我們發現 Notary 的高可用性、多區域部署需要可靠的實現來處理證書管理和輪換。”“正在有新專案應對這些挑戰,包括在 CNCF 內部。我們肯定會密切關注這些進展。我們發現 Notary 社群是一個活躍友好的社群,對變化持開放態度,例如我們增加了用於持久儲存的 CouchDB 後端。”