規劃 Azure SQL 資料庫中的安全記憶體保護區
適用於:Azure SQL 資料庫
在 Azure SQL 資料庫中,具有安全記憶體保護區的 Always Encrypted 可以使用 Intel Software Guard Extensions (Intel SGX) 記憶體保護區或虛擬式安全性 (VBS) 記憶體保護區。
Intel SGX 記憶體保護區
Intel SGX 是以硬體為基礎的受信任執行環境技術。 這可在利用虛擬核心購買模型和 DC 系列硬體設定的資料庫和彈性集區中使用。 若要讓資料庫或彈性集區使用 Intel SGX 記憶體保護區,必須在建立資料庫或彈性集區時選取 DC 系列硬體設定,或者可以更新現有的資料庫或彈性集區以使用 DC 系列硬體。
注意
DC 系列以外的硬體無法使用 Intel SGX。 例如,標準系列 (Gen5) 硬體設定,以及使用 DTU 模型的資料庫均未提供 Intel SGX。
相較於 VBS 記憶體保護區,將 Intel SGX 記憶體保護區與 Microsoft Azure 證明所提供的證明結合,能提供更強大的防護,以防止具有 OS 層級管理員存取權的執行者攻擊。 然而,為資料庫設定 DC 系列硬體之前,請確定您知道其效能屬性和限制:
- 不同於虛擬核心購買模型的其他硬體組態,DC 系列會使用實體處理器核心,而不是邏輯核心。 DC 系列資料庫資源限制 與標準系列 (Gen 5) 硬體組態的資源限制不同。
- 您可以為 DC 系列資料庫設定的處理器核心數目上限為 40。
- DC 系列不適用於無伺服器。
此外,請檢查 DC 系列目前的區域可用性,並確定可在您慣用的區域中使用。 如需詳細資料,請參閱 DC 系列。
建議針對需要最強資料機密性保護,且遵守 DC 系列目前限制的工作負載使用 SGX 記憶體保護區。
VBS 記憶體保護區
VBS 記憶體保護區 (也稱為虛擬安全模式,或 VSM 記憶體保護區) 是依賴 Windows Hypervisor 且不需要任何特殊硬體的軟體型技術。 因此,VBS 記憶體保護區適用於所有 Azure SQL 資料庫產品 (包括 Azure SQL 彈性集區),可讓您彈性地使用 Always Encrypted 和安全記憶體保護區,並具有最能滿足您工作負載需求的計算大小、服務層級、購買模型、硬體設定和區域。
注意
VBS 記憶體保護區適用於所有 Azure SQL 資料庫區域,但 Jio 印度中部除外。
VBS 記憶體保護區是建議的解決方案,適用於尋求保護客戶組織中高特殊權限使用者使用資料的客戶,包括資料庫管理員 (DBA)。 若沒有保護資料的密碼編譯金鑰,DBA 將無法以純文字存取資料。
VBS 記憶體保護區也可以協助防止某些 OS 層級的威脅,例如從裝載資料庫之 VM 內的記憶體傾印外洩敏感性資料。 記憶體好護區處理的純文字資料不會顯示在記憶體傾印中,因為記憶體保護區內的程式碼及其屬性尚未遭到惡意改變。 不過,Azure SQL 資料庫中的 VBS 記憶體保護區無法處理更複雜的攻擊,例如將記憶體保護區二進位檔取代為惡意程式碼,因為目前缺少記憶體保護區證明。 此外,不論證明為何,VBS 記憶體保護區都不會使用源自主機的特殊權限系統帳戶,提供任何防範攻擊的保護。 請務必注意,Microsoft 已實作多層安全性控制,以偵測並防止這類 Azure 雲端中的攻擊,包括 Just-In-Time 存取、多重要素驗證和安全性監視。 不過,需要強大安全性隔離的客戶可能會偏好使用具有 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 證明
設定 SGX 記憶體保護區和證明時的角色和責任
將環境設定為支援 Azure SQL 資料庫中 Intel SGX 記憶體保護區和 Always Encrypted 證明需要設定不同類型的元件:證明提供者、資料庫,以及觸發記憶體保護區證明的應用程式。 設定各類型元件會由擔任下列其中一種不同角色的使用者所執行:
- 證明管理員:在 Microsoft Azure 證明中建立證明提供者、撰寫證明原則、將 Azure SQL 邏輯伺服器存取權授與證明提供者,以及與應用程式管理員共用指向原則的證明 URL。
- 資料庫管理員 (DBA):選取 DC 系列硬體以啟用資料庫的 SGX 記憶體保護區,並為需要存取證明提供者的證明管理員提供 Azure SQL 邏輯伺服器的身分識別。
- 應用程式管理員:使用從證明管理員處取得的證明 URL 設定應用程式。
在生產環境中 (處理真正的機密資料),組織在設定證明時必須遵守每個不同角色皆由不同人擔任的角色隔離。 特別是,如果組織部署 Always Encrypted 的目標是要確保資料庫管理員無法存取敏感性資料,藉此減少受攻擊面的區域,就不該讓資料庫管理員控制證明原則。