Поделиться через


Настройка учетных записей службы Windows и разрешений для расширения Azure для SQL Server

Applies to:SQL Server

This article lists the permissions the Azure extension for SQL Server grants to the NT Service\SQLServerExtension account when least privilege is used for SQL Server instances enabled by Azure Arc. With the least privilege configuration, the extension only grants necessary permissions when you enable features in the Azure portal.

Note

NT Authority\System должен иметь доступ к изменению разрешений на перечисленные каталоги и разделы реестра. Это необходимо, чтобы NT Authority\System предоставить необходимый доступ к учетной записи для минимального NT Service\SqlServerExtension режима привилегий.

Overview

When SQL Server is connected to Azure Arc with least privilege enabled, the Azure Arc extension grants its service account, NT SERVICE\SQLServerExtension, only the permissions required by each feature at the moment that feature is enabled. Эти разрешения автоматически отозваны, если эта функция позже отключена, и любая функция, которая остается неактивной, никогда не предоставляет связанные с ней разрешения.

Настройка разрешений для учетной записи агента вручную не поддерживается.

Note

В настоящее время наименее привилегированная конфигурация не применяется по умолчанию.

Существующие серверы с версией расширения 1.1.2859.223 или более поздней в конечном итоге получат наименее привилегированную конфигурацию. Это расширение было выпущено в ноябре 2024 года. Чтобы предотвратить автоматическое применение минимальных привилегий, заблокируйте обновление расширения после 1.1.2859.223.

Привилегии SQL по функциям содержат сведения о разрешениях, предоставленных расширением при включении следующих функций:

Directory permissions

Directory path Required permissions Details Feature
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer Full control Связанные с расширением библиотеки DLL и exe-файлы. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings Full control Файл параметров расширения. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status Full control Файл состояния расширения. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer Full control Файлы журнала расширений. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json Full control Файл пульса расширения. Default
%ProgramFiles%\Sql Server Extension Full control Файлы службы расширений. Default
<SystemDrive>\Windows\system32\extensionUpload Full control Требуется для записи файла использования, необходимого для выставления счетов. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log Full control Папка предварительного журнала, созданная расширением. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Каталог файлов конфигурации Arc. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent Full control Требуется для записи отчетов об оценке и состояния. Default
SQL log directory (as set in registry) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
Read Требуется для извлечения сведений о виртуальных ядрах SQL из журналов SQL. Default
SQL backup directory (as set in registry) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write /Delete Требуется для резервного копирования Backup

1 For more information, see File Locations and Registry Mapping.

Registry permissions

Базовый ключ: HKEY_LOCAL_MACHINE

Registry key Required permission Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read Чтение свойств SQL Server, таких как installedInstances. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Full control Идентификатор Microsoft Entra и Purview. Microsoft Entra ID

Purview
SOFTWARE\Microsoft\SystemCertificates Full control Требуется для идентификатора Microsoft Entra. Microsoft Entra ID
SYSTEM\CurrentControlSet\Services Read Имя учетной записи SQL Server. Default
SOFTWARE\Microsoft\AzureDefender\SQL Read Состояние Azure Defender и время последнего обновления. Default
SOFTWARE\Microsoft\SqlServerExtension Full control Значения, связанные с расширением. Default
SOFTWARE\Policies\Microsoft\Windows Чтение и запись Включение автоматического обновления Windows с помощью расширения. Automatic updates

Group permissions

NT Service\SQLServerExtension добавляется в приложения расширения гибридного агента. Это позволяет подтверждения службы метаданных экземпляра Azure (IMDS) получить маркер управляемого удостоверения ресурса компьютера, необходимый для обмена данными со службами плоскости данных Azure, такими как служба обработки данных (DPS) и конечная точка телеметрии для выставления счетов, журналов расширений и сбора данных панели мониторинга мониторинга.

SQL permissions

Добавлена NT Service\SQLServerExtension учетная запись:

  • Как имя входа SQL для всех экземпляров, присутствующих на компьютере
  • Как пользователь в каждой базе данных

Расширение также предоставляет разрешения для объектов экземпляра и базы данных, так как функции включены.

Note

Минимальные разрешения зависят от включенных функций. Разрешения обновляются, когда они больше не нужны. Необходимые разрешения предоставляются при включении функций.

Привилегии SQL по функциям

В следующей таблице приведено поведение по умолчанию для функций, которые управляют разрешениями, предоставленными расширением Azure для SQL Server:

Feature Default behavior
Разрешения расширения по умолчанию Включен по умолчанию
Automated backups Отключено по умолчанию
Availability groups Включен по умолчанию
Оценка лучших практик Отключено по умолчанию
Миграция базы данных (предварительная версия) Включен по умолчанию
Оценка миграции (предварительная версия) Включен по умолчанию
Восстановление до точки во времени Отключено по умолчанию
Purview Отключено по умолчанию

Разрешения расширения по умолчанию

Следующие разрешения по умолчанию являются минимальным требованием для базового уровня функциональных возможностей, предоставляемых расширением Azure для SQL Server и должны быть применены:

Object type Имя базы данных или объекта Privilege
Database master VIEW DATABASE STATE
Database msdb ALTER ANY SCHEMA
Database msdb CREATE TABLE
Database msdb CREATE TYPE
Database msdb DB DATA READER
Database msdb DB DATA WRITER
Database msdb EXECUTE
Database msdb SELECT dbo.backupfile
Database msdb SELECT dbo.backupmediaset
Database msdb SELECT dbo.backupmediafamily
Database msdb SELECT dbo.backupset
Database msdb SELECT dbo.syscategories
Database msdb SELECT dbo.sysjobactivity
Database msdb SELECT dbo.sysjobhistory
Database msdb SELECT dbo.sysjobs
Database msdb SELECT dbo.sysjobsteps
Database msdb SELECT dbo.syssessions
Database msdb SELECT dbo.sysoperators
Database msdb SELECT dbo.suspectpages
Server CONNECT ANY DATABASE
Server CONNECT SQL
Server VIEW ANY DATABASE
Server VIEW ANY DEFINITION
Server VIEW SERVER STATE

Automated backups

Automated backups are disabled by default. Разрешения на резервное копирование предоставляются любой базе данных с включенными автоматическими резервными копиями. Enabling the backup feature also enables the point-in-time restore feature, so the permission to create a database is also granted.

Если функции включены, автоматически предоставляются следующие разрешения:

Object type Имя базы данных или объекта Privilege
Database All databases DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Availability groups

Availability group discovery and management features such as failing over are enabled by default, but they can be disabled through the AvailabilityGroupDiscovery feature flag.

Если эта функция включена, автоматически предоставляются следующие разрешения:

Object type Имя базы данных или объекта Privilege
Server ALTER ANY AVAILABILITY GROUP
Server VIEW ANY DEFINITION

Оценка лучших практик

Оценка рекомендаций отключена по умолчанию.

Если эта функция включена, автоматически предоставляются следующие разрешения:

Object type Имя базы данных или объекта Privilege
Database master SELECT
Database master VIEW DATABASE STATE
Database msdb SELECT
Server VIEW ANY DATABASE
Server VIEW ANY DEFINITION
Server VIEW SERVER STATE
StoredProcedure EnumErrorLogsSP EXECUTE
StoredProcedure ReadErrorLogsSP EXECUTE

Database migration

Функция миграции базы данных (предварительная версия) включена по умолчанию и требует только разрешений, перечисленных в разрешениях расширения по умолчанию, хотя некоторые разрешения, используемые функцией миграции базы данных (предварительная версия), предоставляются только при выполнении определенного действия миграции.

Для следующих действий требуются дополнительные разрешения, которые предоставляются jit-время.

Note

Пользователи с SqlServerAvailabilityGroups_CreateManagedInstanceLinkSqlServerAvailabilityGroups_failoverMiLinkSqlServerAvailabilityGroups_deleteMiLink разрешениями и разрешениями в Azure могут выполнять действия на странице миграции базы данных (предварительная версия) во время процесса миграции, повышающего разрешения SQL Server учетной записи, используемой расширением, включая sysadmin роль.

On the Migrate data step, just-in-time permissions are granted when you select Start data migration on the Review + Create tab for a Managed Instance link migration. Для настройки распределенной группы доступности необходимы повышенные разрешения. Разрешения отзываются после создания распределенной группы доступности, а развертывание, видимое на портале Azure, находится в состоянии завершения. Если в то же время выполняется другая миграция, разрешения не отменяются до создания последней распределенной группы доступности.

Действие для создания миграции ссылки управляемого экземпляра получает следующие разрешения на время создания запроса:

Object type Имя базы данных или объекта Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server CREATE ENDPOINT
Server ALTER ANY ENDPOINT
Server CREATE CERTIFICATE
Database master IMPERSONATE ON USER::[dbo]

На шаге монитора и переходаразрешения jit-времени предоставляются при выборе параметра полного перехода для миграции ссылки управляемого экземпляра. Разрешения отозваны после завершения переключений.

Действие для завершения перехода ссылки управляемого экземпляра получает следующие разрешения на срок выполнения полного запроса:

Object type Имя базы данных или объекта Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 If least privilege is enabled, the complete cutover action also grants the sysadmin role to the NT Service\SQLServerExtension account for the duration of the cutover. Эта роль требуется для отработки отказа распределенной группы доступности для перехода на управляемый экземпляр SQL Azure.

На шаге "Монитор и переход" разрешения jit-time предоставляются при выборе параметра "Отмена миграции " для миграции ссылки управляемого экземпляра. Разрешения отзываются после отмены миграции.

Действие для отмены миграции ссылки управляемого экземпляра получает следующие разрешения на время запроса отмены:

Object type Имя базы данных или объекта Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 If least privilege is enabled, the cancel action also grants the sysadmin role to the NT Service\SQLServerExtension account for the duration of the cancel request. Эта роль требуется при удалении распределенной группы доступности.

Migration assessment

Оценки миграции (предварительная версия) включены по умолчанию.

Если функция отключена, следующие разрешения отозваны, если другие включенные функции не требуют их:

Object type Имя базы данных или объекта Privilege
Database All databases SELECT sys.sqlexpressiondependencies
Database msdb EXECUTE dbo.agentdatetime
Database msdb SELECT dbo.syscategories
Database msdb SELECT dbo.sysjobhistory
Database msdb SELECT dbo.sysjobs
Database msdb SELECT dbo.sysjobsteps
Database msdb SELECT dbo.sysmailaccount
Database msdb SELECT dbo.sysmailprofile
Database msdb SELECT dbo.sysmailprofileaccount
Database msdb SELECT dbo.syssubsystems

Purview

The Purview features are disabled by default.

Если эта функция включена, автоматически предоставляются следующие разрешения:

Object type Имя базы данных или объекта Privilege
Database All databases EXECUTE
Database All databases SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

JIT-разрешения SQL

Некоторые разрешения SQL назначаются только в то время, когда они необходимы для выполнения определенного действия, и отменяются сразу после завершения операции, требующей разрешений. Если отмена не выполняется, задание фоновой очистки, которое выполняется каждые 50 минут, автоматически отменяет разрешения, которые стали устаревшими.

Разрешения JIT назначаются учетной записи службы:

  • NT Service\SQLServerExtension Если включена минимальная привилегия
  • Локальная системная учетная запись, если минимальные привилегии отключены.

В настоящее время следующая функция использует разрешения jit-in-time:

Additional permissions

  • Разрешения учетной записи службы для доступа к службе расширений и настройке автоматического восстановления.
  • Права на вход как услуга в учетную запись службы.