Använda SQL Server som aktiveras av Azure Arc med minsta möjliga behörighet
gäller för:SQL Server
Principen för informationssäkerhet med minsta behörighet anger att konton och program endast har åtkomst till de data och åtgärder som krävs. Med SQL Server aktiverat av Azure Arc kan du köra agenttilläggstjänsten med minsta möjliga behörighet. Den här artikeln beskriver hur du kör agenttilläggstjänsten med minsta möjliga behörighet.
Om du vill konfigurera tjänsten så att den körs med minsta möjliga behörighet följer du stegen i den här artikeln. Tjänsten körs för närvarande inte automatiskt med minsta möjliga behörighet.
Konfigurera Windows-tjänstkonton och behörigheter för Azure-tillägget för SQL Server beskriver de minst behörigheter som gäller för agenttilläggstjänsten.
Obs
Befintliga servrar med tillägget från november 2024-versionen eller senare har automatiskt minst privilegierad konfiguration. Den här tillämpningen kommer att ske gradvis.
Blockera tilläggsuppgraderingar till november 2024-versionen för att förhindra automatisk tillämpning av lägsta behörighet.
När du har konfigurerat agenttilläggstjänsten så att den körs med minsta möjliga behörighet använder den NT Service\SQLServerExtension
tjänstkontot.
NT Service\SQLServerExtension
-kontot är ett lokalt Windows-tjänstkonto:
- Skapad och hanterad av Azure-tillägget för SQL Server när alternativet med minsta behörighet är aktiverat.
- Beviljat den minsta behörighet som krävs för att köra Azure-tillägget för SQL Server-tjänsten på Windows-operativsystemet. Den har bara åtkomst till mappar och kataloger som används för att läsa och lagra konfiguration eller skriva loggar.
- Beviljad behörighet att ansluta och fråga i SQL Server med en ny inloggning specifikt för det tjänstkonto som har de minsta behörigheter som krävs. Minsta behörigheter beror på de aktiverade funktionerna.
- Uppdateras när behörigheter inte längre behövs. Behörigheter återkallas till exempel när du inaktiverar en funktion, inaktiverar konfiguration av lägsta behörighet eller avinstallerar Azure-tillägget för SQL Server. Återkallning säkerställer att inga behörigheter finns kvar när de inte längre krävs.
Förutsättningar
Det här avsnittet identifierar systemkraven och verktygen som du behöver för att slutföra exemplet i den här artikeln.
Systemkrav
Konfigurationen med minst behörighet kräver:
- Windows Server 2012 eller senare
- SQL Server 2012 eller senare
- SQL Server-tjänstkontot måste vara medlem i
sysadmin
fast serverroll - Alla databaser måste vara online och uppdateringsbara
Konfigurationen med minst behörighet stöds för närvarande inte i Linux.
Andra krav, som anges i Förutsättningar – SQL Server möjliggjort av Azure Arc gäller fortfarande.
SQL Server-tjänstkonto
Som standard är SQL Server-tjänstkontot medlem i sysadmin
fast serverroll.
Som anges i förhandskraven måste SQL Server-tjänstkontot vara medlem i sysadmin
fast serverroll på varje SQL Server-instans. Azure-tillägget för SQL Server har en process som kallas Deployer.exe
som tillfälligt körs som NT AUTHORITY\SYSTEM
när:
- Funktioner är aktiverade eller inaktiverade
- SQL Server-instanser läggs till eller tas bort
Deployer.exe
personifierar SQL Server-tjänstkontot för att ansluta till SQL Server och lägga till eller ta bort behörigheter i server- och databasroller beroende på vilka funktioner som är aktiverade eller inaktiverade för att säkerställa att Azure-tillägget för SQL Server använder de lägsta behörigheter som krävs. Om du vill ändra dessa behörigheter måste SQL Server-tjänstkontot vara medlem i sysadmin
serverrollen.
Om du vill hantera den här processen med mer kontroll, så att SQL Server-tjänstkontot inte är medlem i sysadmin-serverrollen hela tiden, följer du dessa steg:
- Lägg tillfälligt till SQL Server-tjänstkontot i sysadmin-serverrollen.
- Tillåt att
Deployer.exe
körs minst en gång så att behörigheterna anges. - Ta bort SQL Server-tjänstkontot från sysadmin-rollen.
Upprepa den här proceduren när funktioner aktiveras eller inaktiveras eller SQL Server-instanser läggs till för att tillåta Deployer.exe
att bevilja de minsta behörigheter som krävs.
Arbetsredskap
För att slutföra stegen i den här artikeln behöver du följande verktyg:
- Azure CLI
-
arcdata
Azure CLI-tillägg version1.5.9
eller senare - Azure-tillägg för SQL Server-version
1.1.2504.99
eller senare
Aktivera minsta behörighet
Logga in med Azure CLI.
az login
Kontrollera
arcdata
-tilläggsversionen.az extension list -o table
Om resultatet innehåller en version av
arcdata
som stöds går du vidare till nästa steg.Om det behövs installerar eller uppdaterar du
arcdata
Azure CLI-tillägget.Så här installerar du tillägget:
az extension add --name arcdata
Så här uppdaterar du tillägget:
az extension update --name arcdata
Aktivera lägsta behörighet med Azure CLI.
Om du vill aktivera lägsta behörighet anger du
LeastPrivilege
-funktionsflaggan tilltrue
. Slutför den här uppgiften genom att köra följande kommando med uppdaterade värden för<resource-group>
och<machine-name>
.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
Följande kommando aktiverar till exempel lägsta behörighet för en server med namnet
myserver
i en resursgrupp med namnetmyrg
:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
Verifiera konfiguration med minsta möjliga behörighet
Så här kontrollerar du att din SQL Server som är aktiverad av Azure Arc har konfigurerats att köras med minst behörighet:
Leta upp Microsoft SQL Server Extension Service-tjänsten i Windows-tjänsterna. Kontrollera att tjänsten körs som tjänstekontot
NT Service\SqlServerExtension
.Öppna schemaläggaren på servern och kontrollera att en händelsedriven uppgift med namnet
SqlServerExtensionPermissionProvider
skapas underMicrosoft\SqlServerExtension
.Anteckning
Före lanseringen i juli 2024 är
SqlServerExtensionPermissionProvider
en schemalagd uppgift. Den körs varje timme.Öppna schemaläggaren på servern och kontrollera att en schemalagd aktivitet med namnet
SqlServerExtensionPermissionProvider
skapas underMicrosoft\SqlServerExtension
.Öppna SQL Server Management Studio och kontrollera inloggningen med namnet
NT Service\SqlServerExtension
. Kontrollera att kontot har tilldelats följande behörigheter:- Anslut SQL
- Visning av databastillstånd
- Visa servertillstånd
Verifiera behörigheterna med följande frågor:
Kör följande fråga för att verifiera behörigheter på servernivå:
EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' SELECT * FROM fn_my_permissions (NULL, 'SERVER");
Om du vill verifiera behörigheter på databasnivå ersätter du
<database name>
med namnet på en av dina databaser och kör följande fråga:EXECUTE AS LOGIN = 'NT Service\SqlServerExtension' USE <database name>; SELECT * FROM fn_my_permissions (NULL, 'database");