为 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)握手。

SQL 权限

NT Service\SQLServerExtension 已添加:

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

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

功能 权限 Level 要求
默认值 VIEW DATABASE STATE 服务器级别 Essential
VIEW SERVER STATE 服务器级别 Essential
CONNECT SQL 服务器级别 Essential
数据库作为资源 默认公共角色 服务器级别(默认授予新添加的登录名) Essential
最佳做法评估 VIEW ANY DEFINITION 服务器级别 依赖于功能的功能
VIEW ANY DATABASE 服务器级别 依赖于功能的功能
SELECT master 依赖于功能的功能
SELECT msdb 依赖于功能的功能
EXECUTE ON sys.xp_enumerrorlogs master 依赖于功能的功能
EXECUTE ON sys.xp_readerrorlog master 依赖于功能的功能
备份 CREATE ANY DATABASE 服务器级别 依赖于功能的功能
db_backupoperator角色 “所有数据库” 依赖于功能的功能
dbcreator 服务器角色 依赖于功能的功能
Azure 控制平面 CREATE TABLE msdb Essential
ALTER ANY SCHEMA msdb Essential
CREATE TYPE msdb Essential
EXECUTE msdb Essential
db_datawriter角色 msdb 依赖于功能的功能
db_datareader 角色 msdb 依赖于功能的功能
可用性组发现 VIEW ANY DEFINITION 服务器级别 Essential
Purview SELECT “所有数据库” 依赖于功能的功能
EXECUTE “所有数据库” 依赖于功能的功能
CONNECT ANY DATABASE 服务器级别 依赖于功能的功能
VIEW ANY DATABASE 服务器级别 依赖于功能的功能
监视 SELECT dbo.sysjobactivity msdb Essential
SELECT dbo.sysjobs msdb Essential
SELECT dbo.syssessions msdb Essential
SELECT dbo.sysjobHistory msdb Essential
SELECT dbo.sysjobSteps msdb Essential
SELECT dbo.syscategories msdb Essential
SELECT dbo.sysoperators msdb Essential
SELECT dbo.suspectpages msdb Essential
SELECT dbo.backupset msdb Essential
SELECT dbo.backupmediaset msdb Essential
SELECT dbo.backupmediafamily msdb Essential
SELECT dbo.backupfile msdb Essential
CONNECT ANY DATABASE 服务器级别 Essential
VIEW ANY DATABASE 服务器级别 Essential
VIEW ANY DEFINITION 服务器级别 Essential
迁移评估 EXECUTE dbo.agent_datetime msdb Essential
SELECT dbo.syscategories msdb Essential
SELECT dbo.sysjobHistory msdb Essential
SELECT dbo.sysjobs msdb Essential
SELECT dbo.sysjobSteps msdb Essential
SELECT dbo.sysmail_account msdb Essential
SELECT dbo.sysmail_profile msdb Essential
SELECT dbo.sysmail_profileaccount msdb Essential
SELECT dbo.syssubsystems msdb Essential
SELECT sys.sql_expression_dependencies “所有数据库” Essential

注意

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

其他权限

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