Ruoli Integration Services (servizio SSIS)
SQL Server Integration Services include i tre ruoli fissi a livello di database, , db_ssisadmin
db_ssisltduser e db_ssisoperator, per controllare l'accesso ai pacchetti. I ruoli possono essere implementati solo nei pacchetti salvati nel msdb
database in SQL Server. Assegnare ruoli a un pacchetto usando SQL Server Management Studio. Le assegnazioni di ruolo vengono salvate nel msdb
database.
Azioni di lettura e scrittura
La tabella seguente descrive 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 oppure 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. Eseguire 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 del ruolo db_ssisadmin e il ruolo dc_admin possono essere in grado di elevare i privilegi a sysadmin. Questa elevazione dei privilegi può verificarsi perché tali ruoli possono modificare i pacchetti Integration Services e questi ultimi possono essere eseguiti da SQL Server usando 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 di Integration Services, configurare i processi di SQL Server Agent che eseguono pacchetti in modo che usino 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. Eseguire 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. |
Tabella Sysssispackages
La tabella sysssispackages in contiene i pacchetti salvati in msdb
SQL Server. Per altre 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.
Autorizzazioni
Per impostazione predefinita, le autorizzazioni di db_ssisadmin
e db_ssisoperator ruoli fissi a livello di database e l'identificatore di sicurezza univoco dell'utente che ha creato il pacchetto si applicano al ruolo lettore per i pacchetti e le autorizzazioni db_ssisadmin
del ruolo e dell'identificatore di sicurezza univoco dell'utente che ha creato il pacchetto si applicano al ruolo writer. Un utente deve essere membro del db_ssisadmin
ruolo , db_ssisltduser o db_ssisoperator per avere accesso in lettura al pacchetto. Un utente deve essere membro del db_ssisadmin
ruolo per avere accesso in scrittura.
Accesso ai pacchetti
I ruoli predefiniti del database funzionano congiuntamente ai ruoli definiti dall'utente, ovvero i ruoli creati dall'utente in SQL Server Management Studio e usati per l'assegnazione di autorizzazioni per i 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. Ad esempio, se gli utenti sono membri del ruolo definito dall'utente AuditUsers assegnati a un pacchetto, devono essere membri db_ssisadmin
di , db_ssisltduser o db_ssisoperator ruolo per avere accesso in lettura al pacchetto.
Se non si assegna alcun ruolo definito dall'utente ai pacchetti, l'accesso verrà determinato dai ruoli predefiniti a livello di database.
Se si vogliono usare ruoli definiti dall'utente, è necessario aggiungerli al msdb
database prima di poterli assegnare ai pacchetti. È possibile creare nuovi ruoli del database in SQL Server Management Studio.
I ruoli a livello di database di Integration Services concedono diritti sulle tabelle di sistema di Integration Services nel database msdb.
SQL Server (servizio MSSQLSERVER) deve essere avviato prima di poter connettersi al motore di database e accedere al msdb
database.
Per assegnare ruoli ai pacchetti, è necessario completare le attività seguenti.
Aprire Esplora oggetti e connettersi a Integration Services
Prima di poter assegnare ruoli ai pacchetti usando SQL Server Management Studio, è necessario aprire Esplora oggetti in SQL Server Management Studio e connettersi a Integration Services.
Prima di potersi connettere a Integration Services, è necessario avviare il servizio Integration Services.
Assegnazione dei ruoli lettura e scrittura ai pacchetti
È possibile assegnare un ruolo lettura o scrittura a ogni pacchetto.