Low-Privilege övervakning
Alla arbetsflöden (identifieringar, regler, övervakare och åtgärder) i det här hanteringspaketet är bundna till Kör som-profiler.
Om du vill aktivera övervakning med låg behörighet beviljar du lämpliga behörigheter till Kör som-konton och mappar dessa konton till respektive Kör som-profiler.
Anteckning
Övervakaren för antal virtuella loggfiler (VLF) stöder inte övervakning med låg behörighet på SQL-servrarna 2012 och 2014.
Agentövervakning
I det här avsnittet beskrivs hur du konfigurerar övervakning av lågprivilegier.
I Active Directory
I Active Directory skapar du följande domänanvändare för åtkomst med låg behörighet till målinstanserna SQL Server:
- SQLTaskAction
- SQLDiscovery
- SQLMonitor
Skapa SQLMPLowPriv-domängruppen och lägg till följande domänanvändare i den här gruppen:
- SQLDiscovery
- SQLMonitor
Ge SQLMPLowPriv-gruppen behörigheten Skrivskyddade domänkontrollanter .
På agenter
Ge SQLTaskAction-användaren och SQLMPLowPriv-gruppenläsbehörighet på HKLM:\Software\Microsoft\Microsoft SQL Server.
På varje övervakad instans beviljar du SQLMPLowPriv-gruppenläsbehörigheten på HKLM:\Software\Microsoft\Microsoft SQL Server\[InstanceID]\MSSQLServer\Parameters.
Lägg till SQLTaskAction - och SQLMonitor-användare i den lokala gruppen EventLogReaders .
Konfigurera principen Tillåt inloggning lokalt lokal säkerhet så att SQLTaskAction-användaren och SQLMPLowPriv-domängruppens användare kan logga in lokalt.
Bevilja körmetoder, aktivera konto, fjärraktivering och lässäkerhetsbehörigheter till SQLTaskAction och SQLMPLowPriv för följande WMI-namnområden:
- ROOT
- ROOT\CIMV2
- ROOT\DEFAULT
- ROOT\Microsoft\SqlServer\ComputerManagement11 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement12 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement13 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement14 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement15 (om det finns)
Extra steg för kluster SQL Server-instanser
Utför stegen ovan för varje klusternod.
Bevilja SQLMPLowPriv - och SQLTaskActionDCOM-behörigheter för fjärrstart och fjärraktivering med DCOMCNFG.
Tillåt Windows fjärrhantering via Windows-brandväggen.
Ge SQLMPLowPriv-gruppenfullständig kontroll till klustret med hjälp av Klusterhanteraren för växling vid fel.
Bevilja körmetoder, aktivera konto, fjärraktivering och lässäkerhetsbehörigheter till SQLTaskAction och SQLMPLowPriv för WMI-namnområdet root\MSCluster .
På SQL Server-instanser
Öppna SQL Server Management Studio och anslut till SQL Server Database Engine-instansen.
I SQL Server Management Studio skapar du en inloggning för SQLMPLowPriv och SQLTaskAction för varje instans av SQL Server database engine som körs på en övervakad server.
Om du vill lägga till SQLMPLowPriv markerar du kryssrutan Grupper i fönstret Objekttyper.
Skapa SQLMPLowPriv- och SQLTaskAction-användare i varje användardatabas, huvuddatabas, msdb och modelldatabaser .
Länka SQLMPLowPriv-användare till SQLMPLowPriv-inloggningen och SQLTaskAction-användare till SQLTaskAction-inloggningen :
-- This script is an example of how to create new users -- in the msdb database. Execute this script -- for every database on each SQL instance. USE [msdb] GO CREATE USER [SQLMPLowPriv] FOR LOGIN [SQLMPLowPriv] CREATE USER [SQLTaskAction] FOR LOGIN [SQLTaskAction]Bevilja SQLMPLowPriv följande behörigheter:
USE [master] GO GRANT VIEW SERVER STATE TO [SQLMPLowPriv] GRANT VIEW ANY DEFINITION TO [SQLMPLowPriv] GRANT VIEW ANY DATABASE TO [SQLMPLowPriv] GRANT EXECUTE ON xp_readerrorlog TO [SQLMPLowPriv] GRANT EXECUTE ON xp_instance_regread TO [SQLMPLowPriv] USE [msdb] GO GRANT SELECT ON sysjobs_view TO [SQLMPLowPriv] GRANT SELECT ON sysschedules TO [SQLMPLowPriv] GRANT SELECT ON sysjobschedules TO [SQLMPLowPriv] GRANT SELECT ON syscategories TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_monitor_history_detail TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_monitor_secondary TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_secondary_databases TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_monitor_primary TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_primary_databases TO [SQLMPLowPriv] GRANT EXECUTE ON sp_help_job TO [SQLMPLowPriv] GRANT EXECUTE ON sp_help_jobactivity TO [SQLMPLowPriv] GRANT EXECUTE ON SQLAGENT_SUSER_SNAME TO [SQLMPLowPriv]För msdb-databasen tilldelar du SQLMPLowPriv-användarenrollen SQLAgentReaderRole :
USE [msdb] GO ALTER ROLE [SQLAgentReaderRole] ADD MEMBER [SQLMPLowPriv]
På SMB-resurser
Bevilja resursbehörighet genom att öppna dialogrutan resursegenskaper för resursen som är värd för SQL Server datafiler eller SQL Server transaktionsloggfiler.
Bevilja läsbehörighet till SQLMPLowPriv.
Bevilja NTFS-behörigheter genom att öppna dialogrutan egenskaper för den delade mappen och gå till fliken Säkerhet .
Bevilja läsbehörighet till SQLMPLowPriv.
Valfria steg för uppgifter på agenter
Vissa valfria System Center Operations Manager-uppgifter kräver högre behörighet på en agentdator och/eller databas för att tillåta aktivitetskörning.
Utför endast följande steg på en agentdator eller databas om du vill tillåta att System Center Operations Manager-konsoloperatorn vidtar åtgärder:
Om uppgiften är relaterad till att starta eller stoppa en NT-tjänst (till exempel DB Engine Service, SQL Server Agent service, SQL Full Text Search Service, Integration Services) på agentdatorn ger du SQLTaskAction-användaren behörighet att starta eller stoppa en NT-tjänst. Detta innebär att ange en tjänstsäkerhetsbeskrivning. Mer information finns i Sc sdset.
Läs befintliga privilegier för den angivna tjänsten med sc sdshow och bevilja extra privilegier till SQLTaskAction-användaren .
Om till exempel resultatet av sdshow-kommandot för SQL Server tjänst är följande:
*D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)*I det här fallet ger följande kommando tillräcklig åtkomst till SQLTaskAction för att starta och stoppa SQL Server-tjänsten. Ersätt "SQLServerServiceName" och "SID for SQLTaskAction" med lämpliga värden och behåll allt på en enda rad.
*sc sdset SQLServerServiceName D:(A;;GRRPWP;;;SID for SQLTaskAction)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)*I SQL Server Management Studio lägger du till SQLTaskAction i db_owner databasrollen för varje databas om uppgiften är relaterad till att utföra databaskontroller:
- Kontrollera katalog (DBCC)
- Kontrollera databas (DBCC)
- Check Disk (DBCC)" (anropar DBCC CHECKALLOC)
USE [msdb] GO ALTER ROLE [db_owner] ADD MEMBER [SQLTaskAction]Bevilja ALTER ANY DATABASE-behörigheten till SQLTaskAction-inloggningen för att köra aktiviteten om aktiviteten är relaterad till att ändra databastillståndet:
- Ställ in databasen offline
- Ange databasens nödsituationstillstånd
- Ange Database Online
USE [master] GO GRANT ALTER ANY DATABASE TO [SQLTaskAction]
I System Center Operations Manager
Skapa följande Windows-baserade Kör som-konton:
- SQLTaskAction
- SQLDiscovery
- SQLMonitor
Konfigurera Kör som-profiler på följande sätt i System Center Operations Manager-konsolen:
- Ange Microsoft SQL Server Kör som-profil för aktivitet så att sqlTaskAction Kör som-kontot används.
- Ange Microsoft SQL Server Kör som-profil för identifiering så att SQLDiscovery Kör som-kontot används.
- Ange kör som-profilen för Microsoft SQL Server övervakning så att kör som-kontot för SQLMonitor används.
För att förhindra SQL Server övervakningsproblem bör SQLTaskAction-, SQLDiscovery- och SQLMonitor Kör som-konton användas för att hantera målet som Windows-datorobjektet.
Agentlös övervakning
[Gäller för SQL Server på Windows och i Linux.]
I det här avsnittet beskrivs hur du konfigurerar agentlös övervakning utan låg behörighet.
På SQL Server-instanser
Öppna SQL Server Management Studio och anslut till SQL Server Database Engine-instansen.
I SQL Server Management Studio skapar du en SQL-inloggning för SQLMPLowPriv för övervakning för varje instans av SQL Server databasmotor som körs på en övervakad server.
Skapa SQLMPLowPriv-användare i varje användardatabas, huvuddatabas, msdb och modelldatabaser .
Länka SQLMPLowPriv-användare till SQLMPLowPriv-inloggningen :
-- This script is an example of how to create new users -- in the msdb database. Execute this script -- for every database on each SQL instance. USE [msdb] GO CREATE USER [SQLMPLowPriv] FOR LOGIN [SQLMPLowPriv]Bevilja SQLMPLowPriv följande behörigheter:
USE [master] GO GRANT VIEW SERVER STATE TO [SQLMPLowPriv] GRANT VIEW ANY DEFINITION TO [SQLMPLowPriv] GRANT VIEW ANY DATABASE TO [SQLMPLowPriv] ALTER ROLE [db_datareader] ADD MEMBER [SQLMPLowPriv] GRANT EXECUTE ON xp_readerrorlog TO [SQLMPLowPriv] GRANT EXECUTE ON xp_instance_regread TO [SQLMPLowPriv] USE [msdb] GO GRANT SELECT ON sysjobs_view TO [SQLMPLowPriv] GRANT SELECT ON syscategories TO [SQLMPLowPriv] GRANT SELECT ON sysschedules TO [SQLMPLowPriv] GRANT SELECT ON sysjobschedules TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_monitor_history_detail TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_monitor_secondary TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_secondary_databases TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_monitor_primary TO [SQLMPLowPriv] GRANT SELECT ON log_shipping_primary_databases TO [SQLMPLowPriv] GRANT EXECUTE ON sp_help_job TO [SQLMPLowPriv] GRANT EXECUTE ON sp_help_jobactivity TO [SQLMPLowPriv] GRANT EXECUTE ON SQLAGENT_SUSER_SNAME TO [SQLMPLowPriv]För msdb-databasen tilldelar du SQLMPLowPriv-användaren både rollen SQLAgentReaderRole och rollen PolicyAdministratorRole :
USE [msdb] GO ALTER ROLE [SQLAgentReaderRole] ADD MEMBER [SQLMPLowPriv] ALTER ROLE [PolicyAdministratorRole] ADD MEMBER [SQLMPLowPriv]
Vissa valfria System Center Operations Manager-uppgifter kräver högre behörighet på en agentdator och/eller databas för att tillåta aktivitetskörning.
Utför endast följande steg om du vill tillåta att System Center Operations Manager-konsoloperatorn vidtar åtgärdsåtgärder på målet:
I SQL Server Management Studio lägger du till SQLMPLowPriv i db_owner databasrollen för varje databas om uppgiften är relaterad till att utföra databaskontroller:
- Kontrollera katalog (DBCC)
- Kontrollera databas (DBCC)
- Kontrollera disk (DBCC) (anropar DBCC CHECKALLOC)
USE [yourdatabase] GO ALTER ROLE [db_owner] ADD MEMBER [SQLMPLowPriv] GOBevilja BEHÖRIGHETEN ALTER ANY DATABASE till SQLMPLowPriv för att utföra följande databasuppgifter:
- Ange Database Online
- Ställ in databasen offline
- Ange databas till nödsituationstillstånd
USE [master] GO GRANT ALTER ANY DATABASE TO [SQLMPLowPriv]
Använda övervakningsguiden
Utför stegen i avsnittet Konfigurera agentlöst övervakningsläge med lågprivilegier med hjälp av övervakningsguiden, men med följande ändringar:
I fönstret Guiden Lägg till övervakning klickar du på Lägg till instanser.
I fönstret Lägg till instanser väljer du ett vanligt Kör som-konto med lämplig SQL-inloggning med låg behörighet och anger datakällor och/eller anslutningssträngar.
Ett exempel:
- 172.31.2.133; MachineName="W12BOX-839";InstanceName="MSSQLSERVER"; Platform="Windows"
- 172.31.2.133,50626; MachineName="W12BOX-839";InstanceName="SQLEXPRESS"; Platform="Windows"
- 172.17.5.115; MachineName="ubuntu";InstanceName="MSSQLSERVER"; Platform="Linux"
Du kan också skapa ett nytt Kör som-konto. I fönstret Lägg till instanser klickar du på Ny, anger ett nytt namn för Kör som-kontot och anger autentiseringsuppgifter för att komma åt de SQL Server som du vill övervaka.

När anslutningen har upprättats kan du visa och redigera egenskaper för den tillagda instansen.

Blandad övervakning
Om du vill konfigurera blandad övervakning med låg behörighet utför du stegen som beskrivs i avsnittet Agentövervakning och gör följande:
Hantera fjärråtkomst till WMI
Utför följande steg på varje övervakningsserver i blandat läge för att konfigurera säkerhet för konfigurationer med konton med låg behörighet:
Starta mmc.exe-konsolen och lägg till följande snapin-moduler:
- Komponenttjänster
- WMI-kontroll (för en lokal dator)
Expandera Komponenttjänster, högerklicka på Min dator och välj Egenskaper.

Öppna fliken COM-säkerhet .
I avsnittet Start- och aktiveringsbehörigheter klickar du på Redigera gränser.

Bevilja följande behörigheter till fjärrdatorkontot:
- Fjärrstart
- Fjärraktivering

Gå till snapin-modulen för WMI-kontroll och öppna dess egenskaper.
Öppna fliken Säkerhet och välj följande namnområden:
- ROOT\CIMV2
- ROOT\Microsoft\SqlServer
- ROOT\Microsoft\SqlServer\ComputerManagement11 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement12 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement13 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement14 (om det finns)
- ROOT\Microsoft\SqlServer\ComputerManagement15 (om det finns)
Klicka på Säkerhet.
Bevilja följande behörigheter till måldatorn:
- Aktivera konto
- Fjärraktivering

Klicka på Avancerat.
Välj målkontot och klicka på Redigera.
I listrutan Gäller för väljer du Endast det här namnområdet.
I avsnittet Behörigheter aktiverar du följande kryssrutor:
- Aktivera konto
- Fjärraktivering

Bevilja tjänstbehörigheter
Om du vill få information om tjänsterna beviljar du nödvändiga behörigheter enligt följande steg:
Öppna PowerShell-konsolen.
Kör följande kommando för att hämta ett Spotlight-användar-SID .
function GetSidByName($userName){ $objUser = New-Object System.Security.Principal.NTAccount($userName) $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier]) return $strSID.Value } GetSidByName 'domainName\userName'Ersätt domainName\userName med domänen och användarnamnen för Spotlight-användarkontot .

I kommandotolken Windows kör du följande kommando för att hämta aktuell SDDL för Services Control Manager:
sc sdshow scmanager > file.txtSDDL sparas i file.txt-filen och ser ut ungefär så här:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD).Ändra SDDL-strängen genom att kopiera avsnittet SDDL som slutar med IU (interaktiva användare).
Det här avsnittet omges av parenteser (dvs. A;; CCLCRPRC;;;I U). Klistra in den här satsen direkt efter satsen som du har kopierat.
Ersätt IU-strängen med Spotlight User SID i följande text.
Den nya SDDL:n ser ut ungefär så här:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU) (A;;CCLCRPRC;;;S-1-5-21-214A909598-1293495619-13Z157935-75714)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)Ange säkerhetsautentiseringsuppgifter för att få åtkomst till Service Control Manager med hjälp av kommandot sdset .
sc sdset scmanager "D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CCLCRPRC;;;S-1-5-21-214A909598-1293495619-13Z157935-75714)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"Ange behörigheter för SQL Server, SQL-agent och SQL Fulltext Filter Daemon Launcher-tjänster med hjälp av kommandoradsverktyget SubInACL-verktyget för Spotlight-användar-SID.
Kör verktyget med följande alternativ:
subinacl.exe /service mssqlserver /GRANT= S-1-5-21-214A909598-1293495619-13Z157935-75714=LQSEI subinacl.exe /service sqlserveragent /GRANT= S-1-5-21-214A909598-1293495619-13Z157935-75714=LQSEI subinacl.exe /service mssqlfdlauncher /GRANT= S-1-5-21-214A909598-1293495619-13Z157935-75714=LQSEI
Följande rättigheter kan läsas som:
- L: Läsa contro
- F: Frågetjänstkonfiguration
- S: Frågetjänststatus
- E: Räkna upp beroende tjänster
- I: Interrogate Service
Ange rättigheter för ClusSvc (klustertjänst) med hjälp av verktyget SubInACL för kommandoradsverktyget för Spotlight-användar-SID .
Kör verktyget med följande alternativ:
subinacl.exe /service clussvc /GRANT= S-1-5-21-214A909598-1293495619-13Z157935-75714=LQSEI
Hantera fjärråtkomst till registret
Skapa en registernyckel för att hantera fjärråtkomst till registret.
Utför följande steg för att skapa en nyckel:
Öppna Registereditorn (Regedt32.exe) och leta upp denHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control nyckeln.
I redigera-menyn klickar du på Lägg till nyckel och anger följande värden:
- Nyckelnamn: SecurePipeServers
- Klass: REG_SZ
Leta upp följande nyckel: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers".
I redigera-menyn klickar du på Lägg till nyckel och anger följande värden:
- Nyckelnamn: winreg
- Klass: REG_SZ
Leta upp följande nyckel: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg".
I redigera-menyn klickar du på Lägg till nyckel och anger följande värden:
- Värdenamn: Beskrivning
- Datatyp: REG_SZ
- Sträng: Registerserver
Leta upp följande nyckel: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg".
Högerklicka på winreg, klicka på Behörigheter och redigera de aktuella behörigheterna eller lägg till användare eller grupper som du vill bevilja åtkomst till.
Avsluta Registereditorn och starta om Windows.