applies to:SQL Server
本文列出了为SQL Server创建的Azure扩展安装的服务器和数据库角色和映射。
角色
为SQL Server安装 Azure 扩展时,安装:
创建一个服务器级别的角色:SQLArcExtensionServerRole
创建一个数据库级别的角色:SQLArcExtensionUserRole
将 NT AUTHORITY\SYSTEM* 帐户添加到每个角色
在每个数据库的数据库级别映射 NT AUTHORITY\SYSTEM*
为启用的功能授予最低权限
*Alternatively,可以通过Azure Arc配置为在最低特权模式下运行(在预览版中可用)启用SQL Server。 有关详细信息,请查看
使用最低特权(预览版)0 启用Azure Arc启用的operate SQL Server。
此外,SQL Server的Azure扩展在不再需要特定功能时撤销这些角色的权限。
SqlServerExtensionPermissionProvider是一项Windows任务。 它会在检测到SQL Server中授予或撤销权限:
- 主机上安装了新的SQL Server实例
- 从主机卸载SQL Server实例
- 启用或禁用了实例级功能,或者更新了设置
- 扩展服务已重启
注意
在 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最低特权的说明进行操作。
目前,最低特权配置不是默认值。