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

适用范围: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 配置为以最低特权模式运行(提供预览版)。 有关详细信息,请参阅使用最低特权操作 Azure Arc 启用的 SQL Server(预览版)

此外,当特定功能不再需要这些角色时,适用于 SQL Server 的 Azure 扩展将会撤销其权限。

SqlServerExtensionPermissionProvider 是 Windows 任务。 当检测到以下情况时,它会授予或撤销 SQL Server 中的特权:

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

注意

在 2024 年 7 月发布之前,SqlServerExtensionPermissionProvider 是一项计划任务。 每小时运行一次。

有关详细信息,请查看为适用于 SQL Server 的 Azure Extension 配置 Windows 服务帐户和权限

如果卸载适用于 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
Backup CREATE ANY DATABASE 服务器级别 SQLArcExtensionServerRole
db_backupoperator 角色 “所有数据库” SQLArcExtensionUserRole
dbcreator 服务器级别 SQLArcExtensionServerRole
Azure 控制平面 CREATE TABLE msdb SQLArcExtensionUserRole
ALTER ANY SCHEMA msdb SQLArcExtensionUserRole
创建类型 msdb SQLArcExtensionUserRole
EXECUTE msdb SQLArcExtensionUserRole
db_datawriter 角色 msdb SQLArcExtensionUserRole
db_datareader 角色 msdb SQLArcExtensionUserRole
可用性组发现 VIEW ANY DEFINITION 服务器级别 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 扩展,请按照 Azure Arc 启用的最小特权操作 SQL Server 中的说明操作。

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

配置 Windows 服务帐户和权限