Delen via


Windows-serviceaccounts en -machtigingen configureren voor Azure-extensie voor SQL Server

Van toepassing op:SQL Server

In dit artikel worden de machtigingen vermeld die de Azure-extensie voor SQL Server aan het NT Service\SQLServerExtension account verleent wanneer u de minste bevoegdheid gebruikt voor SQL Server-exemplaren die zijn ingeschakeld door Azure Arc. Met de configuratie met minimale bevoegdheden verleent de extensie alleen benodigde machtigingen wanneer u functies inschakelt in Azure Portal.

Note

NT Authority\System moet toegang hebben tot het wijzigen van machtigingen voor vermelde mappen en registersleutels. Deze toegang is nodig, zodat NT Authority\System de vereiste toegang tot het account kan worden verleend voor de NT Service\SqlServerExtension modus met minimale bevoegdheden.

Overview

Wanneer u SQL Server verbindt met Azure Arc waarvoor minimale bevoegdheden zijn ingeschakeld, verleent de Azure Arc-extensie het serviceaccount NT SERVICE\SQLServerExtension, alleen de machtigingen die elke functie nodig heeft wanneer u die functie inschakelt. De extensie verwijdert deze machtigingen automatisch als u de functie uitschakelt. Als een functie inactief is, verleent de extensie geen machtigingen voor die functie.

Het handmatig instellen van de machtigingen voor het agentaccount wordt niet ondersteund.

Note

Op dit moment wordt de configuratie met minimale bevoegdheden niet standaard toegepast.

Op bestaande servers met extensieversie 1.1.2859.223 of hoger wordt uiteindelijk de configuratie met minimale bevoegdheden toegepast. Deze extensie is uitgebracht in november 2024. Als u de automatische toepassing van minimale bevoegdheden wilt voorkomen, blokkeert u uitbreidingsupgrades na 1.1.2859.223.

In de sectie SQL-bevoegdheden per functie worden de machtigingen uitgelegd die de extensie verleent wanneer u de volgende functies inschakelt:

Mapmachtigingen

Mappad Vereiste toestemmingen Details Feature
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer Volledig beheer Extensiegerelateerde DLL's en EXE-bestanden. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings Volledig beheer Bestand met extensie-instellingen. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status Volledig beheer Extensiestatusbestand. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer Volledig beheer Extensielogboekbestanden. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json Volledig beheer Heartbeat-extensiebestand. Default
%ProgramFiles%\Sql Server Extension Volledig beheer Extensieservicebestanden. Default
<SystemDrive>\Windows\system32\extensionUpload Volledig beheer Vereist voor het schrijven van het gebruiksbestand dat nodig is voor facturering. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log Volledig beheer Map vóór logboek gemaakt met extensie. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Map met Arc-configuratiebestanden. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent Volledig beheer Vereist voor het schrijven van evaluatierapporten en -status. Default
SQL-logboekmap (zoals ingesteld in register) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
Read Vereist voor het extraheren van SQL vCores-gegevens uit SQL-logboeken. Default
SQL-back-upmap (zoals ingesteld in register) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write/Delete Vereist voor back-ups Backup

1 Zie Bestandslocaties en registertoewijzing voor meer informatie.

Registermachtigingen

Basissleutel: HKEY_LOCAL_MACHINE

Registersleutel Vereiste machtiging Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read LEES SQL Server-eigenschappen zoals installedInstances. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Volledig beheer Microsoft Entra ID en Purview. Microsoft Entra-id

Purview
SOFTWARE\Microsoft\SystemCertificates Volledig beheer Vereist voor Microsoft Entra-id. Microsoft Entra-id
SYSTEM\CurrentControlSet\Services Read Sql Server-accountnaam. Default
SOFTWARE\Microsoft\AzureDefender\SQL Read Azure Defender-status en laatste updatetijd. Default
SOFTWARE\Microsoft\SqlServerExtension Volledig beheer Extensiegerelateerde waarden. Default
SOFTWARE\Policies\Microsoft\Windows Lezen en schrijven Automatische Windows Update inschakelen via extensie. Automatische updates

Groepsmachtigingen

NT Service\SQLServerExtension wordt toegevoegd aan hybride agentuitbreidingstoepassingen. Hierdoor kan de handshake van Azure Instance Metadata Service (IMDS) het beheerde identiteitstoken van de machineresource ophalen dat is vereist om te communiceren met Azure-gegevensvlakservices, zoals de Data Processing Service (DPS) en het telemetrie-eindpunt voor facturering, extensielogboeken en het verzamelen van dashboardgegevens.

SQL-machtigingen

Het NT Service\SQLServerExtension account wordt toegevoegd:

  • Als SQL-aanmelding voor alle exemplaren die momenteel aanwezig zijn op de computer
  • Als gebruiker in elke database

De extensie verleent ook machtigingen voor exemplaren en databaseobjecten wanneer functies zijn ingeschakeld.

Note

Minimale machtigingen zijn afhankelijk van ingeschakelde functies. De machtigingen voor extensies worden bijgewerkt wanneer ze niet meer nodig zijn. Het verleent de benodigde machtigingen wanneer u functies inschakelt.

NT Service\SQLServerExtension accountmachtigingsgegevens

Registratiepad Toestemming Het bijbehorende risico op machtigingen als het NT Service\SQLServerExtension account is gecompromitteerd
SOFTWARE\Microsoft\Microsoft SQL Server Read Extensie kan zien welke SQL Server-versies zijn geïnstalleerd.
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER Volledig beheer Alleen nodig wanneer Microsoft Entra-verificatie of Purview is ingeschakeld. De extensie kan de SQL Server-configuratie wijzigen.
SOFTWARE\Microsoft\SystemCertificates Volledig beheer Alleen nodig wanneer Microsoft Entra-verificatie is ingeschakeld. Extensie kan vertrouwde basiscertificeringsinstanties vervangen.
SYSTEM\CurrentControlSet\Services Read Extensie kan serviceaccountnamen zien.
SOFTWARE\Microsoft\AzureDefender\SQL Read Extensie kan de status en updatetijden van Microsoft Defender leren.
SOFTWARE\Microsoft\SqlServerExtension Volledig beheer Extensie kan extensie-instellingen wijzigen.
SOFTWARE\Policies\Microsoft\Windows Lezen en schrijven Alleen nodig wanneer automatisch bijwerken is ingeschakeld. De extensie kan het Windows Update-beleid wijzigen en Device Guard uitschakelen, waarmee code-integriteit en beveiliging op basis van virtualisatie worden gecontroleerd, uitgebreide blootstelling vanwege gemiste patches.

SQL-bevoegdheden per functie

De volgende tabel bevat het standaardgedrag voor de functies die machtigingen beheren die zijn verleend door de Azure-extensie voor SQL Server:

Feature Standaardgedrag
Standaardmachtigingen voor extensies Standaard ingeschakeld
Automatische back-ups Standaard uitgeschakeld
Beschikbaarheidsgroepen Standaard ingeschakeld
Beoordeling van beste praktijken Standaard uitgeschakeld
Databasemigratie (preview) Standaard ingeschakeld
Migratie-evaluatie Standaard ingeschakeld
Herstel naar een bepaald tijdstip Standaard uitgeschakeld
Purview Standaard uitgeschakeld

Standaardmachtigingen voor extensies

De volgende standaardmachtigingen zijn de minimale vereiste voor het basisniveau van de functionaliteit die wordt geboden door de Azure-extensie voor SQL Server en moet worden toegepast:

Objectsoort Database- of objectnaam 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

Automatische back-ups

Automatische back-ups zijn standaard uitgeschakeld. De extensie verleent back-upmachtigingen aan elke database waarvoor automatische back-ups zijn ingeschakeld. Als u de back-upfunctie inschakelt, wordt ook de functie voor herstel naar een bepaald tijdstip ingeschakeld, zodat ook de machtiging voor het maken van een database wordt verleend.

Als de functies zijn ingeschakeld, verleent de extensie automatisch de volgende machtigingen:

Objectsoort Database- of objectnaam Privilege
Database Alle databases DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Beschikbaarheidsgroepen

Detectie- en beheerfuncties van beschikbaarheidsgroepen, zoals failover, zijn standaard ingeschakeld, maar u kunt deze uitschakelen via de AvailabilityGroupDiscovery functievlag.

Als de functie is ingeschakeld, verleent de extensie automatisch de volgende machtigingen:

Objectsoort Database- of objectnaam Privilege
Server ALTER ANY AVAILABILITY GROUP
Server VIEW ANY DEFINITION

Evaluatie van best practices

De evaluatie van best practices is standaard uitgeschakeld.

Als de functie is ingeschakeld, verleent de extensie automatisch de volgende machtigingen:

Objectsoort Database- of objectnaam 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

Databasemigratie

De functie Databasemigratie (preview) is standaard ingeschakeld en vereist alleen de machtigingen die worden vermeld in standaarduitbreidingsmachtigingen, hoewel sommige machtigingen die worden gebruikt door de functie Databasemigratie (preview) just-in-time-machtigingen worden verleend wanneer een specifieke migratieactie wordt uitgevoerd.

Voor de volgende acties zijn extra machtigingen vereist die de extensie Just-In-Time verleent:

Note

Gebruikers met de SqlServerAvailabilityGroups_CreateManagedInstanceLink, SqlServerAvailabilityGroups_failoverMiLinken SqlServerAvailabilityGroups_deleteMiLink machtigingen in Azure kunnen acties uitvoeren op de pagina Databasemigratie (preview) tijdens het migratieproces waarmee de SQL Server-machtigingen van het account dat door de extensie wordt gebruikt, worden uitgebreid, inclusief de sysadmin rol.

In de stap Gegevens migreren verleent de extensie Just-In-Time-machtigingen wanneer u Gegevensmigratie starten selecteert op het tabblad Controleren en maken voor een migratie van een beheerde instantiekoppeling. Het serviceaccount heeft verhoogde machtigingen nodig om de gedistribueerde beschikbaarheidsgroep te configureren. Hiermee worden machtigingen ingetrokken zodra de gedistribueerde beschikbaarheidsgroep is gemaakt en de implementatie die zichtbaar is in Azure Portal, de status Voltooid heeft. Als een andere migratie tegelijkertijd wordt uitgevoerd, worden de machtigingen pas ingetrokken als de laatste gedistribueerde beschikbaarheidsgroep is gemaakt.

De actie voor het maken van een migratie van een managed instance-koppeling verkrijgt de volgende machtigingen voor de duur van de aanvraag voor maken:

Objectsoort Database- of objectnaam 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]

In de stap Monitor en cutover verleent de extensie Just-In-Time-machtigingen wanneer u de cutover-optie Voltooien selecteert voor een migratie van een beheerde instantiekoppeling. De extensie trekt machtigingen in nadat de cutover is voltooid.

De actie voor het voltooien van de cutover van een migratie van een managed instance-koppeling krijgt de volgende machtigingen voor de duur van de volledige aanvraag:

Objectsoort Database- of objectnaam Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 Als minimale bevoegdheid is ingeschakeld, verleent de volledige cutover-actie ook de sysadmin rol aan het NT Service\SQLServerExtension account voor de duur van de cutover. Deze rol is vereist om een failover uit te voeren van de gedistribueerde beschikbaarheidsgroep voor cutover naar azure SQL Managed Instance.

In de stap Monitor en cutover verleent de extensie Just-In-Time-machtigingen wanneer u de optie Migratie annuleren selecteert voor een migratie van een beheerde instantiekoppeling. De extensie trekt machtigingen in nadat de migratie is geannuleerd.

De actie voor het annuleren van een migratie van een managed instance-koppeling krijgt de volgende machtigingen voor de duur van de annuleringsaanvraag:

Objectsoort Database- of objectnaam Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 Als minimale bevoegdheid is ingeschakeld, verleent de actie Annuleren ook de sysadmin rol aan het NT Service\SQLServerExtension account voor de duur van de annuleringsaanvraag. Deze rol is vereist bij het verwijderen van een gedistribueerde beschikbaarheidsgroep.

Migratie-evaluatie

Migratie-evaluaties zijn standaard ingeschakeld.

Als de functie is uitgeschakeld, trekt de extensie de volgende machtigingen in, tenzij voor andere ingeschakelde functies deze zijn vereist:

Objectsoort Database- of objectnaam Privilege
Database Alle 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

De Functies van Purview zijn standaard uitgeschakeld.

Als de functie is ingeschakeld, verleent de extensie automatisch de volgende machtigingen:

Objectsoort Database- of objectnaam Privilege
Database Alle databases EXECUTE
Database Alle databases SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

Just-In-Time SQL-machtigingen

Sommige SQL-machtigingen worden alleen toegewezen op het moment dat ze nodig zijn om een specifieke actie uit te voeren en worden ingetrokken zodra de bewerking waarvoor de machtigingen zijn voltooid. Als het intrekken niet kan worden uitgevoerd, wordt met een opschoontaak op de achtergrond die elke 50 minuten wordt uitgevoerd, automatisch machtigingen ingetrokken die verlopen zijn.

Just-In-Time-machtigingen worden toegewezen aan het serviceaccount:

  • NT Service\SQLServerExtension als minimale bevoegdheid is ingeschakeld
  • Lokaal systeemaccount als minimale bevoegdheid is uitgeschakeld.

Op dit moment gebruikt de volgende functie Just-In-Time-machtigingen:

  • Databasemigratie bij het gebruik van de migratieoptie voor het koppelen van beheerde exemplaren.

Aanvullende machtigingen

  • Machtigingen voor het serviceaccount voor toegang tot de extensieservice en het configureren van autoherstel.
  • Log-on-as-servicerechten voor serviceaccount.