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

Применимо к:SQL Server

В этой статье перечислены разрешения расширения Azure для SQL Server предоставления учетной записи NT SERVICE\SqlServerExtension при использовании привилегий least для экземпляров SQL Server включенных Azure Arc. При настройке наименьших привилегий расширение предоставляет только необходимые разрешения при включении функций на портале Azure.

Note

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

Кроме того, NT AUTHORITY\SYSTEM должны иметь активное SQL Server имя входа с разрешением CONNECT SQL для каждого экземпляра SQL Server. Средство развертывания подключается к SQL Server как NT AUTHORITY\SYSTEM для настройки всех разрешений на уровне SQL, описанных в этой статье. Если это имя входа отключено, удалено или CONNECT SQL запрещено, средство развертывания не может настроить разрешения SQL в стандартном или наименее привилегированном режиме. Сведения о предварительных требованиях см. в разделе "Предварительные требования" для шагов проверки.

Overview

При подключении SQL Server к Azure Arc с минимальными привилегиями расширение Azure Arc предоставляет свою учетную запись службы, NT SERVICE\SqlServerExtensionтолько разрешения для каждой функции, необходимые при включении этой функции. Расширение автоматически удаляет эти разрешения при отключении функции. Если компонент неактивен, расширение не предоставляет никаких разрешений для этой функции.

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

Note

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

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

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

Разрешения каталога

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

1 Дополнительные сведения см. в разделе "Расположения файлов" и "Сопоставление реестра".

Разрешения для реестра

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

Ключ реестра Требуемое разрешение Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read Чтение свойств SQL Server, таких как installedInstances. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Полный контроль Идентификатор Microsoft Entra и Purview. Microsoft Entra ID

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

Разрешения групп

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

Разрешения SQL

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

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

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

Note

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

Сведения о разрешениях учетной записи NT SERVICE\SqlServerExtension

Путь к реестру Разрешение Связанный риск с разрешениями, если NT SERVICE\SqlServerExtension учетная запись скомпрометирована
SOFTWARE\Microsoft\Microsoft SQL Server Read Расширение может увидеть, какие версии SQL Server установлены.
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER Полный контроль Требуется только в том случае, если включена проверка подлинности Microsoft Entra или Purview. Расширение может изменить конфигурацию SQL Server.
SOFTWARE\Microsoft\SystemCertificates Полный контроль Требуется только в том случае, если включена проверка подлинности Microsoft Entra. Расширение может заменить доверенные корневые центры сертификации.
SYSTEM\CurrentControlSet\Services Read Расширение может видеть имена учетных записей службы.
SOFTWARE\Microsoft\AzureDefender\SQL Read Расширение может узнать о состоянии и времени обновления Microsoft Defender.
SOFTWARE\Microsoft\SqlServerExtension Полный контроль Расширение может изменить параметры расширения.
SOFTWARE\Policies\Microsoft\Windows Чтение и запись Требуется только при включении автоматического обновления . Расширение может изменить политики центра обновления Windows и отключить Device Guard, который управляет целостностью кода и безопасностью на основе виртуализации, расширенным воздействием из-за пропущенных исправлений.

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

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

Feature Поведение по умолчанию
Разрешения расширения по умолчанию Включен по умолчанию
Автоматические резервные копии Отключено по умолчанию
Группы доступности Включен по умолчанию
Оценка лучших практик Отключено по умолчанию
Оценка миграции Включен по умолчанию
Миграция базы данных Включен по умолчанию
Восстановление в определенный момент Отключено по умолчанию
Purview Отключено по умолчанию

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

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

Тип объекта Имя базы данных или объекта 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

Автоматическое резервное копирование

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

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

Тип объекта Имя базы данных или объекта Privilege
Database Все базы данных DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Группы доступности

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

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

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

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

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

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

Тип объекта Имя базы данных или объекта 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

Миграция базы данных

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

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

Note

Пользователи с SqlServerAvailabilityGroups_CreateManagedInstanceLink, SqlServerAvailabilityGroups_failoverMiLink и разрешения SqlServerAvailabilityGroups_deleteMiLink в Azure могут выполнять действия на странице миграции Database во время процесса миграции, которые повышают разрешения SQL Server учетной записи, используемой расширением, включая sysysadmin предопределенных ролей сервера.

На шаге "Миграция данных " расширение предоставляет разрешения jit-in-time при выборе кнопки "Начать миграцию данных " на вкладке "Проверка и создание " для миграции ссылки "Управляемый экземпляр". Для настройки распределенной группы доступности (AG) учетной записи службы требуются повышенные разрешения. Он отменяет разрешения после создания распределенной группы доступности, а развертывание, видимое на портале Azure, находится в состоянии завершения. Если в то же время выполняется другая миграция, расширение не отменяет разрешения до создания последней распределенной группы доступности.

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

Тип объекта Имя базы данных или объекта 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-разрешения при выборе параметра полной отрезки для миграции ссылки управляемого экземпляра. Расширение отменяет разрешения после завершения переключений.

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

Тип объекта Имя базы данных или объекта Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin1

1 Если включена минимальная привилегия, полное действие переключение также предоставляет предопределенную роль NT SERVICE\SqlServerExtension сервера sysadmin учетной записи во время перехода. Эта роль требуется для отработки отказа распределенной группы доступности для перехода на Управляемый экземпляр SQL Azure.

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

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

Тип объекта Имя базы данных или объекта Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin1

1 Если включена минимальная привилегия, действие отмены также предоставляет предопределяемую роль NT SERVICE\SqlServerExtension сервера sysadmin учетной записи во время запроса отмены. Эта роль требуется при удалении распределенной группы доступности.

Оценка миграции

Оценки миграции включены по умолчанию.

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

Тип объекта Имя базы данных или объекта Privilege
Database Все базы данных SELECT sys.sql_expression_dependencies
Database msdb EXECUTE dbo.agent_datetime
Database msdb SELECT dbo.syscategories
Database msdb SELECT dbo.sysjobhistory
Database msdb SELECT dbo.sysjobs
Database msdb SELECT dbo.sysjobsteps
Database msdb SELECT dbo.sysmail_account
Database msdb SELECT dbo.sysmail_profile
Database msdb SELECT dbo.sysmail_profileaccount
Database msdb SELECT dbo.syssubsystems

Purview

Функции Purview отключены по умолчанию.

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

Тип объекта Имя базы данных или объекта Privilege
Database Все базы данных EXECUTE
Database Все базы данных SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

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

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

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

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

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

Дополнительные разрешения

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

  • Доступ к службе расширений и настройка автоматического восстановления.
  • Войдите в систему как услуга.