Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Het informatiebeveiligingsprincipe van minimale bevoegdheden bevestigt dat accounts en toepassingen alleen toegang hebben tot de gegevens en bewerkingen die ze nodig hebben. Als SQL Server is ingeschakeld door Azure Arc, kunt u de agentextensieservice uitvoeren met minimale bevoegdheden. In dit artikel wordt uitgelegd hoe u de agentextensieservice uitvoert met minimale bevoegdheden.
Als u de service optioneel wilt configureren voor uitvoering met minimale bevoegdheden, volgt u de stappen in dit artikel. Momenteel wordt de service niet automatisch uitgevoerd met minimale bevoegdheden.
Configureer Windows-serviceaccounts en -machtigingen voor Azure-extensie voor SQL Server om de machtigingen met minimale bevoegdheden voor de agentextensieservice te beschrijven.
Notitie
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.
Nadat u de agentextensieservice hebt geconfigureerd voor uitvoering met minimale bevoegdheden, wordt het NT Service\SQLServerExtension serviceaccount gebruikt.
Het NT Service\SQLServerExtension account is een lokaal Windows-serviceaccount:
- Gemaakt en beheerd door de Azure-extensie voor SQL Server wanneer de optie voor minimale bevoegdheden is ingeschakeld.
- De minimaal vereiste machtigingen en bevoegdheden verleend om de Azure-extensie voor sql Server-service uit te voeren op het Windows-besturingssysteem. Het heeft alleen toegang tot mappen en directories die worden gebruikt voor het lezen en opslaan van configuraties of voor het schrijven van logboeken.
- Toestemming verleend om verbinding te maken en query's uit te voeren in SQL Server met een nieuwe aanmelding, specifiek voor dat serviceaccount waarvoor de minimale machtigingen zijn vereist. Minimale machtigingen zijn afhankelijk van de ingeschakelde functies.
- Bijgewerkt wanneer machtigingen niet meer nodig zijn. Machtigingen worden bijvoorbeeld ingetrokken wanneer u een functie uitschakelt, configuratie met minimale bevoegdheden uitschakelt of de Azure-extensie voor SQL Server verwijdert. Intrekking zorgt ervoor dat er geen machtigingen meer nodig zijn nadat ze niet meer nodig zijn.
Voorwaarden
In deze sectie vindt u de systeemvereisten en hulpprogramma's die u nodig hebt om het voorbeeld in dit artikel te voltooien.
Systeemvereisten
Voor de configuratie met minimale bevoegdheden is het volgende vereist:
- Windows Server 2012 of hoger
- SQL Server 2012 of hoger
- Het SQL Server-serviceaccount moet lid zijn van de
sysadminvaste serverrol - Alle databases moeten online zijn en kunnen worden bijgewerkt
De configuratie met minimale bevoegdheden wordt momenteel niet ondersteund in Linux.
Andere vereisten, zoals vermeld in Vereisten: SQL Server ingeschakeld door Azure Arc, zijn nog steeds van toepassing.
SQL Server serviceaccount
Het SQL Server-serviceaccount is standaard lid van de sysadmin vaste serverfunctie.
Zoals vermeld in de vereisten, moet het SQL Server-serviceaccount lid zijn van de sysadmin vaste serverrol op elk SQL Server-exemplaar. De Azure-extensie voor SQL Server heeft een proces Deployer.exe dat tijdelijk wordt uitgevoerd als NT AUTHORITY\SYSTEM wanneer:
- Functies zijn ingeschakeld of uitgeschakeld
- SQL Server-exemplaren worden toegevoegd of verwijderd
Deployer.exe imiteert het SQL Server-serviceaccount om verbinding te maken met SQL Server en machtigingen toe te voegen of te verwijderen in server- en databasefuncties, afhankelijk van welke functies zijn ingeschakeld of uitgeschakeld om ervoor te zorgen dat de Azure-extensie voor SQL Server de minste bevoegdheden gebruikt die vereist zijn. Als u deze machtigingen wilt wijzigen, moet het SQL Server-serviceaccount lid zijn van de sysadmin serverfunctie.
Als u dit proces met meer controle wilt beheren, zodat het SQL Server-serviceaccount altijd geen lid is van de serverrol sysadmin, voert u de volgende stappen uit:
- Voeg tijdelijk het SQL Server-serviceaccount toe aan de serverfunctie sysadmin.
- Laat
Deployer.exeminstens één keer draaien, zodat de machtigingen zijn ingesteld. - Verwijder het SQL Server-serviceaccount uit de rol sysadmin.
Herhaal deze procedure wanneer functies zijn ingeschakeld of uitgeschakeld of SQL Server-exemplaren worden toegevoegd om Deployer.exe de minste vereiste bevoegdheden te verlenen.
Gereedschap
Als u de stappen in dit artikel wilt uitvoeren, hebt u de volgende hulpprogramma's nodig:
- Azure CLI
-
arcdataVersie van Azure CLI-extensie1.5.9of hoger - Azure-extensie voor SQL Server-versie
1.1.2504.99of hoger
Minimale bevoegdheden inschakelen
Meld u aan met Azure CLI.
az loginControleer de
arcdata-extensieversie.az extension list -o tableAls de resultaten een ondersteunde versie van
arcdatabevatten, gaat u verder met de volgende stap.Installeer of werk de
arcdataAzure CLI-extensie zo nodig bij.De extensie installeren:
az extension add --name arcdataDe extensie bijwerken:
az extension update --name arcdataSchakel minimale bevoegdheden in met Azure CLI.
Als u minimale bevoegdheden wilt inschakelen, stelt u de
LeastPrivilegefunctievlag in optrue. Voer de volgende opdracht uit met bijgewerkte waarden voor de<resource-group>en<machine-name>om deze taak te voltooien.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>Met de volgende opdracht kunt u bijvoorbeeld minimale bevoegdheden inschakelen voor een server met de naam
myserverin een resourcegroep met de naammyrg:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
De configuratie van minimale bevoegdheden controleren
Ga als volgt te werk om te controleren of uw SQL Server die is ingeschakeld door Azure Arc is geconfigureerd voor uitvoering met minimale bevoegdheden:
In de Windows-services zoek je de Microsoft SQL Server Extension Service-service op. Controleer of de service draait als het serviceaccount
NT Service\SqlServerExtension.Open taakplanner op de server en controleer of er een gebeurtenisgestuurde taak met de naam
SqlServerExtensionPermissionProvideris gemaakt onderMicrosoft\SqlServerExtension.Notitie
Vóór de release van juli 2024 is
SqlServerExtensionPermissionProvidereen geplande taak. Het draait elk uur.Open de taakplanner op de server en controleer of er een geplande taak met de naam
SqlServerExtensionPermissionProvideris gemaakt onderMicrosoft\SqlServerExtension.Open SQL Server Management Studio en controleer de aanmelding met de naam
NT Service\SqlServerExtension. Controleer of aan het account deze machtigingen zijn toegewezen:- Verbinding maken met SQL
- Databasestatus weergeven
- Serverstatus weergeven
Valideer de machtigingen met de volgende query's:
Voer de volgende query uit om machtigingen op serverniveau te controleren:
EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' SELECT * FROM fn_my_permissions (NULL, 'SERVER');Als u machtigingen op databaseniveau wilt controleren, vervangt u deze door
<database name>de naam van een van uw databases en voert u de volgende query uit:EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' USE <database name>; SELECT * FROM fn_my_permissions (NULL, 'database');