Azure Synapse Analytics 工作區的加密

本文將說明︰

  • 加密 Synapse Analytics 工作區的待用資料。
  • 設定 Synapse 工作區,以使用客戶自控金鑰來啟用加密。
  • 管理用來加密工作區資料的金鑰。

待用資料加密

完整「待用資料加密」解決方案能確保絕不以未加密形式保存資料。 待用資料雙重加密以兩層加密來防止任何單一層遭受破壞,以減輕威脅。 Azure Synapse Analytics 以客戶自控金鑰為工作區的資料提供第二層加密。 此金鑰在 Azure Key Vault 中受到保護,可讓您取得金鑰管理和輪替的所有權。

Azure 服務的第一層加密由平台代控金鑰啟用。 Azure 磁碟及 Azure 儲存體帳戶中的資料預設為自動待用加密。 請參閱 Azure 加密概觀,以深入了解如何在 Microsoft Azure 中使用加密。

注意

視為客戶內容的某些項目 (例如資料表名稱、物件名稱與索引名稱) 可能會在記錄檔中傳輸,以便由 Microsoft 支援及進行疑難排解。

Azure Synapse Analytics 加密

本節協助您進一步了解如何在 Synapse 工作區啟用和強制執行客戶自控金鑰加密。 此加密使用現有的金鑰或 Azure Key Vault 中產生的新金鑰。 只使用單一金鑰來加密工作區的所有資料。 Synapse 工作區支援 RSA 2048 和 3072 位元組大小的金鑰,以及 RSA-HSM 金鑰。

注意

Synapse 工作區不支援使用 EC、EC-HSM 和 oct-HSM 金鑰來加密。

下列 Synapse 元件中的資料是以工作區層級設定的客戶自控金鑰來加密:

  • SQL 集區
  • 專用 SQL 集區
  • 無伺服器 SQL 集區
  • 資料總管集區
  • Apache Spark 集區
  • Azure Data Factory 整合執行階段、管線、資料集。

工作區加密設定

建立工作區時,可將工作區設定為以客戶自控金鑰來啟用雙重加密。 建立新的工作區時,在 [安全性] 索引標籤上使用客戶自控金鑰來啟用雙重加密。 您可以選擇輸入金鑰識別碼 URI,或從工作區所在相同區域中的金鑰保存庫清單中選取。 金鑰保存庫本身需要啟用清除保護

重要

建立工作區之後,就無法變更雙重加密的組態設定。

此圖表顯示必須選取的選項,以使用客戶自控金鑰啟用工作區進行雙重加密。

存取金鑰和啟用工作區

Azure Synapse Analytics 加密模型搭配客戶自控金鑰意味著,工作區視需要存取 Azure Key Vault 中的金鑰來加密和解密。 您可以透過存取原則或 Azure Key Vault RBAC,讓工作區存取金鑰。 透過 Azure Key Vault 存取原則授與權限時,請在原則建立期間選擇 [僅限應用程式] 選項 (選取工作區受控識別,不要新增為授權的應用程式)。

需要先在金鑰保存庫授與工作區受控識別所需的權限,才能啟用工作區。 此分階段工作區啟用作法確保以客戶自控金鑰來加密工作區的資料。 針對個別的專用 SQL 集區,可以啟用或停用 加密。 預設每個專用集區不會啟用加密。

使用使用者指派的受控識別

工作區可以設定為使用使用者指派的受控識別,以存取儲存在 Azure Key Vault 中的客戶自控金鑰。 搭配客戶自控金鑰使用雙重加密時,設定使用者指派的受控識別來避免分階段啟用 Azure Synapse Analytics 工作區。 需要「受控識別參與者」內建角色,才能將使用者指派的受控識別指派給 Azure Synapse Analytics 工作區。

注意

當 Azure Key Vault 位於防火牆後方時,無法設定使用者指派的受控識別來存取客戶自控金鑰。

此圖表顯示必須選取的選項,以使用客戶自控金鑰來啟用使用使用者指派受控識別的工作區,進行雙重加密。

權限

若要加密或解密待用資料,受控識別必須具有下列權限。 同樣地,如果您使用 Resource Manager 範本來建立新的金鑰,範本的 'keyOps' 參數必須具有下列權限:

  • WrapKey (建立新的金鑰時將金鑰插入 Key Vault 中)。
  • UnwrapKey (取得解密金鑰)。
  • Get (讀取金鑰的公開部分)

啟用工作區

在建立工作區期間,如果您未設定使用者指派的受控識別來存取客戶自控金鑰,則工作區會停留在「暫止」狀態,直到成功啟用為止。 您必須先啟用工作區,才能完全使用所有功能。 例如,啟用成功後,您才能建立新的專用 SQL 集區。 授與工作區受控識別對金鑰保存庫的存取權,然後選取工作區 Azure 入口網站橫幅中的啟用連結。 成功完成啟用後,即可使用工作區,並保證以客戶自控金鑰來保護其中所有資料。 如先前所述,金鑰保存庫必須啟用清除保護,才能成功啟用。

此圖表顯示具有工作區啟用連結的橫幅。

管理工作區客戶自控金鑰

您可以從 Azure 入口網站的 [加密] 頁面,變更用來加密資料的客戶自控金鑰。 在這裡,您也可以使用金鑰識別碼來選擇新的金鑰,或在工作區所在相同區域中從您可存取的金鑰保存庫中選取。 如果您在不同於先前使用的金鑰保存庫中選擇金鑰,請授與工作區受控識別在新金鑰保存庫上的 "Get"、"Wrap" 和 "Unwrap" 權限。 工作區會驗證對新金鑰保存庫的存取權,工作區的所有資料會以新的金鑰重新加密。

此圖表顯示 Azure 入口網站中工作區的「加密」一節。

重要

變更工作區的加密金鑰時,請保留金鑰,直到您在工作區換成新的金鑰為止。 這是為了在以新的金鑰重新加密資料之前,允許使用舊金鑰來解密資料。

自動定期輪替金鑰的 Azure Key Vault 原則,或對金鑰採取動作,可能導致建立新的金鑰版本。 您可以選擇使用最新版的使用中金鑰來重新加密工作區的所有資料。 若要重新加密,請在 Azure 入口網站將金鑰變更為臨時金鑰,然後切換回您要用於加密的金鑰。 舉例來說,若要使用最新版的使用中金鑰 Key1 來更新資料加密,請將工作區客戶自控金鑰變更為臨時金鑰 Key2。 等待以 Key2 加密完成。 然後,將工作區客戶自控金鑰切換回 Key1,將會以最新版的 Key1 重新加密工作區的資料。

注意

新的主要版本建立時,Azure Synapse Analytics 不會自動重新加密資料。 為了確保工作區一致性,請使用以上詳述的流程來強制重新加密資料。

SQL 透明資料加密搭配服務代控金鑰

SQL 透明資料加密 (TDE) 適用於「未」啟用雙重加密的工作區中的專用 SQL 集區。 這種工作區中使用服務代控金鑰,將專用 SQL 集區的資料雙重加密。 針對個別的專用 SQL 集區,可以啟用或停用 TDE 搭配服務代管金鑰。

適用於 Azure SQL Database 和 Azure Synapse 的 Cmdlet

若要透過 PowerShell 設定 TDE,您必須以 Azure 擁有者、參與者或 SQL 安全性管理員的身分連線。

針對Azure Synapse工作區使用下列 Cmdlet。

Cmdlet 描述
Set-AzSynapseSqlPoolTransparentDataEncryption 啟用或停用 SQL 集區的透明資料加密。
Get-AzSynapseSqlPoolTransparentDataEncryption 取得 SQL 集區的透明資料加密狀態。
New-AzSynapseWorkspaceKey 將金鑰保存庫金鑰新增至工作區。
Get-AzSynapseWorkspaceKey 取得工作區的金鑰保存庫索引鍵
Update-AzSynapseWorkspace 設定工作區的透明資料加密保護裝置。
Get-AzSynapseWorkspace 取得透明資料加密保護裝置
Remove-AzSynapseWorkspaceKey 從工作區移除金鑰保存庫金鑰。

後續步驟