Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Tutti i flussi di lavoro (individuazioni, regole, monitoraggi e azioni) in questo Management Pack sono associati ai profili RunAs.
Per abilitare il monitoraggio con privilegi limitati, concedere le autorizzazioni appropriate agli account RunAs ed eseguire il mapping di questi account ai rispettivi profili RunAs.
Nota
Il monitoraggio VLF (Virtual Log File Count ) non supporta il monitoraggio con privilegi limitati in SQL Server 2012 e 2014.
Creare account Active Directory
In Active Directory creare gli utenti di dominio seguenti per l'accesso con privilegi limitati alle istanze di SQL Server di destinazione:
- SQLTaskAction
- SQLDiscovery
- SQLMonitor
Creare il gruppo di dominio SQLMPLowPriv e aggiungere gli utenti di dominio seguenti a questo gruppo:
- SQLDiscovery
- SQLMonitor
Aggiungere il gruppo SQLMPLowPriv al gruppo di sicurezza Active Directory Controller di dominio di sola lettura.
Monitoraggio degli agenti
Questa sezione illustra come configurare il monitoraggio dell'agente con privilegi limitati.
Sugli agenti
Concedere all'utente SQLTaskAction e al gruppo SQLMPLowPriv l'autorizzazione Lettura per la chiave del Registro di sistema:
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server
In ogni istanza monitorata concedere al gruppo SQLMPLowPriv l'autorizzazione Lettura per la chiave del Registro di sistema:
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\[InstanceID]\MSSQLServer\Parameters
Aggiungere gli utenti SQLTaskAction e SQLMonitor al gruppo locale di sicurezza Active Directory Con autorizzazioni per la lettura del registro eventi.
Concedere metodi di esecuzione, abilitare l'account, abilitare l'abilitazione remota e leggere le autorizzazioni di sicurezza per SQLTaskAction e SQLMPLowPriv per gli spazi dei nomi WMI seguenti usando il controllo WMI:
- RADICE
- ROOT\CIMV2
- ROOT\DEFAULT
- ROOT\Microsoft\SqlServer\ComputerManagement11 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement12 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement13 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement14 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement15 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement16 (se esistente)
Configurare i criteri di sicurezza locali Consenti accesso locale per consentire all'utente SQLTaskAction e agli utenti del gruppo di dominio SQLMPLowPriv di accedere localmente.
Nota
Se si usa System Center Operations Manager 2016, seguire i passaggi precedenti per fornire l'autorizzazione Consenti accesso locale agli account RunAs. Altre informazioni.
Configurare i criteri di sicurezza locali Accesso come servizio per consentire agli utenti del gruppo di dominio SQLTaskAction e SQLMPLowPriv di accedere come servizio.
Nota
Se si usa System Center Operations Manager 2019 o versione successiva, seguire i passaggi precedenti per fornire l'autorizzazione Accesso come servizio per gli account RunAs . Altre informazioni.
Nelle proprietà di Microsoft Monitoring Agent per il gruppo di gestione selezionato impostare l'account di sistema locale per eseguire le azioni dell'agente.
Passaggi aggiuntivi per le istanze di SQL Server del cluster
Eseguire i passaggi precedenti per ogni nodo del cluster.
Concedere a SQLMPLowPriv e SQLTaskAction le autorizzazioni DCOM di avvio remoto e attivazione remota tramite DCOMCNFG.
Consenti gestione remota Windows tramite Windows Firewall.
Concedere il controllo completo del gruppo SQLMPLowPriv al cluster usando Gestione cluster di failover.
Concedere le autorizzazioni Execute Methods, Enable Account, Remote Enable e Read Security per SQLTaskAction e SQLMPLowPriv per lo spazio dei nomi root\MSCluster WMI usando il controllo WMI.
In istanze di SQL Server
Aprire SQL Server Management Studio e connettersi all'istanza di SQL Server motore di database.
In SQL Server Management Studio, per ogni istanza di SQL Server motore di database in esecuzione in un server monitorato, usare lo script SQL seguente per creare e impostare la configurazione dei privilegi più bassi per l'account di dominio SQLMPLowPriv:
USE [master]; SET NOCOUNT ON; /*The domain account that System Center Operations Manager will use to access the SQL Server instance*/ DECLARE @accountname sysname = '<domainName>\<login_name>'; /*In some cases, administrators change the 'sa' account default name. This will retrieve the name of the account associated to princicpal_id = 1*/ DECLARE @sa_name sysname = 'sa'; SELECT @sa_name = [name] FROM sys.server_principals WHERE principal_id = 1 /*Create the server role with authorization to the account associated to principal id = 1. Create the role only if it does not already exist*/ DECLARE @createSrvRoleCommand nvarchar(200); SET @createSrvRoleCommand = 'IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE [name] = ''SCOM_SQLMPLowPriv'') BEGIN CREATE SERVER ROLE [SCOM_SQLMPLowPriv] AUTHORIZATION [' + @sa_name + ']; END' EXEC(@createSrvRoleCommand); GRANT VIEW ANY DATABASE TO [SCOM_SQLMPLowPriv]; GRANT VIEW ANY DEFINITION TO [SCOM_SQLMPLowPriv]; GRANT VIEW SERVER STATE TO [SCOM_SQLMPLowPriv]; DECLARE @createLoginCommand nvarchar(200); SET @createLoginCommand = 'IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE [name] = '''+ @accountname +''') BEGIN CREATE LOGIN '+ QUOTENAME(@accountname) +' FROM WINDOWS WITH DEFAULT_DATABASE=[master]; END' EXEC(@createLoginCommand); -- Add the login to the user-defined server role DECLARE @addServerMemberCommand nvarchar(200); SET @addServerMemberCommand = 'ALTER SERVER ROLE [SCOM_SQLMPLowPriv] ADD MEMBER ' + QUOTENAME(@accountname) + ';' EXEC(@addServerMemberCommand); -- Add the login and database role to each database DECLARE @createDatabaseUserAndRole nvarchar(max); SET @createDatabaseUserAndRole = ''; SELECT @createDatabaseUserAndRole = @createDatabaseUserAndRole + ' USE ' + QUOTENAME(db.name) + '; IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE [name] = '''+ @accountname +''') BEGIN CREATE USER ' + QUOTENAME(@accountname) + ' FOR LOGIN ' + QUOTENAME(@accountname) + '; END; IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE [name] = ''SCOM_SQLMPLowPriv'') BEGIN CREATE ROLE [SCOM_SQLMPLowPriv] AUTHORIZATION [dbo]; END; ALTER ROLE [SCOM_SQLMPLowPriv] ADD MEMBER ' + QUOTENAME(@accountname) + ';' FROM sys.databases db LEFT JOIN sys.dm_hadr_availability_replica_states hadrstate ON db.replica_id = hadrstate.replica_id WHERE db.database_id <> 2 AND db.user_access = 0 AND db.state = 0 AND db.is_read_only = 0 AND (hadrstate.role = 1 or hadrstate.role is null); EXEC(@createDatabaseUserAndRole); -- Add database specific permissions to database role USE [master]; GRANT EXECUTE ON sys.xp_readerrorlog TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON sys.xp_instance_regread TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [sys].[indexes] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [sys].[tables] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [sys].[dm_db_index_physical_stats] TO [SCOM_SQLMPLowPriv]; USE [msdb]; GRANT SELECT ON [dbo].[sysjobschedules] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysschedules] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[syscategories] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysjobs_view] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysjobactivity] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysjobhistory] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[syssessions] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_primary_databases] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_secondary_databases] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_monitor_history_detail] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_monitor_secondary] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_monitor_primary] TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON [dbo].[sp_help_job] TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON [dbo].[agent_datetime] TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON [dbo].[SQLAGENT_SUSER_SNAME] TO [SCOM_SQLMPLowPriv]; ALTER ROLE [SQLAgentReaderRole] ADD MEMBER [SCOM_SQLMPLowPriv];
Nelle condivisioni SMB
Concedere le autorizzazioni di condivisione aprendo la finestra di dialogo delle proprietà di condivisione per la condivisione che ospita file di dati di SQL Server o file di log delle transazioni di SQL Server.
Concedere l'autorizzazione lettura a SQLMPLowPriv.
Concedere le autorizzazioni NTFS aprendo la finestra di dialogo delle proprietà per la cartella condivisa e passando alla scheda Sicurezza .
Concedere l'autorizzazione lettura a SQLMPLowPriv.
Passaggi facoltativi per le attività sugli agenti
Alcune attività facoltative di System Center Operations Manager richiedono un privilegio superiore in un computer agente e/o in un database per consentire l'esecuzione delle attività.
Seguire questa procedura in un computer agente o in un database solo se si vuole consentire all'operatore della console di System Center Operations Manager di eseguire azioni correttive:
Se l'attività è correlata all'avvio o all'arresto di un servizio NT ,ad esempio servizio motore di database, servizio SQL Server Agent, servizio ricerca full-text SQL, Integration Services, nel computer agente, concedere all'utente SQLTaskAction l'autorizzazione per avviare o arrestare un servizio NT. Ciò comporta l'impostazione di un descrittore di sicurezza del servizio. Per ulteriori informazioni, vedere la pagina Web relativa a sc sdset.
Leggere i privilegi esistenti per il servizio specificato usando sc sdshow e concedere privilegi aggiuntivi all'utente SQLTaskAction .
Ad esempio, se i risultati del comando sdshow per il servizio SQL Server sono i seguenti:
*D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)*
In questo caso, il comando seguente concede l'accesso sufficiente a SQLTaskAction per l'avvio e l'arresto del servizio SQL Server. Sostituire "SQLServerServiceName" e "SID per SQLTaskAction" con i valori appropriati e mantenere tutti gli elementi in una singola riga.
*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)*
In SQL Server Management Studio, per ogni istanza di SQL Server motore di database in esecuzione in un server monitorato, creare un account di accesso per SQLTaskAction:
USE [msdb]; CREATE USER [SQLTaskAction] FOR LOGIN [SQLTaskAction];
Concedere il ruolo del database db_owner per ogni database se l'attività è correlata all'esecuzione di controlli del database:
- Controllo catalogo (DBCC)
- Controllo database (DBCC)
- Check Disk (DBCC) (richiama DBCC CHECKALLOC)
USE [yourdatabase]; ALTER ROLE [db_owner] ADD MEMBER [SQLTaskAction];
Concedere il privilegio ALTER ANY DATABASE all'account di accesso SQLTaskAction per eseguire l'attività se l'attività è correlata alla modifica dello stato del database:
- Impostazione database su stato offline
- Impostazione database su stato online
- Impostazione database sullo stato di emergenza
USE [master]; GRANT ALTER ANY DATABASE TO [SQLTaskAction];
In System Center Operations Manager
Importare il Management Pack di SQL Server.
Creare gli account RunAs basati su Windows seguenti:
- SQLTaskAction
- SQLDiscovery
- SQLMonitor
Nella console di System Center Operations Manager configurare profili RunAs come indicato di seguito:
- Impostare il profilo RunAs attività Microsoft SQL Server per usare l'account RunAs SQLTaskAction .
- Impostare il profilo RunAs di individuazione di Microsoft SQL Server per usare l'account RunAs SQLDiscovery .
- Impostare il profilo RunAs di monitoraggio di Microsoft SQL Server per usare l'account RunAs SQLMonitor .
Per evitare problemi di monitoraggio di SQL Server, è necessario usare gli account SQLTaskAction, SQLDiscovery e SQLMonitor RunAs per gestire la destinazione come oggetto Computer Windows.
Monitoraggio senza agenti
[Applicabile a SQL Server in Windows e in Linux]
Questa sezione illustra come configurare il monitoraggio senza privilegi limitati senza agente.
In istanze di SQL Server
Aprire SQL Server Management Studio e connettersi all'istanza di SQL Server motore di database.
In SQL Server Management Studio, per ogni istanza di SQL Server motore di database in esecuzione in un server monitorato, usare lo script SQL seguente per creare e impostare la configurazione dei privilegi più bassi per l'account SQLMPLowPriv con l'autenticazione di Active Directory:
USE [master]; SET NOCOUNT ON; /*The user account with SQL Server authentication that System Center Operations Manager will use to access the SQL Server instance*/ DECLARE @accountname sysname = '<domainName>\<login_name>'; /*In some cases, administrators change the 'sa' account default name. This will retrieve the name of the account associated to princicpal_id = 1*/ DECLARE @sa_name sysname = 'sa'; SELECT @sa_name = [name] FROM sys.server_principals WHERE principal_id = 1 /*Create the server role with authorization to the account associated to principal id = 1. Create the role only if it does not already exist*/ DECLARE @createSrvRoleCommand nvarchar(200); SET @createSrvRoleCommand = 'IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE [name] = ''SCOM_SQLMPLowPriv'') BEGIN CREATE SERVER ROLE [SCOM_SQLMPLowPriv] AUTHORIZATION [' + @sa_name + ']; END' EXEC(@createSrvRoleCommand); GRANT VIEW ANY DATABASE TO [SCOM_SQLMPLowPriv]; GRANT VIEW ANY DEFINITION TO [SCOM_SQLMPLowPriv]; GRANT VIEW SERVER STATE TO [SCOM_SQLMPLowPriv]; DECLARE @createLoginCommand nvarchar(200); /*Create the login with SQL Server authentication using the password, and replace it with your value below*/ SET @createLoginCommand = 'IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE [name] = '''+ @accountname +''') BEGIN CREATE LOGIN '+ QUOTENAME(@accountname) +' FROM WINDOWS WITH DEFAULT_DATABASE=[master]; END' EXEC(@createLoginCommand); -- Add the login to the user-defined server role DECLARE @addServerMemberCommand nvarchar(200); SET @addServerMemberCommand = 'ALTER SERVER ROLE [SCOM_SQLMPLowPriv] ADD MEMBER ' + QUOTENAME(@accountname) + ';' EXEC(@addServerMemberCommand); -- Add the login and database role to each database DECLARE @createDatabaseUserAndRole nvarchar(max); SET @createDatabaseUserAndRole = ''; SELECT @createDatabaseUserAndRole = @createDatabaseUserAndRole + ' USE ' + QUOTENAME(db.name) + '; IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE [name] = '''+ @accountname +''') BEGIN CREATE USER ' + QUOTENAME(@accountname) + ' FOR LOGIN ' + QUOTENAME(@accountname) + '; END; IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE [name] = ''SCOM_SQLMPLowPriv'') BEGIN CREATE ROLE [SCOM_SQLMPLowPriv] AUTHORIZATION [dbo]; END; ALTER ROLE [SCOM_SQLMPLowPriv] ADD MEMBER ' + QUOTENAME(@accountname) + ';' FROM sys.databases db LEFT JOIN sys.dm_hadr_availability_replica_states hadrstate ON db.replica_id = hadrstate.replica_id WHERE db.database_id <> 2 AND db.user_access = 0 AND db.state = 0 AND db.is_read_only = 0 AND (hadrstate.role = 1 or hadrstate.role is null); EXEC(@createDatabaseUserAndRole); -- Add database specific permissions to database role USE [master]; GRANT EXECUTE ON sys.xp_readerrorlog TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON sys.xp_instance_regread TO [SCOM_SQLMPLowPriv]; USE [msdb]; GRANT SELECT ON [dbo].[sysjobschedules] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysschedules] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[syscategories] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysjobs_view] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysjobactivity] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[sysjobhistory] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[syssessions] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_primary_databases] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_secondary_databases] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_monitor_history_detail] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_monitor_secondary] TO [SCOM_SQLMPLowPriv]; GRANT SELECT ON [dbo].[log_shipping_monitor_primary] TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON [dbo].[sp_help_job] TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON [dbo].[agent_datetime] TO [SCOM_SQLMPLowPriv]; GRANT EXECUTE ON [dbo].[SQLAGENT_SUSER_SNAME] TO [SCOM_SQLMPLowPriv]; ALTER ROLE [SQLAgentReaderRole] ADD MEMBER [SCOM_SQLMPLowPriv];
Alcune attività facoltative di System Center Operations Manager richiedono un privilegio superiore in un computer agente e/o in un database per consentire l'esecuzione delle attività.
Seguire questa procedura solo se si vuole consentire all'operatore della console di System Center Operations Manager di eseguire azioni correttive su tale destinazione:
In SQL Server Management Studio, per ogni istanza di SQL Server motore di database in esecuzione in un server monitorato, creare un account di accesso per SQLTaskAction:
USE [msdb]; CREATE USER [SQLTaskAction] FOR LOGIN [SQLTaskAction];
Concedere il ruolo del database db_owner per ogni database se l'attività è correlata all'esecuzione di controlli del database:
- Controllo catalogo (DBCC)
- Controllo database (DBCC)
- Check Disk (DBCC) (richiama DBCC CHECKALLOC)
USE [yourdatabase]; ALTER ROLE [db_owner] ADD MEMBER [SQLTaskAction];
Concedere il privilegio ALTER ANY DATABASE all'account di accesso SQLTaskAction per eseguire l'attività se l'attività è correlata alla modifica dello stato del database:
- Impostazione database su stato offline
- Impostazione database su stato online
- Impostazione database sullo stato di emergenza
USE [master]; GRANT ALTER ANY DATABASE TO [SQLTaskAction];
Utilizzo della Procedura guidata di monitoraggio
Per configurare il monitoraggio senza privilegi limitati tramite la procedura guidata di monitoraggio, seguire la procedura descritta nella sezione Configurazione della modalità di monitoraggio senza agente, ma con le modifiche seguenti:
Nella finestra Aggiungi monitoraggio guidato selezionare Aggiungi istanze.
Nella finestra Aggiungi istanze selezionare un account RunAs comune con l'account di accesso con privilegi limitati SQL appropriati e specificare origini dati e/o stringa di connessione.
Ad esempio:
- 192.0.2.10; MachineName="nome-server"; InstanceName="nome-istanza"; Platform="Windows"
- 192.0.2.11,50626; MachineName="nome server"; InstanceName="nome-istanza"; Platform="Windows"
- 192.0.2.15; MachineName="server-name"; InstanceName="instance-name"; Platform="Linux"
È anche possibile creare un nuovo account RunAs. A tale scopo, nella finestra Aggiungi istanze selezionare Nuovo, immettere un nuovo nome per l'account RunAs e specificare le credenziali per accedere a SQL Server da monitorare.
Dopo aver stabilito la connessione, è possibile visualizzare e modificare le proprietà dell'istanza aggiunta.
Monitoraggio misto
Per configurare il monitoraggio misto con privilegi limitati, seguire questa procedura descritta nella sezione Monitoraggio agente ed eseguire le operazioni seguenti:
Concedere le autorizzazioni per ottenere informazioni sui servizi
Usare una chiave del Registro di sistema per gestire l'accesso remoto al Registro di sistema
Gestione dell'accesso remoto a WMI
Per configurare la sicurezza per le configurazioni con account con privilegi limitati, seguire questa procedura in ogni server di monitoraggio in modalità mista:
Avviare la console mmc.exe e aggiungere gli snap-in seguenti:
- Servizi componenti
- Controllo WMI (per un computer locale)
Espandere Servizi componenti, fare clic con il pulsante destro del mouse su Computer e scegliere Proprietà.
Aprire la scheda Sicurezza COM.
Nella sezione Autorizzazioni di avvio e attivazione selezionare Modifica limiti.
Concedere le autorizzazioni seguenti all'account del computer remoto:
- Avvio remoto
- Attivazione remota
Passare allo snap-in Controllo WMI e aprire le relative proprietà.
Aprire la scheda Sicurezza e selezionare gli spazi dei nomi seguenti:
- ROOT\CIMV2
- ROOT\Microsoft\SqlServer
- ROOT\Microsoft\SqlServer\ComputerManagement11 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement12 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement13 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement14 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement15 (se esistente)
- ROOT\Microsoft\SqlServer\ComputerManagement16 (se esistente)
Seleziona Sicurezza.
Concedere le autorizzazioni seguenti al computer di destinazione:
- Abilita account
- Abilita remoto
Seleziona Avanzate.
Selezionare l'account di destinazione e selezionare Modifica.
Nell'elenco a discesa Si applica a selezionare Solo questo spazio dei nomi.
Nella sezione Autorizzazioni abilitare le caselle di controllo seguenti:
- Abilita account
- Abilita remoto
Concessione delle autorizzazioni del servizio
Per ottenere informazioni sui servizi, concedere le autorizzazioni necessarie in base alla procedura seguente:
Aprire la console di PowerShell.
Eseguire il comando seguente per recuperare un SID utente Spotlight.
function GetSidByName($userName){ $objUser = New-Object System.Security.Principal.NTAccount($userName) $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier]) return $strSID.Value } GetSidByName 'domainName\userName'
Sostituire domainName\userName con il dominio e i nomi utente per l'account utente Spotlight.
Dal prompt dei comandi di Windows eseguire il comando seguente per recuperare l'SDDL corrente per Gestione controllo servizi:
sc sdshow scmanager > file.txt
L'SDDL viene salvato nel file file.txt e ha un aspetto simile al seguente:
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).
Modificare la stringa SDDL copiando la sezione SDDL che termina in IU (Interactive Users).
Questa sezione è racchiusa tra parentesi (ovvero A;; CCLCRPRC;;; IU). Incollare questa clausola direttamente dopo la clausola copiata.
Sostituire la stringa di IU con il SID utente Spotlight nel testo seguente.
Il nuovo SDDL è simile al seguente:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU) (A;;CCLCRPRC;;;A-1-22-3-4444444444-5555555555-6666666-7777777777)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
Impostare le credenziali di sicurezza per accedere a Service Control Manager usando il comando sdset .
sc sdset scmanager "D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CCLCRPRC;;;A-1-22-3-4444444444-5555555555-6666666-7777777777)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"
Impostare i diritti per i servizi Utilità di avvio del daemon filtri full-text di SQL Server, SQL Agent e SQL usando l'utilità SubInACL dello strumento da riga di comando per il SID utente Spotlight.
Eseguire l'utilità con le opzioni seguenti:
subinacl.exe /service mssqlserver /GRANT= A-1-22-3-4444444444-5555555555-6666666-7777777777=LQSEI subinacl.exe /service sqlserveragent /GRANT= A-1-22-3-4444444444-5555555555-6666666-7777777777=LQSEI subinacl.exe /service mssqlfdlauncher /GRANT= A-1-22-3-4444444444-5555555555-6666666-7777777777=LQSEI
I diritti seguenti possono essere letti come:
- L: Leggi contro
- D: Configurazione del servizio di query
- S: Stato del servizio di query
- E: enumerare i servizi dipendenti
- Servizio Interrogazione
Impostare i diritti per ClusSvc (servizio cluster) usando l'utilità SubInACL dello strumento da riga di comando per il SID utente Spotlight.
Eseguire l'utilità con le opzioni seguenti:
subinacl.exe /service clussvc /GRANT= A-1-22-3-4444444444-5555555555-6666666-7777777777=LQSEI
Gestione dell'accesso remoto al Registro di sistema
Creare una chiave del Registro di sistema per gestire l'accesso remoto al Registro di sistema.
Per creare una chiave, seguire questa procedura:
Aprire l'editor del Registro di sistema e individuare la chiave seguente
HKLM\SYSTEM\CurrentControlSet\Control
Nel menu Modifica selezionare Aggiungi chiave e immettere i valori seguenti:
- Nome chiave: SecurePipeServers
- Classe: REG_SZ
Individuare la chiave seguente
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers
Nel menu Modifica selezionare Aggiungi chiave e immettere i valori seguenti:
- Nome chiave: winreg
- Classe: REG_SZ
Individuare la chiave seguente:
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
Nel menu Modifica selezionare Aggiungi chiave e immettere i valori seguenti:
- Nome valore: Descrizione
- Tipo di dati: REG_SZ
- Stringa: server del Registro di sistema
Individuare la chiave seguente:
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
Fare clic con il pulsante destro del mouse su winreg, selezionare Autorizzazioni e modificare le autorizzazioni correnti oppure aggiungere utenti o gruppi a cui si vuole concedere l'accesso.
Uscire dall'editor del Registro di sistema e riavviare Windows.