Utilizzo dei ruoli di Integration Services
SQL Server Integration Services include i tre ruoli predefiniti a livello di database db_ssisadmin, db_ssisltduser, and db_ssisoperator per il controllo dell'accesso ai pacchetti. I ruoli possono essere implementati solo nei pacchetti salvati nel database msdb in SQL Server. I ruoli vengono assegnati a un pacchetto in SQL Server Management Studio. Le assegnazioni dei ruoli vengono salvate nel database msdb.
Nella tabella seguente vengono descritte le azioni di lettura e scrittura di Windows e i ruoli predefiniti del database in Integration Services.
Ruolo |
Azione di lettura |
Azione di scrittura |
---|---|---|
db_ssisadmin o sysadmin |
Enumerazione dei propri pacchetti. Enumerazione di tutti i pacchetti. Visualizzazione dei propri pacchetti. Visualizzazione di tutti i pacchetti. Esecuzione dei propri pacchetti. Esecuzione di tutti i pacchetti. Esportazione dei propri pacchetti. Esportazione di tutti i pacchetti. Esecuzione di tutti i pacchetti in SQL Server Agent. |
Importazione di pacchetti. Eliminazione dei propri pacchetti. Eliminazione di tutti i pacchetti. Modifica dei propri ruoli di pacchetto. Modifica di tutti i ruoli di pacchetto.
Importante
I membri dei ruoli db_ssisadmin e dc_admin potrebbero essere in grado di elevare i loro privilegi a sysadmin. Questa elevazione dei privilegi può verificarsi perché tali ruoli possono modificare i pacchetti Integration Services e i pacchetti Integration Services possono essere eseguiti da SQL Server utilizzando il contesto di sicurezza sysadmin di SQL Server Agent. Per impedire questa elevazione dei privilegi durante l'esecuzione di piani di manutenzione, set di raccolta dati e altri pacchetti Integration Services, configurare i processi di SQL Server Agent che eseguono pacchetti in modo da utilizzare un account proxy con privilegi limitati o aggiungere solo i membri sysadmin ai ruoli db_ssisadmin e dc_admin.
|
db_ssisltduser |
Enumerazione dei propri pacchetti. Enumerazione di tutti i pacchetti. Visualizzazione dei propri pacchetti. Esecuzione dei propri pacchetti. Esportazione dei propri pacchetti. |
Importazione di pacchetti. Eliminazione dei propri pacchetti. Modifica dei propri ruoli di pacchetto. |
db_ssisoperator |
Enumerazione di tutti i pacchetti. Visualizzazione di tutti i pacchetti. Esecuzione di tutti i pacchetti. Esportazione di tutti i pacchetti. Esecuzione di tutti i pacchetti in SQL Server Agent. |
Nessuno |
Amministratori di Windows |
Visualizzazione delle informazioni di esecuzione di tutti i pacchetti in esecuzione. |
Arresto di tutti i pacchetti in esecuzione. |
La tabella sysssispackages di msdb include i pacchetti che sono stati salvati in SQL Server. Per ulteriori informazioni, vedere sysssispackages (Transact-SQL).
Le colonne della tabella sysssispackages contengono informazioni sui ruoli assegnati ai pacchetti.
Nella colonna readerrole è indicato il ruolo con accesso in lettura al pacchetto.
Nella colonna writerrole è indicato il ruolo con accesso in scrittura al pacchetto.
La colonna ownersid include l'ID di sicurezza (SID) univoco dell'utente che ha creato il pacchetto. Questa colonna definisce pertanto il proprietario del pacchetto.
Per impostazione predefinita, le autorizzazioni dei ruoli predefiniti a livello di database db_ssisadmin e db_ssisoperator e l'identificatore di sicurezza univoco dell'utente che ha creato il pacchetto si applicano al ruolo lettura per il pacchetto, mentre le autorizzazioni del ruolo db_ssisadmin e l'identificatore di sicurezza univoco dell'utente che ha creato il pacchetto si applicano al ruolo scrittura. Per disporre dell'accesso in lettura per il pacchetto, l'utente deve essere membro del ruolo db_ssisadmin, db_ssisltduser o db_ssisoperator. Per disporre dell'accesso in scrittura, l'utente deve essere membro del ruolo db_ssisadmin.
I ruoli predefiniti del database funzionano congiuntamente ai ruoli definiti dall'utente, ovvero i ruoli creati dall'utente in SQL Server Management Studio e utilizzati per l'assegnazione di autorizzazioni ai pacchetti. Per poter accedere a un pacchetto, un utente deve essere membro del ruolo definito dall'utente e del ruolo predefinito del database di Integration Services appropriato. Se, ad esempio, gli utenti sono membri del ruolo definito dall'utente AuditUsers assegnato a un pacchetto, per poter accedere in lettura al pacchetto devono essere membri anche del ruolo db_ssisadmin, db_ssisltduser o db_ssisoperator.
Se non si assegna alcun ruolo definito dall'utente ai pacchetti, l'accesso verrà determinato dai ruoli predefiniti a livello di database.
Per poter assegnare i ruoli definiti dall'utente ai pacchetti, è prima necessario aggiungerli al database msdb. È possibile creare nuovi ruoli del database in SQL Server Management Studio.
I ruoli a livello di database di Integration Services concedono diritti per le tabelle di sistema Integration Services nel database msdb, ma non per le tabelle di sistema DTS, ad esempio sysdtspackages nel database msdb. È necessario concedere agli utenti i diritti per le tabelle di sistema DTS affinché possano eseguire determinate attività di gestione, ad esempio l'importazione di un pacchetto DTS in Management Studio. Per ulteriori informazioni sul supporto per DTS, vedere Supporto per Data Transformation Services (DTS) in SQL Server 2008.
Passaggio 1: Apertura di Esplora oggetti e connessione a Integration Services
Per poter assegnare ruoli ai pacchetti in SQL Server Management Studio, è prima necessario aprire Esplora oggetti in SQL Server Management Studio e connettersi a Integration Services.
Per poter eseguire la connessione a Integration Services, è necessario che il servizio Integration Services sia stato avviato.
Per aprire Esplora oggetti e connettersi a Integration Services
Aprire SQL Server Management Studio.
Scegliere Esplora oggetti dal menu Visualizza.
Sulla barra degli strumenti di Esplora oggetti fare clic su Connetti e quindi su Integration Services.
Nella finestra di dialogo Connetti al server specificare un nome di server. Per specificare il server locale, è possibile digitare un punto (.), (locale) o localhost.
Fare clic su Connetti.
Passaggio 2: Assegnazione dei ruoli lettura e scrittura ai pacchetti
È possibile assegnare un ruolo lettura o scrittura a ogni pacchetto.
Per assegnare un ruolo lettura e scrittura a un pacchetto
In Esplora oggetti individuare la connessione a Integration Services.
Espandere la cartella Pacchetti archiviati e quindi la sottocartella contenente il pacchetto a cui si desidera assegnare ruoli.
Fare clic con il pulsante destro del mouse sul pacchetto desiderato.
Nella finestra di dialogo Ruoli pacchetto selezionare un ruolo nell'elenco Ruolo lettura e un ruolo nell'elenco Ruolo scrittura.
Fare clic su OK.
Creazione di un ruolo definito dall'utente
Per poter eseguire la connessione al Motore di database e accedere al database msdb, è necessario che SQL Server, ovvero il servizio MSSQLSERVER, sia stato avviato.
Per creare un ruolo definito dall'utente
Aprire SQL Server Management Studio.
Scegliere Esplora oggetti dal menu Visualizza.
Nella barra degli strumenti di Esplora oggetti fare clic su Connetti e quindi su Motore di database.
Nella finestra di dialogo Connetti al server specificare un nome di server e selezionare una modalità di autenticazione. Per specificare il server locale, è possibile digitare un punto (.), (locale) o localhost.
Fare clic su Connetti.
Espandere i nodi Database, Database di sistema, msdb, Sicurezza e Ruoli.
Nel nodo Ruoli fare clic con il pulsante destro del mouse su Ruoli del database e quindi scegliere Nuovo ruolo database.
Nella pagina Generale specificare un nome. Facoltativamente specificare un proprietario e gli schemi di proprietà e aggiungere i membri del ruoli.
Facoltativamente, fare clic su Autorizzazioni e configurare le autorizzazioni per gli oggetti.
Facoltativamente, fare clic su Proprietà estese e configurare le proprietà estese.
Fare clic su OK.
|
Vedere anche