設計可管理祕密、金鑰與憑證的解決方案

已完成

在 Azure 中,加密金鑰可以是平台代控或客戶自控。

平台代控金鑰 (PMK) 是完全由 Azure 產生、儲存及管理的加密金鑰。 客戶不會與 PMK 互動。 例如,用於 Azure 資料待用加密的金鑰預設為 PMK。

另一方面,客戶自控金鑰 (CMK) 是可由一或多個客戶讀取、建立、刪除、更新及/或管理的金鑰。 儲存在客戶自有金鑰保存庫或硬體安全模組 (HSM) 中的金鑰是 CMK。 攜帶您自己的金鑰 (BYOK) 是 CMK 案例,其中客戶會將金鑰從外部儲存位置匯入 (帶入) Azure 金鑰管理服務 (請參閱 Azure Key Vault:攜帶您自己的金鑰規格 (機器翻譯))。

「金鑰加密金鑰」(KEK) 是一種特定的客戶自控金鑰。 KEK 是主要金鑰,可控制對一或多個本身加密之加密金鑰的存取。

客戶自控金鑰可以儲存在內部部署或更常見的雲端金鑰管理服務中。

Azure 金鑰管理服務

Azure 提供數個選項來儲存和管理雲端中的金鑰,包括 Azure Key Vault、Azure 受控 HSM、專用 HSM 和付款 HSM。 這些選項在 FIPS 合規性層級、管理負擔和預定應用程式方面有所不同。

Azure Key Vault (標準層):經過 FIPS 140-2 層級 1 驗證的多租用戶雲端金鑰管理服務,也可用來儲存祕密和憑證。 儲存在 Azure Key Vault 中的金鑰受到軟體保護,可用於待用加密和自訂應用程式。 Key Vault 提供現代化 API 和最廣泛的區域部署,並與 Azure 服務整合。 如需詳細資訊,請參閱關於 Azure Key Vault (機器翻譯)。

Azure Key Vault (進階層):經過 FIPS 140-2 層級 2 驗證的多租用戶 HSM 供應項目,可用來將金鑰儲存在安全的硬體界限中。 Microsoft 會管理及操作基礎 HSM,而儲存在 Azure Key Vault 進階版中的金鑰可用於待用加密和自訂應用程式。 Key Vault 進階版也提供現代化 API 和最廣泛的區域部署,並與 Azure 服務整合。 如需詳細資訊,請參閱關於 Azure Key Vault (機器翻譯)。

Azure 受控 HSM:經過 FIPS 140-2 層級 3 驗證的單一租用戶 HSM 供應項目,可讓客戶完全控制待用加密、無金鑰 TLS 和自訂應用程式的 HSM。 客戶會收到由三個 HSM 分割區組成的集區,可共同作為一個邏輯、高可用性 HSM 設備,並以透過 Key Vault API 公開加密功能的服務為前端。 Microsoft 會處理 HSM 的佈建、修補、維護和硬體容錯移轉,但無法存取金鑰本身,因為服務會在 Azure 的機密計算基礎結構內執行。 受控 HSM 與 Azure SQL、Azure 儲存體和 Azure 資訊保護 PaaS 服務整合,並提供搭配 F5 和 Nginx 的無金鑰 TLS 支援。 如需詳細資訊,請參閱什麼是 Azure Key Vault 受控 HSM?(機器翻譯)

Azure 專用 HSM:經過 FIPS 140-2 層級 3 驗證的裸機 HSM 供應項目,可讓客戶租用位於 Microsoft 資料中心的一般用途 HSM 設備。 客戶擁有 HSM 裝置的完整和整體擁有權,並負責在必要時修補和更新韌體。 Microsoft 沒有裝置權限或金鑰資料存取權,且專用 HSM 未與任何 Azure PaaS 供應項目整合。 客戶可以使用 PKCS#11、JCE/JCA 和 KSP/CNG API 與 HSM 互動。 此供應項目最適用於舊版隨即轉移工作負載、PKI、SSL 卸載和無金鑰 TLS (支援的整合包括 F5、Nginx、Apache、Palo Alto、IBM GW 等)、OpenSSL 應用程式、Oracle TDE 以及 Azure SQL TDE IaaS。 如需詳細資訊,請參閱什麼是 Azure Key Vault 受控 HSM?(機器翻譯)

Azure 付款 HSM:經過 FIPS 140-2 層級 3、PCI HSM v3 驗證的裸機供應項目,可讓客戶租用 Microsoft 資料中心的付款 HSM 設備進行付款作業,包括付款處理、付款認證發行、保護金鑰和驗證資料,以及敏感性資料保護。 此服務符合 PCI DSS 和 PCI 3DS 規範。 Azure 付款 HSM 提供單一租用戶 HSM,讓客戶擁有 HSM 的完整管理控制和獨佔存取權。 將 HSM 配置給客戶之後,Microsoft 便無法存取客戶資料。 同樣地,當不再需要 HSM 時,客戶資料會在 HSM 發行後立即歸零並清除,以確保維護完整的隱私權和安全性。 如需詳細資訊,請參閱關於 Azure 付款 HSM (機器翻譯)。

如需您可以在金鑰保存庫中使用之祕密、金鑰與憑證類型的概觀,請參閱 Azure Key Vault 的金鑰、祕密與憑證概觀 (機器翻譯)

使用 Key Vault 的最佳做法

使用個別的金鑰保存庫

建議針對每個區域中每個環境 (開發、生產前和生產環境) 的每個應用程式使用個別的保存庫。 這可協助您不會跨環境和區域分享祕密。 其也會在出現缺口時減少威脅。

為何建議使用個別的金鑰保存庫

金鑰保存庫會定義所儲存祕密的安全性界限。 將祕密分組成相同的保存庫會增加安全性事件的「爆炸半徑」,因為攻擊能夠無需顧慮存取祕密。 若要緩解無需顧慮的存取,請考慮特定應用程式「應該」可以存取哪些祕密,然後根據此描述來分隔您的金鑰保存庫。 依應用程式分隔金鑰保存庫是最常見的界限。 不過,對於大型應用程式而言,安全性界限可能更細微 (例如每個相關服務群組)。

控制對保存庫的存取

加密金鑰和祕密 (例如憑證、連接字串和密碼) 具敏感性和業務關鍵性。 您必須藉由只允許授權的應用程式和使用者,來保護金鑰保存庫的存取。 Azure Key Vault 安全性功能提供 Key Vault 存取模型的概觀。 其中說明驗證和授權, 也說明如何保護金鑰保存庫的存取。

控制保存庫存取的建議如下:

  • 鎖定對訂閱、資源群組和金鑰保存庫的存取 (角色型存取控制 (RBAC))。
  • 建立每個保存庫的存取原則。
  • 使用最低權限存取原則來授與存取權。
  • 開啟防火牆及虛擬網路服務端點

開啟保存庫的資料保護

開啟清除保護,以便防範祕密和金鑰保存庫遭到惡意或意外刪除,即使在開啟虛刪除之後也是。

如需詳細資訊,請參閱 Azure Key Vault 虛刪除概觀 (機器翻譯)

開啟記錄功能

開啟保存庫的記錄。 此外,設定警示

Backup

清除保護可防止保存庫物件遭到惡意和意外刪除長達 90 天。 在清除保護不可行的情況下,我們建議備份保存庫物件,這些物件 (例如保存庫內產生的加密金鑰) 無法從其他來源重新建立。

如需備份的詳細資訊,請參閱 Azure Key Vault 備份與還原 (機器翻譯)

多租用戶解決方案和 Key Vault

多租用戶解決方案建置在其元件可用來為多個客戶或租用戶提供服務的架構上。 多租用戶解決方案通常用於支援軟體即服務 (SaaS) 解決方案。 如果您要建置包含 Key Vault 的多租用戶解決方案,請檢閱多租用戶和 Azure Key Vault (機器翻譯)。