Condividi tramite


Implementazione della sicurezza di SQL Server Agent

SQL Server Agent consente all'amministratore del database di eseguire ciascun passaggio di un processo in un contesto di sicurezza dove sono disponibili solo le autorizzazioni necessarie all'esecuzione di tale passaggio e che viene determinato da un proxy di SQL Server Agent. Per impostare le autorizzazioni per un particolare passaggio di un processo, è necessario creare un proxy che disponga delle autorizzazioni necessarie e quindi assegnare questo proxy al passaggio del processo. È possibile specificare un proxy per più di un passaggio di processo. Per i passaggi che richiedono le medesime autorizzazioni, viene utilizzato lo stesso proxy.

Nella sezione che segue viene spiegato quale ruolo di database concedere agli utenti affinché possano creare o eseguire processi utilizzando SQL Server Agent.

Concessione dell'accesso a SQL Server Agent

Per poter utilizzare SQL Server Agent, l'utente deve essere membro di uno o più dei seguenti ruoli predefiniti di database:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Questi ruoli sono archiviati nel database msdb. Per impostazione predefinita, nessun utente è membro di questi ruoli di database. L'appartenenza a questi ruoli deve essere concessa esplicitamente. Gli utenti che sono membri del ruolo di server predefinito sysadmin hanno pieno accesso a SQL Server Agent e non hanno bisogno di essere membri di questi ruoli di database predefiniti per poter utilizzare SQL Server Agent. Se un utente non è un membro di uno di questi ruoli di database o del ruolo sysadmin, il nodo di SQL Server Agent non è per loro disponibile quando si connettono a SQL Server tramite SQL Server Management Studio.

I membri di questi ruoli di database possono visualizzare ed eseguire processi di cui sono proprietari e possono creare passaggi di processo eseguibili come un account proxy esistente. Per ulteriori informazioni sulle autorizzazioni particolari associate a ciascuno di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

I membri del ruolo predefinito del server sysadmin sono autorizzati a creare, modificare ed eliminare account proxy. I membri del ruolo sysadmin sono autorizzati a creare passaggi di processo dove non sia specificato un proxy ma che invece vengono eseguiti come account di servizio di SQL Server Agent, vale a dire l'account utilizzato per avviare SQL Server Agent.

Indicazioni

Per migliorare la sicurezza dell'implementazione di SQL Server Agent, attenersi alle seguenti indicazioni generali:

  • Creare appositi account utente dedicati per i proxy e utilizzare questi account solo per eseguire passaggi di processo.

  • Concedere le autorizzazioni necessarie solo agli account utente proxy. Concedere solo le autorizzazioni effettivamente richieste per eseguire i passaggi di processo assegnati a un particolare account proxy.

  • Non eseguire il servizio SQL Server Agent utilizzando un account Microsoft Windows che sia membro del gruppo Administrators di Windows.

  • I proxy hanno lo stesso livello di sicurezza dell'archivio credenziali di SQL Server.

  • Se le operazioni di scrittura dell'utente possono scrivere nel registro eventi NT, possono generare avvisi tramite SQL Server Agent.

  • Non specificare l'account amministratore NT come account di servizio o account proxy.

  • Notare che SQL Server e SQL Server Agent dispongono dell'accesso reciproco alle proprie risorse. I due servizi condividono un unico spazio di elaborazione e SQL Server Agent è un sysadmin sul servizio SQL Server.

  • Quando un processo TSX viene integrato con un processo MSX, sysadmins di MSX assume il controllo totale dell'istanza TSX di SQL Server.

  • Il processo ACE è un'estensione e non può richiamare se stesso. ACE viene richiamato da Chainer ScenarioEngine.exe, anche noto come Microsoft.SqlServer.Chainer.Setup.exe, o può essere richiamato da un altro processo host.

  • ACE dipende dalle DLL di configurazione seguenti di proprietà di SSDP, perché le API delle DLL vengono richiamate da ACE:

    • SCO: Microsoft.SqlServer.Configuration.Sco.dll, incluse le nuove convalide SCO per gli account virtuali

    • Cluster: Microsoft.SqlServer.Configuration.Cluster.dll

    • SFC: Microsoft.SqlServer.Configuration.SqlConfigBase.dll

    • Extension: Microsoft.SqlServer.Configuration.ConfigExtension.dll

Vedere anche

Riferimento

sp_addrolemember (Transact-SQL)

sp_droprolemember (Transact-SQL)

Concetti

Ruoli predefiniti

Sicurezza e protezione (Motore di database)