Implementazione della sicurezza di SQL Server Agent

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Importante

In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.

SQL Server Agent consente all'amministratore del database di eseguire ciascun passaggio di un processo in un contesto di sicurezza in cui 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 usando 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 membri del ruolo di server predefinito sysadmin hanno accesso completo a SQL Server Agent e non hanno bisogno di essere membri di questi ruoli di database predefiniti per poter usare SQL Server Agent. Se un utente non è membro di uno di questi ruoli di database o del ruolo sysadmin, il nodo di SQL Server Agent non è disponibile quando l'utente si connette a SQL Server Agent 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 altre informazioni sulle autorizzazioni specifiche associate a ognuno 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 che non specificano un proxy ma che invece vengono eseguiti come account di servizio di SQL Server Agent, vale a dire l'account usato per avviare SQL Server Agent.

Linee guida

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 usando un account Microsoft Windows che è 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.

  • Tenere presente 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 nel 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

Vedi anche

Utilizzo dei ruoli predefiniti
sp_addrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)
Sicurezza e protezione (Motore di database)