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

Van toepassing op:SQL Server

Dit artikel bevat de machtigingen die de Azure-extensie voor SQL Server verleent aan het NT SERVICE\SqlServerExtension-account wanneer u machtiging 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 de 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.

Daarnaast moet NT AUTHORITY\SYSTEM een actieve SQL Server-aanmelding hebben met CONNECT SQL machtiging voor elk SQL Server exemplaar. De deployer maakt verbinding met SQL Server als NT AUTHORITY\SYSTEM om alle machtigingen op SQL-niveau te configureren die in dit artikel worden beschreven. Als deze aanmelding is uitgeschakeld, verwijderd of geweigerd CONNECT SQL , kan de deployer geen SQL-machtigingen configureren in de modus standaard of minimale bevoegdheden. Zie Vereisten voor verificatiestappen.

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- 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 bij alle exemplaren 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. Rollen worden niet gebruikt met de modus met minimale bevoegdheden.

Machtigingsgegevens voor NT SERVICE\SqlServerExtension-account

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
Migratie-evaluatie Standaard ingeschakeld
Databasemigratie Standaard ingeschakeld
Herstel op een specifiek 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 is standaard ingeschakeld en vereist alleen de machtigingen die worden vermeld in standaarduitbreidingsmachtigingen, hoewel sommige machtigingen just-in-time 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_failoverMiLink en SqlServerAvailabilityGroups_deleteMiLink machtigingen in Azure acties kunnen uitvoeren op de pagina Databasemigratie tijdens het migratieproces waarmee de SQL Server machtigingen van het account dat door de extensie wordt gebruikt, worden uitgebreid, inclusief de sysadmin vaste serverrol.

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 (AG) te configureren. Hiermee worden machtigingen ingetrokken zodra de gedistribueerde beschikbaarheidsgroep is gemaakt en de implementatie zichtbaar is in de 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 Managed Instance koppelingsmigratie verkrijgt de volgende machtigingen tijdens het maken van de aanvraag:

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 Managed Instance koppelingsmigratie verkrijgt de volgende machtigingen tijdens de volledige aanvraag:

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

1 Als minimale bevoegdheid is ingeschakeld, verleent de volledige cutover-actie ook de vaste serverfunctie sysadmin aan het NT SERVICE\SqlServerExtension account tijdens de cutover. Deze rol is vereist om een failover uit te voeren van de gedistribueerde beschikbaarheidsgroep voor cutover naar de 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 Managed Instance koppelingsmigratie verkrijgt de volgende machtigingen tijdens de annuleringsaanvraag:

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

1 Als minimale bevoegdheid is ingeschakeld, verleent de actie Annuleren ook de vaste serverfunctie sysadmin aan het NT SERVICE\SqlServerExtension account tijdens 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.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

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 wanneer 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, worden verlopen machtigingen automatisch ingetrokken door een opschoontaak op de achtergrond die elke 50 minuten wordt uitgevoerd.

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

Voor het serviceaccount zijn de volgende machtigingen vereist:

  • Open de extensieservice en configureer autoherstel.
  • Meld u aan als service.