为 SQL Server 的 Azure 扩展配置 Windows 服务帐户和权限

适用范围:SQL Server

本文列出了帐户的 SQL Server 集 NT Service\SQLServerExtension 的 Azure 扩展权限。 使用最低权限运行由 Azure Arc 启用的 SQL Server 时,将使用此帐户。

注意

具有扩展(从 2024 年 11 月 版本或更高版本开始)的现有服务器将自动应用最低特权配置。 此应用将逐渐实现。

要防止自动应用最低特权,请阻止将扩展升级到 2024 年 11 月版本。

不支持手动设置代理帐户的权限。

扩展在Azure 门户上启用功能时设置权限。 如果未启用功能,则扩展不会设置该功能的权限。 如果禁用某个功能,扩展会删除权限。

SQL 权限 列出了与扩展启用功能时授予的功能相关的权限。

注意

NT Authority\System 必须有权修改列出的目录和注册表项的权限。 这是必需的,以便 NT Authority\System 可以授予对最低特权模式的帐户所需的访问权限 NT Service\SqlServerExtension

目录权限

目录路径 所需的权限 详细信息 功能
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer 完全控制 与扩展相关的 dll 和 exe 文件。 默认
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings 完全控制 扩展设置文件。 默认
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status 完全控制 扩展状态文件。 默认
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer 完全控制 扩展日志文件。 默认
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json 完全控制 扩展检测信号文件。 默认
%ProgramFiles%\Sql Server Extension 完全控制 扩展服务文件。 默认
<SystemDrive>\Windows\system32\extensionUpload 完全控制 需要写入计费所需的使用情况文件。 默认
<SystemDrive>\Windows\system32\ExtensionHandler.log 完全控制 扩展创建的预日志文件夹。 默认
<ProgramData>\AzureConnectedMachineAgent\Config 读取 Arc 配置文件目录。 默认
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent 完全控制 需要编写评估报告和状态。 默认
SQL 日志目录(如注册表中的设置) 1
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
读取 从 SQL 日志中提取 SQL vCore 信息所必需的。 默认
SQL 备份目录(如注册表中的设置) 1
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write /Delete 备份所需的 Backup

1 有关详细信息,请参阅 文件位置和注册表映射

注册表权限

基键: HKEY_LOCAL_MACHINE

注册表项 所需权限 详细信息 功能
SOFTWARE\Microsoft\Microsoft SQL Server 读取 读取 SQL Server 属性,例如 installedInstances 默认
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER 完全控制 Microsoft Entra ID 和 Purview。 Microsoft Entra ID

Purview
SOFTWARE\Microsoft\SystemCertificates 完全控制 Microsoft Entra ID 是必需的。 Microsoft Entra ID
SYSTEM\CurrentControlSet\Services 读取 SQL Server 帐户名称。 默认
SOFTWARE\Microsoft\AzureDefender\SQL 读取 Azure Defender 状态和上次更新时间。 默认
SOFTWARE\Microsoft\SqlServerExtension 完全控制 扩展相关值。 默认
SOFTWARE\Policies\Microsoft\Windows 读取和写入 通过扩展启用自动 Windows 更新。 自动更新

组权限

NT Service\SQLServerExtension 已添加到混合代理扩展应用程序。 这使 Azure 实例元数据服务(IMDS)握手能够检索与 Azure 数据平面服务(例如数据处理服务(DPS)通信所需的计算机资源托管标识令牌,以及用于计费使用情况、扩展日志和监视仪表板数据收集的遥测终结点。

SQL 权限

NT Service\SQLServerExtension 已添加:

  • 作为当前计算机上存在的所有实例的 SQL 登录名
  • 作为每个数据库中的用户

扩展还会在启用功能时向实例和数据库对象授予权限。 下表提供了详细信息。

注意

最低权限取决于已启用的功能。 不再需要权限时会更新这些权限。 启用功能时,会授予必要的权限。

按功能排序的 SQL 特权

最低系统要求

这些权限是 SQL Server 的 Azure 扩展提供的基本功能级别所必需的,必须应用这些权限。

对象类型 数据库或对象名称 特权
数据库 主人 VIEW DATABASE STATE
数据库 Msdb ALTER ANY SCHEMA
数据库 Msdb CREATE TABLE
数据库 Msdb CREATE TYPE
数据库 Msdb DB DATA READER
数据库 Msdb DB DATA WRITER
数据库 Msdb EXECUTE
数据库 Msdb SELECT dbo.backupfile
数据库 Msdb SELECT dbo.backupmediaset
数据库 Msdb SELECT dbo.backupmediafamily
数据库 Msdb SELECT dbo.backupset
数据库 Msdb SELECT dbo.syscategories
数据库 Msdb SELECT dbo.sysjobactivity
数据库 Msdb SELECT dbo.sysjobhistory
数据库 Msdb SELECT dbo.sysjobs
数据库 Msdb SELECT dbo.sysjobsteps
数据库 Msdb SELECT dbo.syssessions
数据库 Msdb SELECT dbo.sysoperators
数据库 Msdb SELECT dbo.suspectpages
服务器 CONNECT ANY DATABASE
服务器 CONNECT SQL
服务器 VIEW ANY DATABASE
服务器 VIEW ANY DEFINITION
服务器 VIEW SERVER STATE

最佳做法评估

最佳做法评估默认处于禁用状态。 如果已启用,则如果未授予这些权限,则会自动授予这些权限。

对象类型 数据库或对象名称 特权
数据库 主人 SELECT
数据库 主人 VIEW DATABASE STATE
数据库 Msdb SELECT
服务器 VIEW ANY DATABASE
服务器 VIEW ANY DEFINITION
服务器 VIEW SERVER STATE
StoredProcedure EnumErrorLogsSP EXECUTE
StoredProcedure ReadErrorLogsSP EXECUTE

Backup

默认情况下禁用自动备份。 备份权限将授予为其启用备份的任何数据库。 启用备份功能还会启用时间点还原功能,因此还授予创建数据库的权限。

对象类型 数据库或对象名称 特权
数据库 所有数据库 DB BACKUP OPERATOR
服务器 CREATE ANY DATABASE
服务器 主人 DB CREATOR

可用性组

可用性组发现和管理功能(如故障转移)默认处于启用状态,但可以通过 AvailabilityGroupDiscovery 功能标志禁用它们。

对象类型 数据库或对象名称 特权
服务器 ALTER ANY AVAILABILITY GROUP
服务器 VIEW ANY DEFINITION

Purview

默认情况下,Purview 功能处于禁用状态。

对象类型 数据库或对象名称 特权
数据库 所有数据库 EXECUTE
数据库 所有数据库 SELECT
服务器 CONNECT ANY DATABASE
服务器 VIEW ANY DATABASE

迁移评估

迁移评估默认处于启用状态。 如果禁用该功能,除非其他已启用的功能需要这些权限,否则将删除以下权限。

对象类型 数据库或对象名称 特权
数据库 所有数据库 SELECT sys.sqlexpressiondependencies
数据库 Msdb EXECUTE dbo.agentdatetime
数据库 Msdb SELECT dbo.syscategories
数据库 Msdb SELECT dbo.sysjobhistory
数据库 Msdb SELECT dbo.sysjobs
数据库 Msdb SELECT dbo.sysjobsteps
数据库 Msdb SELECT dbo.sysmailaccount
数据库 Msdb SELECT dbo.sysmailprofile
数据库 Msdb SELECT dbo.sysmailprofileaccount
数据库 Msdb SELECT dbo.syssubsystems

其他权限

  • 服务帐户访问扩展服务的权限,并配置自动恢复。
  • 服务帐户的登录即服务权限。