Important
Always Encrypted with Intel Software Guard Extensions(Intel SGX)enclaves 將於 2027 年 10 月 31 日結束支援。 在此日期前遷移受影響的資料庫。 2027 年 10 月 31 日後,Azure 會自動將仍屬於 DC 系列運算層的資料庫移至支援的標準系列(非 DC)運算層,並啟用虛擬化安全性(VBS)飛地。
本文說明搭配 Intel SGX 安全區域的 Always Encrypted 替代方案,以及各替代方案所需進行的變更。 在選擇替代方案前,請先檢視安全考量。 Intel SGX 與 VBS 隔離區可針對來自訪客作業系統與主機的攻擊提供不同的防護。
開始之前,請確認您可以檢視及修改目標 Azure SQL 邏輯伺服器、資料庫和彈性集區。 PowerShell 的話,安裝 Az PowerShell 模組並登入 Azure。 對於 Azure CLI,安裝 Azure CLI 並登入 Azure。 盤點連線至受影響資料庫的應用程式,以便您在移轉期間更新其驅動程式、連線字串和證明相關設定。
識別使用 DC 系列的資料庫
在規劃遷移前,先找出所有使用 DC-series 的獨立資料庫和彈性池。 DC 系列彈性池中的每個資料庫都會受到影響。
- 在 Azure portal 裡,前往你的 Azure SQL 邏輯伺服器。
- 在 概覽 頁面,尋找 可用資源。 此表格列出邏輯伺服器上的資料庫。
- 在 「定價層級 」欄位中,選擇篩選條件,然後篩選 DC 系列。
- 記錄篩選後清單中的每個資料庫。 這些資料庫使用 DC 系列和 Intel SGX 飛地。
- 對你環境中每台承載 Azure SQL 資料庫的邏輯伺服器重複這些步驟。
選擇遷移路徑
選擇符合工作負載的安全性需求與應用程式需求的遷移路徑。 以下列比較作為起點,並在進行正式環境變更前,先詳閱所選路徑的詳細指引。
| 遷移路徑 | 當…時使用此選項 | Attestation |
|---|---|---|
| 具有 VBS 飛地的 Azure SQL Database | 你想繼續使用 Azure SQL Database,且 VBS enclaves 符合你的安全需求。 | Azure SQL 資料庫中的 VBS 區域不支援證明。 |
| SQL Server on an Azure confidential VM with VBS enclaves | 你需要一個硬體強制的邊界,幫助保護來賓作業系統免於主機操作員存取。 | Host Guardian Service (HGS) 證明為可選。 |
將單一資料庫遷移至 VBS 安全隔離區
使用此路徑保留 Azure SQL Database 中啟用 enclave 的能力。
- 選擇符合您工作負載效能與可用性需求的 標準系列(非 DC)硬體配置。
- 將資料庫移至所選的硬體組態。
-
啟用資料庫的 VBS 飛地。 啟用 VBS 飛地會將資料庫的
preferredEnclaveType屬性設為VBS。 - 請在 無證明的情況下檢視 VBS enclaves 的用戶端驅動程式需求,必要時更新你的應用程式驅動程式。
- 將每個應用程式連線更新為使用
None飛地證明通訊協定,並移除 Microsoft Azure 證明 的 URL。 連接字串的關鍵字具體取決於客戶端驅動程式。 - 完成 遷移後驗證。
將彈性池遷移到 VBS enclaves
彈性池中的所有資料庫都會繼承池的飛區配置。 使用此路徑來保留 Azure SQL 彈性集區中資料庫的安全記憶體保護區啟用功能。
- 選擇符合效能與可用性需求的標準系列(非直流)配置。 關於更改池組設定的資訊,請參見「管理 Azure SQL Database 中的彈性池」。
-
啟用彈性池的 VBS 隔塊。 啟用 VBS 隔離區會將
preferredEnclaveType集區屬性設為VBS。 - 請審閱 不含證明的 VBS 飛地用戶端驅動程式需求,並在必要時更新您的應用程式驅動程式。
- 更新每個應用程式連線以使用
Noneenclave attestation 協議,並移除 Microsoft Azure 證明 URL。 連接字串的關鍵字具體取決於客戶端驅動程式。 - 完成池中每個資料庫的 遷移後驗證 。
Migrate to SQL Server on a Azure confidential VM
如果您需要由硬體強制執行的界線,以協助保護來賓作業系統免受主機操作員存取,請考慮此路徑。 Azure 機密虛擬機會加密 VM 記憶體,並提供與 Intel SGX 飛地不同的安全屬性。 根據您的安全與合規需求,評估這些差異。
- 將 SQL Server 部署至 Azure 機密虛擬機器。
- 選擇是否使用飛區認證:
- 依照您選擇的證明選項指引,在 SQL Server 實例上設定 Always Encrypted with VBS enclaves。
- 規劃資料庫、登入帳戶、金鑰、應用程式連線及相依資源的移轉。
- 請根據資料庫大小、網路組態、停機時間需求及支援的資料庫物件,選擇資料移轉選項。 常見的選項包括:
- Azure Data Factory:使用複製活動,並將 Azure SQL Database 連接器作為來源,SQL Server 連接器作為接收端。 ADF 將 Always Encrypted 欄位視為二進位或密文值,並可移動它們而無需存取欄位主金鑰。
- 智慧批量複製:使用智慧批量複製將 Azure SQL Database 的結構與資料複製到 SQL Server。 遷移前請先檢視工具的前置條件與限制。
- BACPAC:考慮為較小的資料庫設計 BACPAC,其物件由資料層應用程式支援。 Always Encrypted 資料在匯出與匯入時保持加密狀態,BACPAC 也包含 Always Encrypted 金鑰元資料。 欲了解更多資訊,請參閱 《使用 Always Encrypted 匯出和匯入資料庫》、《匯出 BACPAC 檔案》及 《匯入 BACPAC 檔案以建立新資料庫》。
- 更新 SQL Server 實例及所選證明選項的應用程式連接字串。
- 完成移轉後驗證。
驗證遷移
在將工作負載移轉至生產環境之前:
- 確認應用程式在啟用 Always Encrypted 時可連線。
- 執行使用加密資料行的代表性查詢,包括在目標環境使用安全記憶體保護區時需要進行保護區計算的查詢。
- 確認對加密欄位進行的插入、更新、刪除以及索引操作是否如預期運作。
- 測試應用程式效能,並在必要時調整目標運算配置。
- 測試您的營運持續、災難復原及故障轉移程序。 如果工作負載使用已啟用安全記憶體保護區的作業,則所有資料庫副本都必須支援安全記憶體保護區。
- 在完成切換作業前,請監視應用程式是否出現 enclave、attestation 和查詢錯誤。