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


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

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

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

Note

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

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_CreateManagedInstanceLinkSqlServerAvailabilityGroups_failoverMiLinkSqlServerAvailabilityGroups_deleteMiLink разрешениями и разрешениями в Azure могут выполнять действия на странице миграции базы данных во время процесса миграции, повышающего разрешения SQL Server учетной записи, используемой расширением, включая sysadmin роль.

На шаге "Миграция данных " расширение предоставляет разрешения jit-in-time при выборе кнопки "Начать миграцию данных " на вкладке "Проверка и создание " для миграции ссылки "Управляемый экземпляр". Учетная запись службы должна иметь повышенные разрешения для настройки распределенной группы доступности. Он отменяет разрешения после создания распределенной группы доступности, а развертывание, видимое на портале 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 sysadmin 1

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

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

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

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

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

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

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

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

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

Функции 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:

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

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