Azure 扩展为 SQL Server 安装创建的角色
适用范围:SQL Server
本文列出了安装适用于 SQL Server 的 Azure 扩展的服务器和数据库角色和映射。
角色
在安装适用于 SQL Server 的 Azure 扩展时,该安装将会:
创建一个服务器级别的角色:SQLArcExtensionServerRole
创建一个数据库级别的角色:SQLArcExtensionUserRole
将 NT AUTHORITY\SYSTEM* 帐户添加到每个角色
在每个数据库的数据库级别映射 NT AUTHORITY\SYSTEM*
为启用的功能授予最低权限
*或者,可以将 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 中的说明操作。
目前,最低特权配置不是默认值。