为 SQL Server 的 Azure 扩展配置 Windows 服务帐户和权限
适用范围:SQL Server
本文列出了帐户的 SQL Server 集 NT Service\SQLServerExtension
的 Azure 扩展权限。 使用最低权限运行由 Azure Arc 启用的 SQL Server 时,将使用此帐户。
注意
从 2024 年 8 月版本开始,通过自动加入部署的任何扩展都将自动具有最低特权配置。
具有扩展 1.1.2717.190
(2024 年 6 月)的现有或更高版本将自动应用最低特权配置。 此应用将逐渐实现。
要防止自动应用最低特权,请阻止将扩展升级到版本 1.1.2717.190
或更高版本。
不支持手动设置代理帐户的权限。
扩展在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 |
注意
最低权限取决于已启用的功能。 不再需要权限时会更新这些权限。 启用功能时,会授予必要的权限。
其他权限
- 服务帐户访问扩展服务的权限,并配置自动恢复。
- 服务帐户的登录即服务权限。
相关内容
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈