安全性 | Azure Arc 啟用的 SQL Server
本文說明 Azure Arc 所啟用 SQL Server 元件的安全性架構。
如需了解 Azure Arc 所啟用 SQL Server 的背景,請檢閱 概觀 |Azure Arc 啟用的 SQL Server。
代理程式與延伸模組
Azure Arc 所啟用 SQL Server 的最重要軟體元件包括:
- Azure Connected Machine 代理程式
- 適用於 SQL Server 的 Azure 延伸模組
Azure Connected Machine Agent 會將伺服器連線到 Azure。 適用於 SQL Server 的 Azure 延伸模組會將 SQL Server 的相關資料傳送至 Azure,並透過 Azure 轉送通訊通道從 Azure 擷取命令,以在 SQL Server 執行個體上採取動作。 代理程式和擴充功能一起可讓您管理位於 Azure 外部任何地方的執行個體和資料庫。 具有代理程式和延伸模組的 SQL Server 執行個體由 Azure Arc 啟用。
代理程式和延伸模組會安全地連線到 Azure,以建立與 Microsoft 管理的 Azure 服務的通訊通道。 代理程式可以透過下列方式進行通訊:
- Azure Express Route 上可設定的 HTTPS Proxy 伺服器
- Azure Private Link
- 具有或沒有 HTTPS Proxy 伺服器的網際網路
如需詳細資訊,請檢閱 Connected Machine Agent 文件:
對於資料收集和報告,某些服務需要 Azure 監視器代理程式 (AMA) 延伸模組。 延伸模組必須連線到 Azure Log Analytics。 需要 AMA 的兩個服務包括:
- 適用於雲端的 Microsoft Defender
- SQL Server 最佳做法評定
適用於 SQL Server 的 Azure 延伸模組可讓您仔細探索所有 SQL Server 執行個體的主機或 OS 層級 (例如 Windows Server 容錯移轉叢集) 組態變更。 例如:
- 主機電腦中的 SQL Server 引擎執行個體
- SQL Server 執行個體內的資料庫
- 可用性群組
適用於 SQL Server 的 Azure 延伸模組可讓您透過收集諸如清查、監視和其他任務等任務的資料,來集中管理、保護及控管 SQL Server 執行個體。 如需收集的資料完整清單,請檢閱資料收集和報告。
下圖顯示「已啟用 Azure Arc 的 SQL Server」架構。
元件
Azure Arc 所啟用 SQL Server 的執行個體已整合在伺服器上執行的元件和服務,並協助連線到 Azure。 除了代理程式服務之外,已啟用的執行個體還擁有本節所列的元件。
資源提供者
資源提供者 (RP) 會公開一組 REST 操作,它們可透過 ARM API 來啟用特定 Azure 服務的功能。
若要讓適用於 SQL Server 的 Azure 延伸模組運作,請註冊下列 2 個 RP:
Microsoft.HybridCompute
RP:管理 Azure Arc 啟用的伺服器資源的生命週期,包括延伸模組安裝、連線電腦的命令執行,以及執行其他管理工作。Microsoft.AzureArcData
RP:根據從適用於 SQL Server 的 Azure 延伸模組收到的清查和使用方式資料,管理由 Azure Arc 資源啟用的 SQL Server 生命週期。
Azure Arc 資料處理服務
Azure Arc 資料處理服務 (DPS) 是一項 Azure 服務,可接收 Arc 連線伺服器上適用於 SQL Server 的 Azure 延伸模組所提供的 SQL Server 相關資料。 DPS 會執行下列工作:
- 處理適用於 SQL Server 的 Azure 延伸模組傳送至區域端點的清查資料,並透過 ARM API 和 Microsoft.AzureArcData RP 相應地更新 SqlServerInstance 資源。
- 處理適用於 SQL Server 的 Azure 延伸模組傳送至區域端點的使用方式資料,並將計費要求提交至 Azure 商務服務。
- 監視 ARM 中使用者建立的 SQL Server 實體核心授權資源,並根據授權狀態將計費要求提交至 Azure 商務服務。
Azure Arc 啟用的 SQL Server 在代理程式中需要從適用於 SQL Server 的 Azure 延伸模組到 DPS 的輸出連線 (*.<region>.arcdataservices.com
TCP 連接埠 443)。 如需特定通訊需求,請檢閱連線到 Azure Arc 資料處理服務。
部署器
部署程式會在初始安裝和組態更新期間啟動適用於 SQL Server 的 Azure 延伸模組。
適用於 SQL Server 服務的 Azure 延伸模組
適用於 SQL Server 服務的 Azure 延伸模組會在主伺服器的背景中執行。 服務組態取決於作業系統:
作業系統:Windows
- 服務名稱:Microsoft SQL Server 延伸服務
- 顯示名稱:Microsoft SQL Server 延伸服務
- 執行方式:本機系統
- 記錄位置:
C:/ProgramData/GuestConfig/extension_logs/Microsoft.AzureData.WindowsAgent.SqlServer
作業系統:Linux
- 服務名稱:SqlServerExtension
- 顯示名稱:Azure SQL Server 延伸服務
- 執行方式:根
- 記錄位置:
/var/lib/GuestConfig/extension_logs/Microsoft.AzureData.LinuxAgent.SqlServer-<Version>/
功能
由 Azure Arc 啟用的 SQL Server 執行個體會執行下列工作:
清查所有 SQL Server 執行個體、資料庫和可用性群組
適用於 SQL Server 的 Azure 延伸模組服務每小時都會將清查上傳至資料處理服務。 清查包含 SQL Server 執行個體、Always On 可用性群組和資料庫中繼資料。
上傳使用量
適用於 SQL Server 的 Azure 延伸模組服務每 12 時會將資料相關用量上傳至資料處理服務。
Arc 啟用的伺服器安全性
如需有關安裝、管理及設定 Azure Arc 所啟用伺服器的特定資訊,請參閱 Arc 啟用的伺服器安全性概觀。
透過 Azure Arc 啟用的 SQL Server 安全性
適用於 SQL Server 的 Azure 延伸模組元件
適用於 SQL Server 的 Azure 延伸模組包含兩個主要元件:部署程式和延伸服務。
部署程式
部署程式會在初始安裝期間啟動延伸模組,並在安裝新的 SQL Server 執行個體或啟用/停用功能時啟動延伸模組。 在安裝、更新或解除安裝期間,在主機伺服器上執行的 Arc 代理程式會執行部署程式,以執行特定動作:
- 安裝
- 啟用
- 更新
- 停用
- 解除安裝
部署程式會在 Azure Connected Machine Agent 服務的背景中執行,因此會以 Local System
的形式執行。
延伸模組服務
延伸模組服務會收集清查和資料庫中繼資料 (僅限 Windows),並每小時將其上傳至 Azure。 它會在 Windows 上以 Local System
的形式執行,或在 Linux 上以根身分執行。 延伸模組服務提供各種功能,作為 Arc 所啟用 SQL Server 服務的一部分。
使用最低權限執行
您可以設定延伸模組服務以最低權限執行。 若要套用最低權限原則,此選項可用於在 Windows 伺服器上預覽。 如需有關如何設定最低權限模式的詳細資訊,請檢閱啟用最低權限 (預覽版)。
針對最低權限進行設定時,延伸模組服務會以 NT Service\SQLServerExtension
服務帳戶的形式執行。
NT Service\SQLServerExtension
帳戶是本機 Windows 服務帳戶:
- 啟用最低權限選項時,由適用於 SQL Server 部署程式的 Azure 延伸模組建立及管理。
- 授與在 Windows 作業系統上執行適用於 SQL Server 的 Azure 延伸模組服務所需的最低權限。 它只能存取用於讀取和儲存設定或寫入記錄的資料夾和目錄。
- 授與在 SQL Server 中使用新增登入進行連接和查詢的權限,特別是針對具有所需最低權限的適用於 SQL Server 的 Azure 延伸模組服務帳戶。 最低權限取決於已啟用的功能。
- 不再需要權限時更新。 例如,當您停用功能、停用最低權限設定或卸載適用於 SQL Server 的 Azure 延伸模組時,會撤銷權限。 撤銷可確保在不再需要權限之後,不會保留權限。
如需權限的完整清單,請參閱設定 Windows 服務帳戶和權限。
雲端通訊的延伸模組
已啟用 Arc 的 SQL Server 需要與 Azure Arc 資料處理服務的輸出連線。
每個虛擬或實體伺服器都必須與 Azure 通訊。 具體而言,他們需要連線到:
- URL:
*.<region>.arcdataservices.com
- 連接埠:443
- 方向:輸出
- 驗證供應商︰Microsoft Entra ID
若要取得區域端點的區域區段,請移除 Azure 區域名稱中的所有空格。 例如,美國東部 2 區域,區域名稱為 eastus2
。
例如:在美國東部 2 區域,*.<region>.arcdataservices.com
應為 *.eastus2.arcdataservices.com
。
如需支援的區域清單,請檢閱支援的 Azure 區域。
如需所有區域的清單,請執行此命令:
az account list-locations -o table
功能層級安全性層面
不同的功能和服務具有特定的安全性設定層面。 本節討論下列功能的安全性層面:
稽核活動
可以在 Azure 入口網站中從 Azure Arc 所啟用 SQL Server 的服務功能表中存取活動記錄。 活動記錄會在 Azure Resource Manager 中擷取 Arc 所啟用 SQL Server 資源的稽核資訊和變更歷程記錄。 如需詳細資訊,請檢閱搭配使用活動記錄與 Azure Arc 所啟用的 SQL Server。
最佳做法評量
最佳做法評估具有下列需求:
確保您的 Windows 型 SQL Server 執行個體會連線到 Azure。 請遵循自動將 SQL Server 連線至 Azure Arc 中的指示。
注意
最佳做法評量目前僅限於在 Windows 電腦上執行的 SQL Server。 評量目前不適用於 Linux 機器上的 SQL Server。
如果伺服器裝載單一 SQL Server 執行個體,請確定 SQL Server (
WindowsAgent.SqlServer
) 的 Azure 延伸模組版本為 1.1.2202.47 或更新版本。如果伺服器裝載多個 SQL Server 執行個體,請確定 SQL Server (
WindowsAgent.SqlServer
) 的 Azure 延伸模組版本高於 1.1.2231.59。若要檢查適用於 SQL Server 的 Azure 延伸模組版本,並更新至最新版本,請檢閱升級延伸模組。
如果伺服器裝載 SQL Server 的具名執行個體,SQL Server Browser 服務必須正在執行中。
Log Analytics 工作區 與 Azure Arc 啟用的 SQL Server 必須位於相同訂用帳戶中。
設定 SQL 最佳做法評量的使用者必須具有下列權限:
- Log Analytics 工作區的資源群組或訂用帳戶上的 Log Analytics 參與者角色。
- Arc 所啟用 SQL Server 執行個體的資源群組或訂用帳戶中的 Azure Connected Machine 資源管理員角色。
- 監視 Log Analytics 工作區的資源群組或訂用帳戶中的參與者角色,以及 Azure Arc 所啟用電腦的資源群組或訂用帳戶中的參與者角色。
指派給內建角色的使用者 (例如參與者或擁有者) 具有足夠的權限。 如需詳細資訊,請檢閱使用 Azure 入口網站指派 Azure 角色。
存取或讀取評量報告所需的最低權限如下:
- SQL Server - Azure Arc 資源的資源群組或訂用帳戶中的讀者角色。
- Log Analytics 讀者。
- 在 Log Analytics 工作區的資源群組或訂用帳戶中監視讀者。
以下是存取或讀取評定報告所需的更多需求:
SQL Server 內建登入 NT AUTHORITY\SYSTEM 針對電腦上執行的所有 SQL Server 執行個體,必須是 SQL Server sysadmin 伺服器角色的成員。
如果防火牆或 Proxy 伺服器限制輸出連線,請確定它允許下列 URL 透過 TCP 連接埠 443 存取 Azure Arc:
global.handler.control.monitor.azure.com
*.handler.control.monitor.azure.com
<log-analytics-workspace-id>.ods.opinsights.azure.com
*.ingest.monitor.azure.com
您的 SQL Server 執行個體必須啟用 TCP/IP。
SQL Server 最佳做法評定使用 Azure 監視器代理程式 (AMA) 來收集和分析 SQL Server 執行個體的資料。 如果您在啟用最佳做法評定之前,已在 SQL Server 執行個體上安裝 AMA,則評定會使用相同的 AMA 代理程式和 Proxy 設定。 您不需要進行其他任何動作。
如果未在 SQL Server 執行個體上安裝 AMA,最佳做法評定會為您安裝。 最佳做法評定不會自動設定 AMA 的 Proxy 設定。 您需要使用您想要的 Proxy 設定來重新部署 AMA。
如需 AMA 網路和 Proxy 設定的詳細資訊,請參閱 Proxy 設定。
如果您使用設定已安裝 SQL Server 延伸模組的已啟用 Arc 的伺服器,以啟用或停用 SQL 最佳做法評量 Azure 原則,以大規模啟用評量,則必須建立 Azure 原則指派。 您的訂用帳戶需要在您所針對的目標范圍內指派資源原則參與者角色。 該範圍可能會是訂閱或資源群組。
若計劃建立新的使用者指派的受控識別,您在訂用帳戶中也需要使用者存取系統管理角色指派。
如需詳細資訊,請檢閱設定 SQL 最佳做法評量 - 由 Azure Arc 啟用的 SQL Server。
自動備份
適用於 SQL Server 的 Azure 延伸模組可以在 Azure Arc 所啟用 SQL Server 的執行個體中自動備份系統資料庫和使用者資料庫。適用於 SQL Server 的 Azure 延伸模組內的備份服務會使用 NT AUTHORITY\SYSTEM
帳戶來執行備份。 如果您要以最低權限操作 Azure Arc 啟用的 SQL Server,則本機 Windows 帳戶 NT Service\SQLServerExtension
將執行備份。
如果使用適用於 SQL Server 的 Azure 延伸模組版本 1.1.2504.99
或更新版本,則系統會自動授與 NT AUTHORITY\SYSTEM
必要權限。 您不需要手動指派權限。
如果未使用最低權限設定,SQL Server 內建登入 NT AUTHORITY\SYSTEM
必須是下列成員:
- 伺服器層級的
dbcreator
伺服器角色 master
、model
、msdb
和每個使用者資料庫中的db_backupoperator
角色 - 不包括tempdb
。
預設會停用自動備份。 設定自動備份之後,適用於 SQL Server 的 Azure 延伸模組將啟動備份到預設備份位置。 備份是原生 SQL Server 備份,因此所有備份歷程記錄都可以在 msdb
資料庫中的備份相關資料表中找到。
適用於雲端的 Microsoft Defender
適用於雲端的 Microsoft Defender 需要在 Arc 啟用的伺服器上設定 Azure 監視器代理程式。
如需詳細資訊,請檢閱適用於雲端的 Microsoft Defender。
自動更新
自動更新會覆寫在 Arc 啟用的伺服器上設定的任何預先設定或原則型更新 Microsoft Update 設定。
- 只會安裝標示為重要或嚴重的 Windows 和 SQL Server 更新。 其他 SQL Server 更新 (例如,未標示為重要或嚴重的 Service Pack、累積更新或其他更新) 則必須手動或以其他方式安裝。 如需安全性更新分級系統的詳細資訊,請參閱安全性更新嚴重性分級系統 (microsoft.com)
- 在主機作業系統層級運作,並套用至所有已安裝的 SQL Server 執行個體
- 目前僅適用於 Windows 主機。 這會設定 Windows Update/Microsoft Update,它是最終更新 SQL Server 執行個體的服務。
如需詳細資訊,請檢閱設定 Azure Arc 啟用的 SQL Server 執行個體的自動更新。
監視器
可使用 Azure 入口網站中的效能儀表板,監視由 Azure Arc 啟用的 SQL Server。 效能計量會自動從 Azure Arc 啟用的 SQL Server 執行個體上的動態管理檢視 (DMV) 資料集中進行收集,並傳送至 Azure 遙測管線以進行接近即時的處理。 監視是自動的,假設符合所有必要條件。
必要條件包括:
- 伺服器可連線至
telemetry.<region>.arcdataservices.com
。如需詳細資訊,請參閱網路需求。 - SQL Server 執行個體上的授權類型設定為
License with Software Assurance
或Pay-as-you-go
。
若要檢視 Azure 入口網站中的效能儀表板,必須為您指派一個 Azure 角色並指派 Microsoft.AzureArcData/sqlServerInstances/getTelemetry/
動作。 為了方便起見,您可以使用內建角色 Azure Hybrid 資料庫管理員 - 唯讀服務角色,其中包含此動作。 如需詳細資訊,請參閱深入了解 Azure 內建角色。
有關效能儀表板功能的詳細資料,包括如何啟用/停用資料收集以及針對此功能收集的資料,請參閱在 Azure 入口網站中監視。
Microsoft Entra ID
Microsoft Entra ID 是雲端式身分識別和存取權管理服務,可存取外部資源。 與傳統的基於使用者名稱和密碼的驗證機制相比,Microsoft Entra 驗證大大增強了安全性。 Azure Arc 啟用的 SQL Server 會利用 Microsoft Entra ID 進行驗證,這在 SQL Server 2022 (16.x) 中已引入。 這會為 SQL Server 提供集中式身分識別和存取權管理解決方案。
Azure Arc 所啟用的 SQL Server 會在 Azure Key Vault 中儲存 Microsoft Entra ID 的證書。 如需詳細資料,請前往:
若要設定 Microsoft Entra ID,請遵循教學課程:設定 SQL Server 的 Microsoft Entra 驗證中的指示。
Microsoft Purview
使用 Purview 的主要需求:
- 具有有效訂用帳戶的 Azure 帳戶。
- 使用中的 Microsoft Purview 帳戶。
- 資料來源管理員與資料讀取者可註冊來源並在 Microsoft Purview 治理入口網站中進行管理。 請參閱 Microsoft Purview 治理入口網站中的存取控制,以了解詳情。
- 最新的自我裝載整合執行階段。 如需詳細資訊,請參閱建立並管理自我裝載整合執行階段。
- 針對 Azure RBAC,您必須同時啟用 Microsoft Entra ID 和 Azure Key Vault。
最佳作法
導入下列設定是目前的最佳做法,才能保護 Azure Arc 啟用的 SQL Server 執行個體:
- 開啟最低權限模式 (預覽)。
- 執行 SQL 最佳做法評估。 檢閱評量並套用建議。
- 啟用 Microsoft Entra 驗證。
- 啟用雲端 Microsoft Defender並解決 Defender for SQL 所指出的問題。
- 請勿啟用 SQL 驗證。 此項目預設為停用。 檢閱 SQL Server 安全性最佳作法。