建立伺服器,並設定使用者指派的受控識別和適用於 TDE 的跨租用戶 CMK
適用於: Azure SQL 資料庫
在本指南中,我們會逐步說明利用使用者指派的受控識別,存取與邏輯伺服器租用戶不同的 Microsoft Entra 租用戶中的 Azure Key Vault,使用透明資料加密 (TDE) 和客戶自控金鑰 (CMK) 建立 Azure SQL 邏輯伺服器。 如需詳細資訊,請參閱使用透明資料加密的跨租用戶客戶自控金鑰。
注意
Microsoft Entra ID 先前稱為 Azure Active Directory (Azure AD)。
必要條件
- 本指南預設您擁有兩個 Microsoft Entra 租用戶。
- 第一個包含 Azure SQL 資料庫資源、多租用戶 Microsoft Entra 應用程式和使用者指派的受控識別。
- 第二個租用戶會裝載 Azure Key Vault。
- 如需設定 Microsoft Entra 應用程式和 Azure Key Vault 所需的跨租用戶 CMK 和 RBAC 權限的完整指示,請參閱下列其中一個指南:
第一個租用戶上的必要資源
為因應本教學課程的目的,我們假設第一個租用戶屬於獨立軟體廠商 (ISV),而第二個租用戶來自其用戶端。 如需此案例的詳細資訊,請參閱使用透明資料加密的跨租用戶客戶自控金鑰。
在可以使用跨租用戶 CMK 針對 Azure SQL 資料庫設定 TDE 之前,我們需要具有多租用戶 Microsoft Entra 應用程式,此應用程式會以指派為應用程式的同盟身分識別認證來設定使用者指派的受控識別。 遵循必要條件中的其中一份指南。
在您想要建立 Azure SQL 資料庫的第一個租用戶上,建立並設定多租用戶 Microsoft Entra 應用程式
建立使用者指派的受控識別 (機器翻譯)
將使用者指派的受控識別設定為多租用戶應用程式上的同盟身分識別認證
記錄應用程式名稱和應用程式識別碼。 這可在 Azure 入口網站>Microsoft Entra ID>企業應用程式中找到,並搜尋已建立的應用程式
第二個租用戶上的必要資源
注意
自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被淘汰。 若要深入了解,請閱讀淘汰更新。 在此日期之後,對這些模組的支援僅限於對 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 淘汰的模組將繼續運作至 2025 年 3 月 30 日。
我們建議移轉至 Microsoft Graph PowerShell 以與 Microsoft Entra ID (以前稱為 Azure AD) 互動。 如需了解常見的移轉問題,請參閱移轉常見問題。 注意:MSOnline 1.0.x 版可能會在 2024 年 6 月 30 日之後發生中斷。
在 Azure Key Vault 所在的第二個租用戶上,使用來自第一個租用戶已註冊應用程式的應用程式識別碼,建立服務主體 (應用程式)。 以下是如何註冊多租用戶應用程式的一些範例。 分別以 Microsoft Entra ID 的 [租用戶 ID] 和多租用戶應用程式的 [應用程式 ID] 取代
<TenantID>
和<ApplicationID>
:PowerShell:
Connect-AzureAD -TenantID <TenantID> New-AzADServicePrincipal -ApplicationId <ApplicationID>
Azure CLI:
az login --tenant <TenantID> az ad sp create --id <ApplicationID>
前往 Azure 入口網站>Microsoft Entra ID>企業應用程式,並搜尋剛建立的應用程式。
建立 Azure Key Vault (如果您尚未建立),然後建立金鑰
-
- 在建立存取原則時,選取 [金鑰權限] 下的 [取得]、[包裝金鑰]、[解除包裝金鑰] 權限
- 在建立存取原則時,選取 [主體] 選項第一個步驟中建立的多租用戶應用程式
建立存取原則和金鑰之後,請從 Key Vault 擷取金鑰,並記錄金鑰識別碼
建立伺服器並使用跨租用戶客戶自控金鑰 (CMK) 設定 TDE
本指南會逐步說明以使用者指派的受控識別,在 Azure SQL 上建立邏輯伺服器和資料庫的流程,以及如何設定跨租用戶客戶自控金鑰。 需有使用者指派的受控識別,才能在伺服器建立階段,設定客戶自控金鑰以進行透明資料加密。
重要
使用 API 建立 SQL 邏輯伺服器的使用者或應用程式,需要訂用帳戶上的 SQL Server 參與者和受控身分識別操作員 RBAC 角色或更高等級。
瀏覽至 Azure 入口網站中的 [選取 SQL 部署] 選項頁面。
如果您尚未登入 Azure 入口網站,請在出現提示時登入。
在 SQL Database下,將 [資源類型] 設定為 [單一資料庫],然後選取 [建立]。
在 [建立 SQL Database] 表單 [基本資料] 索引標籤的 [專案詳細資料] 下,選取想要的 Azure 訂用帳戶。
針對 [資源群組],選取 [新建],輸入資源群組的名稱,然後選取 [確定]。
針對 [資料庫名稱],輸入資料庫名稱。 例如:
ContosoHR
。在伺服器中,選取 [建立新的],並以下列值填寫新伺服器表單:
- 伺服器名稱:輸入唯一的伺服器名稱。 伺服器名稱對於 Azure 中所有伺服器必須為全域唯一,而不只是在訂閱中是唯一的。 您可以輸入
mysqlserver135
等,Azure 入口網站會讓您知道該名稱是否可用。 - 伺服器管理員登入:輸入管理員登入名稱,例如
azureuser
。 - 密碼:輸入符合密碼需求的密碼,然後在 [確認密碼] 欄位中再次輸入。
- 位置:從下拉式清單中選取位置
- 伺服器名稱:輸入唯一的伺服器名稱。 伺服器名稱對於 Azure 中所有伺服器必須為全域唯一,而不只是在訂閱中是唯一的。 您可以輸入
完成時,選取 [下一步:網路功能],為於頁面底部。
在網路功能索引標籤的連線方法中,選取 [公用端點]。
針對 [防火牆規則],將 [新增目前的用戶端 IP 位址] 設定為 [是]。 將 [允許 Azure 服務和資源存取此伺服器] 設定為 [否]。 此頁面上的其餘選取項目可以保留為預設值。
選取頁面底部的 [下一步:安全性]。
在 [安全性] 索引標籤的 [身分識別] 下方,選取 [設定身分識別]。
在 [身分識別] 功能表上,針對 [系統指派的受控身分識別] 選取 [關閉],然後選取 [使用者指派的受控身分識別] 下方的 [新增]。 選取所需的訂用帳戶,然後在 [使用者指派的受控識別] 下方,從選取的訂用帳戶中選取所需的使用者指派受控識別。 接著,選取 [新增] 按鈕。
在 [主要身分識別] 下方,選取上一個步驟中選取的相同使用者指派受控識別。
針對 [同盟用戶端身分識別],選取 [變更身分識別] 選項,然後搜尋您在必要條件中建立的多租用戶應用程式。
注意
如果多租用戶應用程式尚未新增到具有必要權限 (Get、Wrap Key、Unwrap Key) 的金鑰保存庫存取原則中,在 Azure 入口網站中使用該應用程式進行識別身分同盟,將會顯示錯誤。 在設定同盟用戶端身分識別之前,請確定已正確設定權限。
選取 [套用]
在 [安全性] 索引標籤的 [透明資料加密] 下方,選取 [設定透明資料加密]。 選取 [客戶自控金鑰],[輸入金鑰識別碼] 選項隨即顯示。 新增從第二個租用戶中的金鑰取得的 [金鑰識別碼]。
選取 [套用]
選取頁面底部的 [檢閱 + 建立]
檢閱 [檢閱 + 建立] 頁面之後,選取 [建立]。
下一步
- 開始使用 Azure Key Vault 整合和「攜帶您自己的金鑰」支援以進行 TDE:透過 Key Vault 使用您自己的金鑰開啟 TDE
- 使用透明資料加密的跨租用戶客戶自控金鑰 (機器翻譯)