Konfigurowanie kont i uprawnień usługi Windows dla rozszerzenia Azure dla SQL Server

Dotyczy:SQL Server

W tym artykule wymieniono uprawnienia Azure Extension for SQL Server granty na konto NT SERVICE\SqlServerExtension w przypadku używania least privilege dla SQL Server wystąpień włączonych przez Azure Arc. W przypadku konfiguracji najniższych uprawnień rozszerzenie udziela tylko niezbędnych uprawnień po włączeniu funkcji w portalu Azure.

Note

NT AUTHORITY\SYSTEM musi mieć dostęp do modyfikowania uprawnień na liście katalogów i kluczy rejestru. Ten dostęp jest niezbędny, NT AUTHORITY\SYSTEM aby umożliwić przyznanie wymaganego NT SERVICE\SqlServerExtension dostępu do konta w trybie najniższych uprawnień.

Ponadto NT AUTHORITY\SYSTEM musi mieć aktywne logowanie SQL Server z uprawnieniami CONNECT SQL dla każdego wystąpienia SQL Server. Narzędzie wdrażające łączy się z SQL Server jako NT AUTHORITY\SYSTEM w celu skonfigurowania wszystkich uprawnień na poziomie SQL opisanych w tym artykule. Jeśli ta nazwa logowania jest wyłączona, usunięta lub odrzucona CONNECT SQL , narzędzie wdrażające nie może skonfigurować uprawnień SQL w trybie standardowym lub najniższym. Zobacz Wymagania wstępne dotyczące kroków weryfikacji.

Overview

Po nawiązaniu połączenia programu SQL Server z usługą Azure Arc z włączonym najniższym uprawnieniami rozszerzenie usługi Azure Arc udziela konta usługi , NT SERVICE\SqlServerExtensiontylko uprawnienia, których potrzebuje każda funkcja po włączeniu tej funkcji. Rozszerzenie automatycznie usuwa te uprawnienia, jeśli wyłączysz tę funkcję. Jeśli funkcja jest nieaktywna, rozszerzenie nie udziela żadnych uprawnień dla tej funkcji.

Ręczne ustawianie uprawnień dla konta agenta nie jest obsługiwane.

Note

Obecnie konfiguracja o najniższych uprawnieniach nie jest domyślnie stosowana.

Istniejące serwery z wersją rozszerzenia 1.1.2859.223 lub nowsze będą miały ostatecznie zastosowaną najmniej uprzywilejowaną konfigurację. To rozszerzenie zostało wydane w listopadzie 2024 r. Aby zapobiec automatycznej aplikacji najniższych uprawnień, zablokuj uaktualnienia rozszerzeń po 1.1.2859.223.

Sekcja Uprawnienia SQL według funkcji zawiera opis uprawnień udzielanych przez rozszerzenie w przypadku włączenia następujących funkcji:

Uprawnienia do katalogu

Ścieżka katalogu Wymagane uprawnienia Details Feature
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer Pełna kontrola Pliki DLL i EXE związane z rozszerzeniem. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings Pełna kontrola Plik ustawień rozszerzenia. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status Pełna kontrola Plik stanu rozszerzenia. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer Pełna kontrola Pliki dziennika rozszerzeń. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json Pełna kontrola Plik pulsu rozszerzenia. Default
%ProgramFiles%\Sql Server Extension Pełna kontrola Pliki usługi rozszerzenia. Default
<SystemDrive>\Windows\system32\extensionUpload Pełna kontrola Wymagane do zapisania pliku użycia wymaganego do rozliczeń. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log Pełna kontrola Folder przed dziennikami utworzony przez rozszerzenie. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Katalog plików konfiguracji usługi Arc. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent Pełna kontrola Wymagane do pisania raportów i stanu oceny. Default
Katalog dziennika SQL (zgodnie z ustawieniem w rejestrze) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
Read Wymagane do wyodrębnienia informacji o rdzeniach wirtualnych SQL z dzienników SQL. Default
Katalog kopii zapasowych SQL (zgodnie z zestawem w rejestrze) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write /Delete Wymagane do tworzenia kopii zapasowych Backup

1 Aby uzyskać więcej informacji, zobacz Lokalizacje plików i mapowanie rejestru.

Uprawnienia rejestru

Klucz podstawowy: HKEY_LOCAL_MACHINE

Klucz rejestru Wymagane uprawnienie Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read Przeczytaj właściwości programu SQL Server, takie jak installedInstances. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Pełna kontrola Microsoft Entra ID i Purview. Microsoft Entra ID

Purview
SOFTWARE\Microsoft\SystemCertificates Pełna kontrola Wymagany dla identyfikatora Entra firmy Microsoft. Microsoft Entra ID
SYSTEM\CurrentControlSet\Services Read Nazwa konta programu SQL Server. Default
SOFTWARE\Microsoft\AzureDefender\SQL Read Stan usługi Azure Defender i czas ostatniej aktualizacji. Default
SOFTWARE\Microsoft\SqlServerExtension Pełna kontrola Wartości związane z rozszerzeniem. Default
SOFTWARE\Policies\Microsoft\Windows Odczyt i zapis Włączanie automatycznej aktualizacji Windows za pomocą rozszerzenia. Aktualizacje automatyczne

Uprawnienia grupy

NT SERVICE\SqlServerExtension jest dodawany do aplikacji rozszerzenia agenta hybrydowego. Dzięki temu uzgadnianie usługi Azure Instance Metadata Service (IMDS) umożliwia pobranie tokenu tożsamości zarządzanej zasobu maszyny wymaganego do komunikowania się z usługami płaszczyzny danych platformy Azure, takimi jak usługa przetwarzania danych (DPS) i punkt końcowy telemetrii na potrzeby użycia rozliczeń, dzienników rozszerzeń i zbierania danych pulpitu nawigacyjnego monitorowania.

Uprawnienia SQL

Konto NT SERVICE\SqlServerExtension jest dodawane:

  • Jako identyfikator logowania SQL do wszystkich wystąpień na maszynie
  • Jako użytkownik w każdej bazie danych

Rozszerzenie przyznaje również uprawnienia do obiektów wystąpień i baz danych w miarę włączania funkcji.

Note

Minimalne uprawnienia zależą od funkcji z włączoną obsługą. Rozszerzenie aktualizuje uprawnienia, gdy nie są już potrzebne. Udziela niezbędnych uprawnień podczas włączania funkcji. Role nie są używane w trybie najniższych uprawnień.

NT SERVICE\SqlServerExtension szczegóły uprawnień konta

Ścieżka rejestru Pozwolenie Powiązane ryzyko związane z uprawnieniami w przypadku NT SERVICE\SqlServerExtension naruszenia zabezpieczeń konta
SOFTWARE\Microsoft\Microsoft SQL Server Read Rozszerzenie może zobaczyć, które wersje programu SQL Server są zainstalowane.
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER Pełna kontrola Wymagane tylko w przypadku włączenia uwierzytelniania microsoft Entra lub usługi Purview. Rozszerzenie może zmodyfikować konfigurację programu SQL Server.
SOFTWARE\Microsoft\SystemCertificates Pełna kontrola Wymagane tylko w przypadku włączenia uwierzytelniania entra firmy Microsoft. Rozszerzenie może zastąpić zaufane główne urzędy certyfikacji.
SYSTEM\CurrentControlSet\Services Read Rozszerzenie może wyświetlać nazwy kont usługi.
SOFTWARE\Microsoft\AzureDefender\SQL Read Rozszerzenie może poznać czasy aktualizacji i stanu usługi Microsoft Defender.
SOFTWARE\Microsoft\SqlServerExtension Pełna kontrola Rozszerzenie może zmienić ustawienia rozszerzenia.
SOFTWARE\Policies\Microsoft\Windows Odczyt i zapis Wymagane tylko w przypadku włączenia automatycznej aktualizacji . Rozszerzenie może zmienić zasady usługi Windows Update i wyłączyć funkcję Device Guard, która kontroluje integralność kodu i zabezpieczenia oparte na wirtualizacji, rozszerzoną ekspozycję z powodu nieodebranych poprawek.

Uprawnienia SQL według funkcji

W poniższej tabeli wymieniono domyślne zachowanie funkcji, które kontrolują uprawnienia przyznane przez rozszerzenie platformy Azure dla programu SQL Server:

Feature Zachowanie domyślne
Domyślne uprawnienia rozszerzenia Domyślnie włączone
Automatyczne kopie zapasowe Domyślnie wyłączone
Grupy dostępności Domyślnie włączone
Ocena najlepszych rozwiązań Domyślnie wyłączone
Ocena migracji Domyślnie włączone
Migracja bazy danych Domyślnie włączone
Przywracanie punktowe Domyślnie wyłączone
Purview Domyślnie wyłączone

Domyślne uprawnienia rozszerzenia

Następujące uprawnienia domyślne są minimalnym wymaganiem dla podstawowego poziomu funkcjonalności udostępnianego przez rozszerzenie platformy Azure dla programu SQL Server i muszą być stosowane:

Typ obiektu Nazwa bazy danych lub obiektu 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

Automatyczne kopie zapasowe

Automatyczne kopie zapasowe są domyślnie wyłączone. Rozszerzenie przyznaje uprawnienia kopii zapasowej do dowolnej bazy danych z włączonymi automatycznymi kopiami zapasowymi. Włączenie funkcji tworzenia kopii zapasowej umożliwia również funkcję przywracania do punktu w czasie , więc uprawnienie do tworzenia bazy danych również jest przyznawane.

Jeśli funkcje są włączone, rozszerzenie automatycznie udziela następujących uprawnień:

Typ obiektu Nazwa bazy danych lub obiektu Privilege
Database Wszystkie bazy danych DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Grupy dostępności

Odnajdywanie grup dostępności i funkcje zarządzania, takie jak przełączanie w tryb failover, są domyślnie włączone, ale można je wyłączyć za pomocą AvailabilityGroupDiscovery flagi funkcji.

Jeśli funkcja jest włączona, rozszerzenie automatycznie udziela następujących uprawnień:

Typ obiektu Nazwa bazy danych lub obiektu Privilege
Server ALTER ANY AVAILABILITY GROUP
Server VIEW ANY DEFINITION

Ocena najlepszych rozwiązań

Ocena najlepszych rozwiązań jest domyślnie wyłączona.

Jeśli funkcja jest włączona, rozszerzenie automatycznie udziela następujących uprawnień:

Typ obiektu Nazwa bazy danych lub obiektu 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

Migracja bazy danych

Funkcja migracji bazy danych jest domyślnie włączona i wymaga tylko uprawnień wymienionych w domyślnych uprawnieniach rozszerzenia, chociaż niektóre uprawnienia są przyznawane just in time po wykonaniu konkretnej akcji migracji.

Następujące akcje wymagają dodatkowych uprawnień, które rozszerzenie przyznaje just in time:

Note

Użytkownicy z SqlServerAvailabilityGroups_CreateManagedInstanceLink, SqlServerAvailabilityGroups_failoverMiLink i SqlServerAvailabilityGroups_deleteMiLink uprawnienia w Azure mogą wykonywać akcje na >Database migracji stronie podczas procesu migracji, która podnosi uprawnienia SQL Server konta używanego przez rozszerzenie, w tym sysadmin stałej roli serwera.

W kroku Migrowanie danych rozszerzenie udziela uprawnień just in time po wybraniu pozycji Rozpocznij migrację danych na karcie Przeglądanie i tworzenie migracji linku wystąpienia zarządzanego. Konto usługi wymaga podwyższonych uprawnień, aby skonfigurować rozproszoną grupę dostępności. Odwołuje uprawnienia po utworzeniu rozproszonej grupy dostępności, a wdrożenie widoczne w portalu Azure jest w stanie ukończonym. Jeśli inna migracja jest uruchomiona w tym samym czasie, rozszerzenie nie odwołuje uprawnień do czasu utworzenia ostatniej rozproszonej grupy dostępności.

Akcja utworzenia migracji łącza Managed Instance uzyskuje następujące uprawnienia podczas tworzenia żądania:

Typ obiektu Nazwa bazy danych lub obiektu 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]

W kroku Monitorowanie i przechodzenie jednorazowe rozszerzenie udziela uprawnień just in time po wybraniu opcji Zakończ migrację łącza wystąpienia zarządzanego. Rozszerzenie odwołuje uprawnienia po zakończeniu migracji jednorazowej.

Akcja ukończenia migracji jednorazowej Managed Instance linku uzyskuje następujące uprawnienia podczas pełnego żądania:

Typ obiektu Nazwa bazy danych lub obiektu Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin1

1 Jeśli jest włączona najmniejsza liczba uprawnień, kompletna akcja jednorazowej przyznaje również stałej roli serwera sysadmin do NT SERVICE\SqlServerExtension konta podczas migracji jednorazowej. Ta rola jest wymagana do przejścia w tryb failover rozproszonej grupy dostępności na potrzeby migracji jednorazowej do Azure SQL Managed Instance.

W kroku Monitorowanie i migracja jednorazowa rozszerzenie udziela uprawnień just in time po wybraniu opcji Anuluj migrację dla migracji linku wystąpienia zarządzanego. Rozszerzenie odwołuje uprawnienia po anulowaniu migracji.

Akcja anulowania migracji linku Managed Instance uzyskuje następujące uprawnienia podczas żądania anulowania:

Typ obiektu Nazwa bazy danych lub obiektu Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin1

1 Jeśli jest włączona najmniejsza liczba uprawnień, akcja anulowania przyznaje również stałej roli serwera sysadmin do NT SERVICE\SqlServerExtension konta podczas żądania anulowania. Ta rola jest wymagana podczas usuwania rozproszonej grupy dostępności.

Ocena migracji

Oceny migracji są domyślnie włączone.

Jeśli funkcja jest wyłączona, rozszerzenie odwołuje następujące uprawnienia, chyba że wymagają one innych funkcji z włączoną obsługą:

Typ obiektu Nazwa bazy danych lub obiektu Privilege
Database Wszystkie bazy danych 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

Funkcje usługi Purview są domyślnie wyłączone.

Jeśli funkcja jest włączona, rozszerzenie automatycznie udziela następujących uprawnień:

Typ obiektu Nazwa bazy danych lub obiektu Privilege
Database Wszystkie bazy danych EXECUTE
Database Wszystkie bazy danych SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

Uprawnienia just in time SQL

Niektóre uprawnienia SQL są przypisywane tylko wtedy, gdy są potrzebne do wykonania konkretnej akcji i są odwołyane natychmiast po zakończeniu operacji, która wymaga uprawnień. Jeśli nie można wykonać odwołania, zadanie oczyszczania w tle uruchamiane co 50 minut automatycznie odwołuje nieaktualne uprawnienia.

Uprawnienia just in time są przypisywane do konta usługi:

  • NT SERVICE\SqlServerExtension jeśli włączono najmniej uprawnień
  • Konto systemu lokalnego, jeśli jest wyłączone najmniejsze uprawnienia.

Obecnie następująca funkcja używa uprawnień just in time:

Dodatkowe uprawnienia

Konto usługi wymaga następujących uprawnień:

  • Uzyskaj dostęp do usługi rozszerzenia i skonfiguruj autorecovery.
  • Zaloguj się jako usługa.