預讀建議

本文件旨在協助您指導在 Azure 機密運算上,選取最符合工作負載需求和安全性狀態的容器供應項目。 為了充分利用本指南,我們建議您先閱讀以下內容。

Azure 計算決策矩陣

熟悉整體 Azure 計算供應項目,以了解 Azure 機密運算運作的的更廣泛內容。

Azure 機密運算簡介

Azure 機密運算提供的解決方案,可讓您在雲端處理敏感性資料時加以隔離。 您可以在 Azure 機密運算深入了解機密運算的相關資訊。

證明

證明是一個程序,可提供執行應用程式之軟硬體環境完整性和身分識別的保證。 在機密運算中,證明允許您驗證您的應用程式是否在受信任的硬體和受信任的執行環境中執行。

若要深入了解證明和 Microsoft Azure 證明服務,請參閱 Azure 中的證明

記憶體隔離的定義

在機密運算中,記憶體隔離是在處理過程中保護資料的重要功能。 機密運算聯盟將記憶體隔離定義為:

「記憶體隔離是指防止未經授權存取記憶體中資料的能力,即使攻擊者入侵操作系統或其他特殊許可權軟體也一樣。 這是藉由使用硬體型功能為機密工作負載建立安全且隔離的環境來達成。」

選擇 Azure 機密運算上的容器供應項目

Azure 機密運算提供了各種容器部署和管理解決方案,每個解決方案都針對不同等級的隔離和證明功能量身打造。

您目前的設定和作業需求會決定本文件中最相關的路徑。 如果您已經使用 Azure Kubernetes Service (AKS) 或具有 Kubernetes API 的相依性,建議您遵循 AKS 路徑。 另一方面,如果您要從虛擬機器設定轉換,而且有興趣探索無伺服器容器,那麼 ACI (Azure 容器執行個體) 路徑應該會引起您的興趣。

Azure Kubernetes Service (AKS)

機密 VM 背景工作角色節點

  • 客體證明:能夠確認您是否在 Azure 提供的機密虛擬機器上進行操作。
  • 記憶體隔離:VM 層級隔離,每個 VM 具有唯一的記憶體加密金鑰。
  • 程式設計模型:容器化應用程式的零到最小變更。 支援僅限於以 Linux 為基礎的容器 (使用 Linux 基礎映像作為容器的容器)。

您可以在開始使用 CVM 背景工作角色節點,並將工作負載隨即轉移至 CVM 節點集區找到詳細資訊。

AKS 上的機密容器

  • 完整客體證明:支援對包括工作負載在內的完整機密運算環境進行證明。
  • 記憶體隔離:節點層級隔離,每個 VM 具有唯一的記憶體加密金鑰。
  • 程式設計模型:容器化應用程式的零到最小變更 (使用 Linux 基礎映像作為容器的容器)。
  • 理想的工作負載:具有敏感資料處理、多方計算和法規合規性需求的應用程式。

您可以在使用 Azure Kubernetes Service 的機密容器中找到詳細資訊。

使用 Intel SGX 的機密運算節點

  • 應用程式記憶體保護區證明:在 VM 不受信任但僅應用程式受信任的情況下,啟用對執行中容器的證明,確保應用程式執行環境中的安全性和信任程度提高。
  • 隔離:程序層級隔離。
  • 程式設計模型:需要使用開放原始碼程式庫 OS 或廠商解決方案來執行現有的容器化應用程式。 支援僅限於以 Linux 為基礎的容器 (使用 Linux 基礎映像作為容器的容器)。
  • 理想的工作負載:高安全性應用程式,例如金鑰管理系統。

您可以在此處找到有關該供應項目和我們的合作夥伴解決方案的更多資訊。

無伺服器

Azure 容器執行個體 (ACI) 上的機密容器

  • 完整客體證明:支援對包括工作負載在內的完整機密運算環境進行證明。
  • 隔離:容器群組層級隔離,每個容器群組具有唯一的記憶體加密金鑰。
  • 程式設計模型:容器化應用程式的零到最小變更。 支援僅限於以 Linux 為基礎的容器 (使用 Linux 基礎映像作為容器的容器)。
  • 理想的工作負載:快速開發和部署簡單的容器化工作負載,而不需要協調流程。 支援使用虛擬節點從 AKS 進行高載。

您可以在 ACI 上的機密容器快速入門中找到更多詳細資訊。

深入了解

Azure 上的 Intel SGX 機密虛擬機器Azure 上的機密容器