Azure扩展为SQL Server安装创建的角色

applies to:SQL Server

本文列出了为SQL Server创建的Azure扩展安装的服务器和数据库角色和映射。

角色

在非最低特权模式下为 SQL Server 安装 Azure 扩展时,安装:

  1. 创建服务器级角色: SQLArcExtensionServerRole
  2. 创建数据库级角色: SQLArcExtensionUserRole
  3. NT AUTHORITY\SYSTEM 帐户添加到每个角色
  4. 在每个数据库的数据库级别映射NT AUTHORITY\SYSTEM
  5. 为启用的功能授予最低权限

或者,可以通过Azure Arc配置为在最低特权模式下运行SQL Server。 有关详细信息,请参阅 operate SQL Server,Azure Arc启用最低特权

此外,SQL Server Azure扩展在不再需要特定功能时撤销这些角色的权限。

注意

上述操作要求部署程序以 NT AUTHORITY\SYSTEM 身份连接到SQL Server。 如果删除、禁用或拒绝CONNECT SQL权限的 NT AUTHORITY\SYSTEM 登录名,则部署程序无法执行上述任何操作,并且SQL Server的 Azure 扩展无法预配。 有关验证和还原此登录名的步骤 ,请参阅先决条件

SqlServerExtensionPermissionProvider是一项Windows任务。 它执行 Deployer.exe,以在检测到以下情况时授予或撤销SQL Server中的特权:

  • 主机上安装了新的SQL Server实例
  • 从主机卸载SQL Server实例
  • 实例级功能已启用或禁用,或更新设置
  • 扩展服务已重启
  • 已启用或禁用实时 (JIT) 权限

注意

在 2024 年 7 月版本之前, SqlServerExtensionPermissionProvider 是一项按小时运行的计划任务。

有关详细信息,请查看 配置Windows服务帐户以及 SQL Server Azure 扩展的权限。

如果卸载 SQL Server 的 Azure 扩展,则会删除服务器级角色和数据库级角色。

权限

功能 权限 Level 角色
默认 VIEW SERVER STATE 服务器级别 SQLArcExtensionServerRole
CONNECT SQL 服务器级别 SQLArcExtensionServerRole
VIEW ANY DEFINITION 服务器级别 SQLArcExtensionServerRole
VIEW ANY DATABASE 服务器级别 SQLArcExtensionServerRole
CONNECT ANY DATABASE 服务器级别 SQLArcExtensionServerRole
SELECT dbo.sysjobactivity msdb SQLArcExtensionUserRole
SELECT dbo.sysjobs msdb SQLArcExtensionUserRole
SELECT dbo.syssessions msdb SQLArcExtensionUserRole
SELECT dbo.sysjobHistory msdb SQLArcExtensionUserRole
SELECT dbo.sysjobSteps msdb SQLArcExtensionUserRole
SELECT dbo.syscategories msdb SQLArcExtensionUserRole
SELECT dbo.sysoperators msdb SQLArcExtensionUserRole
SELECT dbo.suspectpages msdb SQLArcExtensionUserRole
SELECT dbo.backupset msdb SQLArcExtensionUserRole
SELECT dbo.backupmediaset msdb SQLArcExtensionUserRole
SELECT dbo.backupmediafamily msdb SQLArcExtensionUserRole
SELECT dbo.backupfile msdb SQLArcExtensionUserRole
备份 CREATE ANY DATABASE 服务器级别 SQLArcExtensionServerRole
db_backupoperator 角色 “所有数据库” SQLArcExtensionUserRole
dbcreator 服务器级别 SQLArcExtensionServerRole
Azure控制平面 CREATE TABLE msdb SQLArcExtensionUserRole
ALTER ANY SCHEMA msdb SQLArcExtensionUserRole
CREATE TYPE msdb SQLArcExtensionUserRole
EXECUTE msdb SQLArcExtensionUserRole
db_datawriter 角色 msdb SQLArcExtensionUserRole
db_datareader 角色 msdb SQLArcExtensionUserRole
可用性组发现 VIEW ANY DEFINITION 服务器级别 SQLArcExtensionServerRole
可用性组故障转移 ALTER ANY AVAILABILITY GROUP 服务器级别 SQLArcExtensionServerRole
Purview SELECT “所有数据库” SQLArcExtensionUserRole
EXECUTE “所有数据库” SQLArcExtensionUserRole
迁移评估 EXECUTE dbo.agent_datetime msdb SQLArcExtensionUserRole
SELECT dbo.sysjobs msdb SQLArcExtensionUserRole
SELECT dbo.sysmail_account msdb SQLArcExtensionUserRole
SELECT dbo.sysmail_profile msdb SQLArcExtensionUserRole
SELECT dbo.sysmail_profileaccount msdb SQLArcExtensionUserRole
SELECT dbo.syssubsystems msdb SQLArcExtensionUserRole
SELECT sys.sql_expression_dependencies “所有数据库” SQLArcExtensionUserRole

使用最小特权运行

若要运行具有最低特权的SQL Server的Azure扩展,请按照 Operate SQL Server 启用的Azure Arc最低特权的说明进行操作。

目前,最低特权配置不是默认值。