瞭解如何建立 OCI 函數的安全容器映像檔
在此解決方案手冊中,我們會分享最佳實務,以安全地為 Docker 登錄建立映像檔。
架構
預設的 Dockerfile 是從基準影像 (fnproject/python:3.9-dev) 建立的,而且可能遺漏最新版本的相依套裝軟體。
以下是容器映像檔掃描的重要原因,如果偵測到任何漏洞,必須進行修正:
- 提前偵測:在組建階段掃描映像檔可協助識別漏洞,然後再將它們部署到實際執行中。
- 符合成本效益:早期修正漏洞的成本比部署後修正漏洞的成本低。
- 減少攻擊面:容器映像檔由多個層組成,每個層都可能包含漏洞。掃描有助於識別及解決這些漏洞。
- 改善安全態勢:使用受信任來源的最小、維護良好的基礎影像,有助於改善安全態勢。
下圖說明此參考架構使用預設 Dockerfile 的工作流程。
build-container-image-oci-functions-default-docker.zip
下圖說明此參考架構使用自訂 Dockerfile 的工作流程。
build-container-image-oci-functions-custom-docker.zip
此架構支援下列元件:
- 地區
Oracle Cloud Infrastructure 區域是一個本地化地理區域,其中包含一或多個稱為可用性網域的資料中心。區域獨立於其他區域,而廣大的距離可以將其分開 (跨國家或大陸)。
- Tenancy
租用戶是 Oracle 在您註冊 Oracle Cloud Infrastructure 時設定在 Oracle Cloud 內的安全隔離分割區。您可以在租用戶內的 Oracle Cloud 中建立、組織及管理您的資源。租用戶與公司或組織同義。通常,公司會擁有單一租用戶,並在該租用戶內反映其組織結構。單一租用戶通常與單一訂閱相關聯,單一訂閱通常只有一個租用戶。
- 登錄
Oracle Cloud Infrastructure Registry 是 Oracle 管理的登錄檔,可讓您簡化開發到生產的工作流程。「登錄」可讓您輕鬆儲存、共用及管理開發使用者自建物件,例如 Docker 映像檔。Oracle Cloud Infrastructure 的高可用性且可擴展的架構可確保您能夠可靠地部署和管理應用程式。
- 功能
Oracle Cloud Infrastructure Functions 是一個完全託管的多租戶、高度可擴充、隨選、Functions-as-a-Service (FaaS) 平台。由 Fn Project 開放原始碼引擎提供技術支援。Functions 可讓您部署程式碼,並直接呼叫程式碼或觸發程式碼以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。
- 串流處理
Oracle Cloud Infrastructure 串流提供完全託管、可擴展且持久的儲存解決方案,擷取連續的大量資料串流,您可以即時使用及處理。您可以使用「串流處理」來擷取大量資料 (例如應用程式日誌、作業遙測、Web 按一下串流資料);或其他在發布 / 訂閱訊息傳遞模型中以持續且循序方式產生及處理資料的使用案例。
- 漏洞掃描服務
Oracle Cloud Infrastructure 漏洞掃描服務會定期檢查連接埠和主機是否有潛在漏洞,協助改善 Oracle Cloud 中的安全態勢。此服務會產生包含這些漏洞相關度量和詳細資訊的報表。