Implementazione della protezione SQL Server Agent
SQL Server Agent consente all'amministratore del database di eseguire ciascun passaggio di un processo in un contesto di protezione 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.
[!NOTA]
Dopo l'aggiornamento da SQL Server 2000, tutti gli account proxy utente esistenti prima dell'aggiornamento vengono sostituiti con l'account proxy globale temporaneo UpgradedProxyAccount. All'account UpgradedProxyAccount è concesso l'accesso solo ai sottosistemi utilizzati esplicitamente in precedenza e non a tutti i sottosistemi disponibili dopo l'aggiornamento.
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 protezione 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.