为 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 |
其他权限
- 服务帐户访问扩展服务的权限,并配置自动恢复。
- 服务帐户的登录即服务权限。