Ruoli di Integration Services (servizio SSIS)

Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory

SQL Server Integration Services offre alcuni ruoli predefiniti a livello di database per consentire l'accesso sicuro ai pacchetti archiviati in SQL Server. I ruoli disponibili sono diversi a seconda di dove si salvano i pacchetti, nel database del catalogo SSIS (SSISDB) o nel database msdb.

Ruoli nel database del catalogo SSIS (SSISDB)

Il database del catalogo SSIS (SSISDB) fornisce i seguenti ruoli predefiniti a livello di database per proteggere l'accesso ai pacchetti e alle relative informazioni.

  • ssis_admin. Questo ruolo fornisce l'accesso amministrativo completo al database del catalogo SSIS.

  • ssis_logreader Questo ruolo fornisce le autorizzazioni per accedere a tutte le viste correlate ai log operativi di SSISDB.

    L'elenco delle viste include: [catalog].[projects], [catalog].[packages], [catalog].[operations], [catalog].[extended_operation_info], [catalog].[operation_messages], [catalog].[event_messages], [catalog].[execution_data_statistics], [catalog].[execution_component_phases], [catalog].[execution_data_taps], [catalog].[event_message_context], [catalog].[executions], [catalog].[executables], [catalog].[executable_statistics], [catalog].[validations], [catalog].[execution_parameter_values] e [catalog].[execution_property_override_values].

Per impostazione predefinita, sono disponibili autorizzazioni concesse per le viste e le stored procedure assegnate al ruolo pubblico fisso di SQL Server. Le autorizzazioni non forniscono agli utenti l'accesso per eseguire o modificare i pacchetti, ma solo le autorizzazioni per interagire con il meccanismo interno di SSISDB che a sua volta determinano le autorizzazioni effettive.

Ruoli all'interno del database msdb

SQL Server Integration Services include i tre ruoli predefiniti a livello di database, db_ssisadmin, db_ssisltduser e db_ssisoperator, per il controllo dell'accesso ai pacchetti salvati nel database msdb. Assegnare ruoli a un pacchetto usando SQL Server Management Studio. Le assegnazioni dei ruoli vengono salvate nel database msdb .

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

or

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.



**** Avviso **** I membri dei ruoli db_ssisadmin e 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 di dati e altri pacchetti di servizi di integrazione, configura i processi di SQL Server Agent che eseguono pacchetti in modo che usino un account proxy con privilegi limitati o aggiungi solo i membri amministratore di sistema 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.
None
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 del database msdb include i pacchetti che sono stati salvati in 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 dei ruoli predefiniti a livello di database db_ssisadmin e db_ssisoperator e l'ID 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'ID 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_ssisltdusero db_ssisoperator . Per disporre dell'accesso in scrittura, l'utente deve essere membro del ruolo db_ssisadmin .

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. 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_ssisltdusero 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 sulle tabelle di sistema di Integration Services nel database msdb.

Per poter eseguire la connessione al motore di database e accedere al database msdb, è necessario che si stato avviato SQL Server (servizio MSSQLSERVER).

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.

Assegnazione di un ruolo lettura e scrittura a un pacchetto

È possibile assegnare un ruolo lettura o scrittura a ogni pacchetto.

Assegnazione di un ruolo lettura e scrittura a un pacchetto

  1. In Esplora oggetti individuare la connessione Integration Services.

  2. Espandere la cartella Pacchetti archiviati e quindi la sottocartella contenente il pacchetto a cui si desidera assegnare ruoli.

  3. Fare clic con il pulsante destro del mouse sul pacchetto desiderato.

  4. Nella finestra di dialogo Ruoli pacchetto selezionare un ruolo nell'elenco Ruolo lettura e un ruolo nell'elenco Ruolo scrittura .

  5. Fare clic su OK.

Creazione di un ruolo definito dall'utente

Per creare un ruolo definito dall'utente

  1. Aprire SQL Server Management Studio.

  2. Scegliere Esplora oggetti dal menu Visualizza .

  3. Nella barra degli strumenti di Esplora oggetti fare clic su Connettie quindi su Motore di database.

  4. 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 .

  5. Fare clic su Connetti.

  6. Espandere i nodi Database, Database di sistema, msdb, Sicurezza e Ruoli.

  7. Nel nodo Ruoli fare clic con il pulsante destro del mouse su Ruoli del database e quindi scegliere Nuovo ruolo del database.

  8. Nella pagina Generale specificare un nome. Facoltativamente specificare un proprietario e gli schemi di proprietà e aggiungere i membri del ruoli.

  9. Facoltativamente, fare clic su Autorizzazioni e configurare le autorizzazioni per gli oggetti.

  10. Facoltativamente, fare clic su Proprietà estese e configurare le proprietà estese.

  11. Fare clic su OK.

Riferimento all'interfaccia utente della finestra di dialogo Ruoli pacchetto

Usare la finestra di dialogo Ruoli pacchetto, disponibile in SQL Server Management Studio, per specificare i ruoli a livello di database che dispongono dell'accesso in lettura al pacchetto e quelli che dispongono dell'accesso in scrittura. I ruoli a livello di database si applicano solo ai pacchetti archiviati nel database msdb di SQL Server.

I ruoli elencati nella finestra di dialogo sono quelli attualmente disponibili nel database di sistema msdb . Se si seleziona alcun ruolo, vengono applicati i ruoli predefiniti di Integration Services. Per impostazione predefinita, il ruolo lettura include db_ssisadmin, db_ssisoperatore l'utente che ha creato il pacchetto. Gli utenti membri di uno di questi ruoli o creatori dei pacchetti possono enumerare, visualizzare, esportare ed eseguire i pacchetti. Per impostazione predefinita, il ruolo scrittura include db_ssisadmin e l'utente che ha creato il pacchetto. L'utente membro di questo ruolo e il creatore dei pacchetti possono importare, eliminare e modificare i pacchetti.

La colonna ownersid nella tabella sysssispackages include l'ID di sicurezza (SID) univoco dell'utente che ha creato il pacchetto.

Opzioni

Nome pacchetto
Consente di specificare il nome del pacchetto.

Ruolo lettura
Consente di selezionare un ruolo nell'elenco.

Ruolo scrittura
Consente di selezionare un ruolo nell'elenco.