數據加密模型

瞭解各種加密模型及其優缺點,對於瞭解 Azure 中各種資源提供者如何實作待用加密至關重要。 這些定義會跨 Azure 中的所有資源提供者共用,以確保通用語言和分類法。

伺服器端加密有三種案例:

  • 使用服務管理的金鑰進行伺服器端加密

    • Azure 資源提供者會執行加密和解密作業
    • Microsoft 管理金鑰
    • 完整的雲端功能
  • 在 Azure 金鑰保存庫 中使用客戶管理的金鑰進行伺服器端加密

    • Azure 資源提供者會執行加密和解密作業
    • 客戶透過 Azure 金鑰保存庫 控制金鑰
    • 完整的雲端功能
  • 在客戶控制的硬體上使用客戶自控密鑰進行伺服器端加密

    • Azure 資源提供者會執行加密和解密作業
    • 客戶控制客戶控制硬體上的金鑰
    • 完整的雲端功能

伺服器端加密模型是指 Azure 服務所執行的加密。 在該模型中,資源提供者會執行加密和解密作業。 例如,Azure 儲存體 可能會在純文本作業中接收數據,並在內部執行加密和解密。 資源提供者可能會根據提供的組態,使用由 Microsoft 或客戶管理的加密密鑰。

Server

每個伺服器端待用加密模型都表示密鑰管理的獨特特性。 這包括建立加密金鑰的位置和方式,以及存取模型和金鑰輪替程式。

針對用戶端加密,請考慮下列事項:

  • Azure 服務看不到解密的數據
  • 客戶管理及儲存內部部署金鑰(或其他安全存放區)。 Azure 服務無法使用密鑰
  • 減少雲端功能

Azure 中支援的加密模型分成兩個主要群組:「用戶端加密」和「伺服器端加密」,如先前所述。 與所使用的待用加密模型無關,Azure 服務一律建議使用安全傳輸,例如 TLS 或 HTTPS。 因此,傳輸中的加密應該由傳輸通訊協議處理,而且不應該是判斷要使用的待用加密模型的主要因素。

用戶端加密模型

用戶端加密模型是指服務或呼叫應用程式在資源提供者或 Azure 外部執行的加密。 加密可以由 Azure 中的服務應用程式或客戶資料中心內執行的應用程式來執行。 在任一情況下,利用此加密模型時,Azure 資源提供者會收到加密的數據 Blob,而無法以任何方式解密數據,或存取加密密鑰。 在此模型中,金鑰管理是由呼叫服務/應用程式所完成,而且對 Azure 服務不透明。

Client

使用服務管理的金鑰進行伺服器端加密

對於許多客戶來說,基本需求是確保數據在待用時加密。 使用服務管理金鑰的伺服器端加密可讓客戶標記特定資源(儲存體 帳戶、SQL DB 等)進行加密,並保留金鑰發行、輪替和備份至 Microsoft 等所有密鑰管理層面,藉此啟用此模型。 大部分支援待用加密的 Azure 服務通常會支援將加密金鑰管理卸除至 Azure 的此模型。 Azure 資源提供者會建立密鑰、將它們放在安全記憶體中,並在需要時加以擷取。 這表示服務具有密鑰的完整存取權,而服務可完全控制認證生命週期管理。

managed

因此,使用服務管理的密鑰進行伺服器端加密,可快速解決對客戶有低負荷進行待用加密的需求。 當客戶通常會開啟目標訂用帳戶和資源提供者的 Azure 入口網站,並核取指出的方塊時,他們想要加密數據。 在某些 Resource Manager 伺服器端加密中,使用服務管理的密鑰預設為開啟。

使用 Microsoft 管理的金鑰進行伺服器端加密,這表示服務具有儲存和管理金鑰的完整存取權。 雖然有些客戶可能會想要管理密鑰,因為它們覺得他們獲得更大的安全性,但評估此模型時,應該考慮與自定義密鑰記憶體解決方案相關聯的成本和風險。 在許多情況下,組織可能會判斷內部部署解決方案的資源限制或風險可能大於雲端管理待用密鑰的風險。 不過,此模型可能不足以讓需要控制加密密鑰的建立或生命週期的組織,或讓不同的人員管理服務的加密密鑰,而不是管理服務的加密金鑰(也就是將密鑰管理與服務的整體管理模型隔離)。

金鑰存取權

使用伺服器端加密與服務管理的密鑰時,金鑰建立、記憶體和服務存取全都由服務管理。 一般而言,基礎 Azure 資源提供者會將數據加密金鑰儲存在靠近數據的存放區中,並在密鑰加密金鑰儲存在安全的內部存放區中時,快速取得和存取。

優點

  • 簡單設定
  • Microsoft 管理密鑰輪替、備份和備援
  • 客戶沒有與實作或自定義密鑰管理配置風險相關聯的成本。

缺點

  • 客戶無法控制加密金鑰(金鑰規格、生命週期、撤銷等)
  • 無法隔離金鑰管理與服務的整體管理模型

在 Azure 金鑰保存庫 中使用客戶管理的金鑰進行伺服器端加密

針對需求是加密待用數據並控制加密密鑰的案例,客戶可以在 金鑰保存庫 中使用客戶自控密鑰來使用伺服器端加密。 某些服務可能只會將根密鑰加密金鑰儲存在 Azure 金鑰保存庫,並將加密的數據加密金鑰儲存在靠近資料的內部位置。 在該案例中,客戶可以將自己的密鑰帶到 金鑰保存庫(BYOK – 攜帶您自己的金鑰),或產生新的密鑰,並使用它們來加密所需的資源。 當資源提供者執行加密和解密作業時,它會使用已設定的金鑰加密金鑰作為所有加密作業的根密鑰。

遺失金鑰加密金鑰表示遺失數據。 基於這個理由,不應該刪除索引鍵。 每當建立或輪替時,都應該備份密鑰。 您必須在任何儲存金鑰加密金鑰的保存庫上啟用虛刪除和清除保護 ,以防止意外或惡意的密碼編譯清除。 建議不要刪除金鑰,而是建議在金鑰加密金鑰上將 啟用為 false。 使用訪問控制來撤銷 Azure 金鑰保存庫受控 HSM 中個別使用者或服務的存取權。

金鑰存取

Azure 金鑰保存庫 中具有客戶自控密鑰的伺服器端加密模型牽涉到服務存取金鑰,以視需要加密和解密。 待用密鑰的加密可透過訪問控制原則存取服務。 此原則會授與服務身分識別存取權,以接收密鑰。 代表相關聯訂用帳戶執行的 Azure 服務可以使用該訂用帳戶中的身分識別來設定。 服務可以執行 Microsoft Entra 驗證,並接收驗證令牌,以識別本身為代表訂用帳戶的服務。 然後,該令牌可以呈現給 金鑰保存庫,以取得其已獲授與存取權的密鑰。

對於使用加密密鑰的作業,服務識別可以授與下列任何作業的存取權:decrypt、encrypt、unwrapKey、wrapKey、verify、sign、get、list、update、create、import、delete、backup 和 restore。

若要取得金鑰以用於加密或解密待用數據,Resource Manager 服務實例執行的服務身分識別必須具有 UnwrapKey(以取得解密密鑰)和 WrapKey(在建立新密鑰時將金鑰插入金鑰保存庫中)。

注意

如需有關 金鑰保存庫 授權的詳細資訊,請參閱 Azure 金鑰保存庫 檔中的安全金鑰保存庫頁面

優點

  • 完全控制所使用的金鑰 – 加密金鑰會在客戶的控制下,在客戶的 金鑰保存庫 中管理。
  • 將多個服務加密至一個主機的能力
  • 可將金鑰管理與服務的整體管理模型區隔
  • 可以跨區域定義服務和金鑰位置

缺點

  • 客戶完全負責金鑰存取管理
  • 客戶完全負責金鑰生命週期管理
  • 其他設定和設定額外負荷

在客戶控制的硬體中使用客戶自控密鑰進行伺服器端加密

某些 Azure 服務會啟用主機您自己的金鑰 (HYOK) 金鑰管理模型。 此管理模式適用於需要加密待用數據,並在 Microsoft 控制外部專屬存放庫中管理金鑰的案例中。 在此模型中,服務必須使用來自外部網站的密鑰來解密數據加密密鑰 (DEK)。 效能和可用性保證會受到影響,而且設定更為複雜。 此外,由於服務在加密和解密作業期間確實能夠存取 DEK,因此此模型的整體安全性保證類似於在 Azure 金鑰保存庫 中管理金鑰時。 因此,除非這些組織有特定的密鑰管理需求,否則此模型不適用於大多數組織。 由於這些限制,大部分的 Azure 服務都不支援在客戶控制的硬體中使用客戶自控密鑰進行伺服器端加密。 雙重金鑰加密中的兩個金鑰之一遵循此模型。

金鑰存取

使用客戶控制硬體中的客戶自控密鑰進行伺服器端加密時,金鑰加密金鑰會保留在客戶設定的系統上。 支援此模型的 Azure 服務提供建立客戶提供金鑰存放區安全連線的方法。

優點

  • 完全控制所使用的根金鑰 – 加密金鑰是由客戶提供的存放區所管理
  • 將多個服務加密至一個主機的能力
  • 可將金鑰管理與服務的整體管理模型區隔
  • 可以跨區域定義服務和金鑰位置

缺點

  • 金鑰記憶體、安全性、效能和可用性的完整責任
  • 金鑰存取管理的完整責任
  • 金鑰生命週期管理的完整責任
  • 重大設定、設定和持續維護成本
  • 增加對客戶數據中心與 Azure 資料中心之間網路可用性的相依性。

支援服務

支援每個加密模型的 Azure 服務:

產品、功能或服務 使用服務管理的金鑰的伺服器端 使用客戶自控金鑰的伺服器端 使用用戶端管理金鑰的用戶端
AI 和 機器學習
Azure AI 搜尋 Yes Yes -
Azure AI 服務 Yes 是,包括受控 HSM -
Azure Machine Learning Yes Yes -
內容仲裁者 Yes 是,包括受控 HSM -
臉部 Yes 是,包括受控 HSM -
Language Understanding Yes 是,包括受控 HSM -
Azure OpenAI Yes 是,包括受控 HSM -
個人化服務工具 Yes 是,包括受控 HSM -
QnA Maker Yes 是,包括受控 HSM -
語音服務 Yes 是,包括受控 HSM -
翻譯工具文字 Yes 是,包括受控 HSM -
Power BI Yes 是,RSA 4096 位 -
分析
Azure 串流分析 Yes 是**,包括受控 HSM -
事件中樞 Yes Yes -
函式 Yes Yes -
Azure Analysis Services Yes - -
Azure 資料目錄 Yes - -
Azure HDInsight Yes Yes -
Azure 監視器 Application Insights Yes Yes -
Azure 監視器 Log Analytics Yes 是,包括受控 HSM -
Azure 資料總管 Yes Yes -
Azure Data Factory Yes 是,包括受控 HSM -
Azure Data Lake Store Yes 是,RSA 2048 位 -
容器
Azure Kubernetes Service Yes 是,包括受控 HSM -
容器執行個體 Yes Yes -
Container Registry Yes Yes -
計算
虛擬機器 Yes 是,包括受控 HSM -
虛擬機器擴展集 Yes 是,包括受控 HSM -
SAP HANA Yes Yes -
應用程式服務 Yes 是**,包括受控 HSM -
自動化 Yes Yes -
Azure Functions Yes 是**,包括受控 HSM -
Azure 入口網站 Yes 是**,包括受控 HSM -
Azure VMware 解決方案 Yes 是,包括受控 HSM -
Logic Apps Yes Yes -
Azure 受控應用程式 Yes 是**,包括受控 HSM -
服務匯流排 Yes Yes -
Site Recovery Yes Yes -
資料庫
虛擬機器上的 SQL Server Yes .是
Azure SQL Database Yes 是,RSA 3072 位,包括受控 HSM Yes
Azure SQL 受控執行個體 Yes 是,RSA 3072 位,包括受控 HSM Yes
適用於 MariaDB 的 Azure SQL 資料庫 Yes - -
適用於 MySQL 的 Azure SQL Database Yes Yes -
適用於 PostgreSQL 的 Azure SQL Database Yes 是,包括受控 HSM -
Azure Synapse Analytics(僅限專用 SQL 集區(先前稱為 SQL DW) Yes 是,RSA 3072 位,包括受控 HSM -
SQL Server Stretch Database Yes 是,RSA 3072 位 Yes
表格儲存體 Yes .是 Yes
Azure Cosmos DB 是(深入瞭解 是,包括受控 HSM(深入瞭解深入瞭解 -
Azure Databricks Yes 是,包括受控 HSM -
Azure 資料庫移轉服務 Yes N/A* -
身分識別
Microsoft Entra ID Yes - -
Microsoft Entra 網域服務 Yes Yes -
整合
服務匯流排 Yes Yes -
Event Grid Yes - -
API 管理 Yes - -
IoT 服務
IoT 中樞 Yes .是 Yes
IoT 中樞 裝置佈建 Yes Yes -
管理和治理
Azure 受控 Grafana Yes - N/A
Azure Site Recovery Yes - -
Azure Migrate Yes Yes -
媒體
媒體服務 Yes .是 Yes
安全性
適用於 IoT 的 Microsoft Defender Yes Yes -
Microsoft Sentinel Yes 是,包括受控 HSM -
Storage
Blob 儲存體 Yes 是,包括受控 HSM Yes
進階 Blob 儲存體 Yes 是,包括受控 HSM Yes
磁碟儲存體 Yes 是,包括受控 HSM -
Ultra 磁碟儲存體 Yes 是,包括受控 HSM -
受控磁碟儲存體 Yes 是,包括受控 HSM -
檔案儲存體 Yes 是,包括受控 HSM -
檔案 進階儲存體 Yes 是,包括受控 HSM -
檔案同步 Yes 是,包括受控 HSM -
佇列儲存體 Yes 是,包括受控 HSM Yes
Data Lake Storage Gen2 Yes 是,包括受控 HSM Yes
Avere vFXT Yes - -
Azure Cache for Redis Yes N/A* -
Azure NetApp Files Yes .是 Yes
封存儲存體 Yes Yes -
StorSimple Yes .是 Yes
Azure 備份 Yes 是,包括受控 HSM Yes
資料箱 Yes - Yes
資料箱邊緣 Yes Yes -
其他
適用於能源預覽的 Azure Data Manager Yes - Yes

* 此服務不會儲存資料。 暫時性快取,如果有的話,會使用 Microsoft 金鑰加密。

** 此服務支援將資料儲存在您自己的 金鑰保存庫、儲存體 帳戶或其他已支援使用客戶自控密鑰進行伺服器端加密的數據保存服務。

下一步