適用於:Azure SQL 資料庫
在 Azure SQL 資料庫中,具有安全記憶區的 Always Encrypted 可以使用 Intel Software Guard Extensions (Intel SGX) 記憶區或以虛擬化為基礎的安全性 (VBS) 記憶區。
重要
Always Encrypted with Intel Software Guard Extensions(Intel SGX)enclaves 將於 2027 年 10 月 31 日結束支援。 在此日期前遷移受影響的資料庫。 2027 年 10 月 31 日後,Azure 會自動將仍屬於 DC 系列運算層的資料庫移至支援的標準系列(非 DC)運算層,並啟用虛擬化安全性(VBS)飛地。 關於遷移選項,請參閱 《Always Encrypted with Intel SGX enclaves》遷移指南。
Intel SGX 記憶體保護區
Intel SGX 是以硬體為基礎的受信任執行環境技術。 這可在利用 vCore 購買模型和 DC 系列硬體設定的資料庫和彈性集區中使用。 若要讓資料庫或彈性集區使用 Intel SGX 記憶體保護區,必須在建立資料庫或彈性集區時選取 DC 系列硬體設定,或者可以更新現有的資料庫或彈性集區以使用 DC 系列硬體。
注意
只有 DC 系列硬體支援 Intel SGX。 例如,Intel SGX 不適用於 標準系列 (Gen5) 硬體組態,而且無法使用 DTU 購買模型的資料庫。
相較於 VBS 記憶體保護區,將 Intel SGX 記憶體保護區與 Microsoft Azure 證明所提供的證明結合,能提供更強大的防護,以防止具有 OS 層級管理員存取權的執行者攻擊。 然而,在為資料庫設定 DC 系列硬體之前,請先了解其效能特性和限制:
- 不同於 vCore 購買模型中的其他硬體組態,DC 系列使用的是實體處理器核心,而非邏輯核心。 DC 系列資料庫的資源限制與標準系列 (Gen 5) 硬體組態的資源限制不同。
- 您可以為 DC 系列資料庫設定的處理器核心數目上限為 40。
- DC 系列不支援無伺服器。
此外,請檢查 DC 系列目前的區域可用性,並確定可在您慣用的區域中使用。 如需詳細資料,請參閱 DC-series。
建議針對需要最強資料機密性保護,且可符合 DC 系列目前限制的工作負載使用 SGX 記憶體保護區。
VBS 安全區域
VBS 隔離區(也稱為虛擬安全模式 (VSM) 隔離區)是一種以軟體為基礎的技術,依賴 Windows 虛擬機器監控程式,且不需要任何特殊硬體。 因此,VBS 安全記憶體保護區適用於所有 Azure SQL Database 供應項目,包括 Azure SQL 彈性集區,讓您能夠彈性使用搭配安全記憶體保護區的 Always Encrypted,並選擇最符合工作負載需求的計算大小、服務層級、購買模式、硬體設定和區域。
注意
VBS 安全記憶體區適用於所有 Azure SQL 資料庫區域,Jio 印度中部除外。
VBS 記憶體保護區是建議的解決方案,適用於尋求保護使用中的資料,防止客戶組織中的高權限使用者存取該資料的客戶,包括資料庫管理員 (DBA)。 若沒有保護資料的密碼編譯金鑰,DBA 將無法以明文形式存取資料。
VBS enclave 也有助於防範某些 OS 層級的威脅,例如從執行您的資料庫的 VM 內的記憶體傾印中擷取敏感資料。 在安全區域中處理的明文資料不會出現在記憶體傾印中,前提是安全區域內的程式碼及其屬性未遭到惡意竄改。 不過,Azure SQL 資料庫中的 VBS 記憶體保護區無法處理更複雜的攻擊,例如將記憶體保護區二進位檔取代為惡意程式碼,因為目前缺少記憶體保護區證明。 此外,無論是否進行證明,VBS 飛地都無法防範來自主機、使用具特殊權限的系統帳戶發動的攻擊。 請注意,Microsoft 已在 Azure 雲端中部署多層安全性控制措施,以偵測及防範此類攻擊,包括即時存取、多重要素驗證及安全性監控。 不過,需要強大安全性隔離的客戶可能會偏好使用具有 DC 系列硬體設定的 Intel SGX 記憶體保護區,而非 VBS 記憶體保護區。
規劃 Azure SQL 資料庫中的記憶體保護區證明
在 DC 系列資料庫中使用 Intel SGX 記憶體保護區時,需要使用 Microsoft Azure 證明來設定證明。
重要
VBS 記憶體保護區目前不支援證明。 本節其餘的部分僅適用於 DC 系列資料庫中的 Intel SGX 記憶體保護區。
若要使用 Microsoft Azure 證明來證明 Azure SQL 資料庫中的 Intel SGX 記憶體保護區,您需要建立證明提供者,並使用 Microsoft 提供的證明原則來加以設定。 請參閱使用 Azure 證明 設定 Always Encrypted 的證明
設定 Intel SGX 記憶體保護區和證明時的角色和責任
將環境設定為支援 Azure SQL 資料庫中 Intel SGX 記憶體保護區和 Always Encrypted 證明需要設定不同類型的元件:證明提供者、資料庫,以及觸發記憶體保護區證明的應用程式。 各類型元件的設定作業由擔任下列其中一種角色的使用者執行:
- 證明管理員:在 Microsoft Azure 證明中建立證明提供者、撰寫證明原則、將 Azure SQL 邏輯伺服器存取權授與證明提供者,以及與應用程式管理員共用指向原則的證明 URL。
- 資料庫管理員 (DBA):藉由選取 DC 系列硬體,在資料庫中啟用 SGX 安全區域,並向證明管理員提供需要存取證明提供者的 Azure SQL 邏輯伺服器識別資訊。
- 應用程式管理員:使用從驗證管理員處取得的驗證 URL 設定應用程式。
在生產環境中 (處理真正的機密資料),組織在設定驗證證明時必須遵守每個不同角色皆由不同人擔任的角色隔離。 特別是,如果組織部署 Always Encrypted 的目標是要確保資料庫管理員無法存取敏感性資料,藉此減少攻擊面,就不該讓資料庫管理員控制證明原則。