SQL TDE 與 Azure Key Vault 受管 HSM 的跨區域韌性

Azure SQL 受控執行個體
Azure Key Vault

解決方案構想

本文說明解決方案概念。 您的雲端架構師可以使用本指南,協助視覺化此架構的一般實作的主要元件。 以本文為起點,設計符合您工作負載具體要求的完善解決方案。

此解決方案描述 Azure SQL 受控實例的安全且復原的部署模式。 它強調如何使用 Azure Key Vault 受控 HSM 來儲存客戶管理的透明數據加密 (TDE) 保護裝置密鑰。

建築

顯示安全且具復原性 SQL 受控實例架構的圖表。

該圖分為三個部分:主要區域、次要區域及全球資源區域。 每個區域包含兩個子網,且這些區域是相同的。 每個區域的每個子網都被包圍在虛擬網路中。 每個子網頂端都有資源群組圖示。 每個子網路都有一個網路安全群組。 每個區域中的一個子網包含跨可用性區域部署的 SQL 受管理執行個體,以及子網路邊界的 Azure 原則。 每個區域的另一個子網包含一個受管 HSM 私有端點、一個第二個私有端點、一個負載平衡器,以及一個子網外的受管型 HSM 池。 每個區域左側有一個用於託管 HSM 的私人 DNS 區域圖示。 全域資源區塊包含 Traffic Manager。 Log Analytics 工作區位於這兩個區域之間。 箭頭會從每個區域的受管理 HSM 池中指向這個工作區。 五個編號步驟標示工作流程。 在步驟 1 中,代表跨區域資料複製的箭頭會將主要區域的 SQL 受管理執行個體 連接到次要區域的 SQL 受管理執行個體。 在步驟 2 中,一個代表跨區域複製的箭頭會將主區域的託管 HSM 池連接到次級區域的託管 HSM 池。 步驟3標示為資料平面。 在此步驟中,每個區域都會有一個箭頭顯示從 SQL 受管理執行個體 經由受管理 HSM 私有端點流向流量管理器的流量。 在步驟 4 中,Traffic Manager 會重新導向最近的 Managed HSM:Traffic Manager 點的箭頭指向每個區域的 Managed HSM 池。 步驟 5 標示為管理平面。 在此步驟中,每個區域都會有一個箭頭顯示 SQL 受管理執行個體 直接向 Traffic Manager 發送管理平面請求。

下載此架構的 Visio 檔案。

Workflow

下列工作流程對應至上圖:

  1. 主要 SQL 管理實例上的故障轉移群組會將所有使用者資料庫複製到另一個區域的次要 SQL 管理實例進行災難復原。

  2. 受控 HSM 已設定跨區域集區。 此池會自動將關鍵資料與權限複製到次級區域的保險庫。

  3. 來自 SQL 受控實例的數據平面流量會流經受控 HSM 的私人端點。

  4. Managed HSM 使用 Microsoft 管理的 Azure 流量管理員 實例,將流量路由到最近的運作中保險庫。

  5. 如果受控實例需要檢查密鑰的許可權,它會透過 Azure 骨幹網路傳送管理平面要求。

元件

  • SQL 受管理執行個體 是一個平台即服務(PaaS)服務,幾乎完全相容於最新的 SQL Server Enterprise Edition 資料庫引擎。 它提供原生虛擬網路實作,可改善安全性,併為現有的SQL Server 客戶提供有益的商務模型。 您可以使用 SQL 受控實例,將內部部署應用程式移轉至雲端,對應用程式和資料庫進行最少的修改。

    SQL 受管理執行個體 也提供完整的 PaaS 功能,包括自動修補與版本更新、自動備份及業務持續性功能。 這些功能可大幅降低管理額外負荷和總擁有成本。 在此架構中,SQL 受控實例是使用 TDE 保護裝置密鑰的資料庫。

  • 受控 HSM 是完全受控的雲端服務,可提供高可用性、單一租戶,以及符合業界標準。 受控 HSM 的設計目的是保護雲端應用程式的密碼編譯密鑰。 它使用聯邦資訊處理標準140-3級三級驗證的HSM。 託管 HSM 是 Azure 中多種金鑰管理解決方案之一。 在此架構中,受控 HSM 會安全地儲存 TDE 保護裝置密鑰,並提供跨區域復原功能。

  • Azure 私有端點提供從虛擬網路到服務的私有 IP 路徑,如 Azure 儲存體、Azure SQL Database 和 金鑰保存庫。 在此架構中,請在受管型 HSM 中停用公共網路存取,並在兩個區域使用私人端點,以確保資料平面流量留在 Microsoft 骨幹網路上。

  • Azure 私用 DNS 提供私有端點的名稱解析,使虛擬網路內的資源能私密存取Azure服務。 建立專用端點時,會自動在連結的專用 DNS 區域中註冊對應的網域名稱系統 (DNS) 記錄。 私人 DNS 區域可確保服務流量會保留在 Azure 骨幹網路內。 這種方法可避免公開公用因特網,藉此改善安全性、效能和合規性。 如果發生區域服務中斷,Azure 私人 DNS 會為受控 HSM 提供原生跨區域名稱解析復原功能。 在此架構中,服務會使用 Azure 私人 DNS 透過其專用網位址彼此通訊。

  • Azure 原則 透過比較資源與 Azure 中的資源與動作與商業規則來評估這些資源與動作。 這些以 JSON 格式描述的商務規則稱為原則定義。 針對此解決方案,請使用 Azure 原則 在建立或更新 Azure SQL 資料庫或 Azure SQL 管理實例時,依照文件指引強制客戶管理的 TDE。

  • Log Analytics Workspace 是一個資料儲存庫,你可以從所有 Azure 及非 Azure 資源和應用程式中收集任何類型的日誌資料。 工作區組態選項可讓您在一個工作區中管理所有記錄資料,以滿足組織中不同角色的作業、分析和稽核需求。 此解決方案中,Log Analytics 工作空間從 Managed HSM 接收完整的日誌與遙測資料。

案例詳細資料

在此解決方案中,工作負載團隊希望在確保所需服務完整運作的同時,達成嚴格的服務水準目標(SLO)門檻。 為了達成此目標,他們會使用 SQL 受控實例搭配客戶管理的 TDE 保護裝置密鑰。 金鑰儲存在一個支援所使用區域並符合所有合規與安全要求的託管 HSM 池中。 同時也強制執行私有端點存取以限制網路暴露。

在跨區域災難復原中,通常偏好使用客戶管理的故障轉移策略的故障轉移群組,以便客戶控制故障轉移時序。 故障轉移群組會將使用者資料庫作為一個整體複製,因此相關的實例層級物件與設定需要分別同步。

潛在應用情境

  • 一個組織使用兩個成對或非配對區域。 主要的 SQL 管理實例位於一個區域,並設定故障轉移群組將其與次要區域的 SQL 管理實例連接。

    此設計使用故障轉移群組的監聽器端點,使應用程式在故障轉移時能保持穩定的連線字串。 故障轉移群組會在地理故障轉移後自動更新監聽者的 DNS 紀錄。 但觀察到的重連時間取決於客戶端的 DNS 快取 TTL 以及應用程式的重試邏輯。

  • 組織在主要區域使用受管理的 HSM 實例,並在次要區域使用跨區域副本。 啟用跨區域複本時,會建立流量管理員實例。 如果兩個保險庫都在運作,則由 Traffic Manager 實例將流量路由到本地保險庫;如果其中一個保險庫無法使用,則路由到運作中的保險庫。

    關鍵資料與權限的複製是非同步的,可能需要 數分鐘。 初始擴展到次要區域會需要額外的配置時間。 在最終確定韌性設計前,先驗證目標區域內的託管 HSM 可用性與容量。

  • 組織會使用兩個自訂 DNS 區域,支援每個區域的受管 HSM 實例的私有端點。

    在多區域部署中,每個區域的私有端點與私有 DNS 整合有助於將名稱解析與資料平面流量維持在該區域內。

  • 組織利用客戶管理的金鑰在使用者資料庫啟用 TDE,並將保護金鑰儲存在 Managed HSM 中。

貢獻者們

本文由 Microsoft 維護。 下列參與者撰寫本文。

主要作者:

若要查看非公開的 LinkedIn 個人檔案,請登入 LinkedIn。

後續步驟