Panoramica sulla sicurezza (Integration Services)
In Integration Services la sicurezza è costituita da diversi livelli che forniscono un ambiente di sicurezza protetto e flessibile. Questi livelli di sicurezza includono l'uso di firme digitali, proprietà dei pacchetti, ruoli di database di SQL Server e autorizzazioni del sistema operativo. La maggior parte di queste caratteristiche di sicurezza rientra nelle categorie di identità e di controllo dell'accesso.
Caratteristiche di identità
Implementando le caratteristiche di identità nei pacchetti, è possibile raggiungere l'obiettivo seguente:
Aprire ed eseguire i pacchetti solo da origini attendibili.
Per aprire ed eseguire i pacchetti solo da origini attendibili, è necessario identificare innanzitutto l'origine dei pacchetti. È possibile identificare l'origine dei pacchetti tramite la firma con certificati. Quando si aprono o si eseguono i pacchetti, è possibile impostare Integration Services in modo che verifichi la presenza e la validità delle firme digitali. Per altre informazioni, vedere Identificazione dell'origine dei pacchetti con firme digitali.
Caratteristiche di controllo dell'accesso
Implementando le caratteristiche di identità nei pacchetti, è possibile raggiungere l'obiettivo seguente:
Assicurarsi che i pacchetti vengano aperti ed eseguiti solo da utenti autorizzati.
Per assicurarsi che i pacchetti vengano aperti ed eseguiti solo da utenti autorizzati, è necessario controllare l'accesso alle informazioni seguenti:
Controllare l'accesso al contenuto dei pacchetti, soprattutto ai dati sensibili.
Controllare l'accesso ai pacchetti e alle configurazioni dei pacchetti archiviate in SQL Server.
Controllare l'accesso ai pacchetti e ai file correlati, quali configurazioni, log e file di checkpoint, archiviati nel file system.
Controllare l'accesso al servizio Integration Services e alle informazioni sui pacchetti visualizzate dal servizio in SQL Server Management Studio.
Controllo dell'accesso al contenuto dei pacchetti
Per limitare l'accesso al contenuto di un pacchetto, è possibile crittografare i pacchetti impostando la proprietà ProtectionLevel del pacchetto. Questa proprietà può essere impostata sul livello di protezione richiesto dal pacchetto. Ad esempio, nell'ambiente di sviluppo di un gruppo di lavoro è possibile crittografare un pacchetto impostando una password nota solo ai membri del gruppo che lavorano al pacchetto.
Quando si imposta la proprietà ProtectionLevel di un pacchetto, Integration Services individua automaticamente le proprietà riservate e le gestisce in base al livello di protezione pacchetto specificato. Impostare ad esempio la proprietà ProtectionLevel per un pacchetto su un livello che crittografa le informazioni riservate con una password. Per questo pacchetto, in Integration Services vengono crittografati automaticamente i valori di tutte le proprietà riservate e i dati corrispondenti verranno visualizzati solo se viene fornita la password corretta.
In genere, Integration Services identifica le proprietà come riservate se contengono informazioni, ad esempio una password o una stringa di connessione, o se corrispondono a variabili o a nodi XML generati dall'attività. Integration Services considera una proprietà riservata se lo sviluppatore del componente di Integration Services, ad esempio una gestione connessione o un'attività, ha definito la proprietà come riservata. Gli utenti non possono aggiungere proprietà all'elenco di proprietà considerate riservate, né possono rimuoverle. Se si scrivono attività, gestioni connessione o componenti del flusso di dati personalizzati, è possibile specificare le proprietà che devono essere considerate riservate in Integration Services.
Per altre informazioni, vedere Access Control for Sensitive Data in Packages.
Controllo dell'accesso ai pacchetti
I pacchetti di Integration Services possono essere salvati nel database msdb in un'istanza di SQL Server o nel file system come file XML con estensione dtsx. Per altre informazioni, vedere Salvataggio di pacchetti.
Salvataggio dei pacchetti nel database msdb
Con il salvataggio dei pacchetti nel database msdb la sicurezza viene implementata a livello di server, di database e di tabella. Nel database msdb i pacchetti di Integration Services vengono archiviati nella tabella sysssispackages. Poiché i pacchetti vengono salvati nelle tabelle sysssispackages e sysdtspackages del database msdb, quando si esegue il backup del database msdb automaticamente viene eseguito il backup dei pacchetti.
I pacchetti di SQL Server archiviati nel database msdb possono essere protetti anche applicando i ruoli a livello di database di Integration Services. 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. A ogni pacchetto è possibile associare un ruolo di lettore e un ruolo di scrittore. È inoltre possibile definire ruoli personalizzati a livello di database da usare nei pacchetti di Integration Services. I ruoli possono essere implementati solo nei pacchetti salvati nel database msdb in un'istanza di SQL Server. Per altre informazioni, vedere Ruoli di Integration Services (servizio SSIS).
Salvataggio di pacchetti nel file system
Se i pacchetti vengono archiviati nel file system anziché nel database msdb, è necessario proteggere i file di pacchetto e le cartelle che li contengono.
Controllo dell'accesso ai file utilizzati dai pacchetti
I pacchetti configurati per l'utilizzo di configurazioni, checkpoint e registrazione generano informazioni che vengono archiviate all'esterno dei pacchetti stessi. Tali informazioni potrebbero essere riservate e devono essere pertanto protette. I file di checkpoint possono essere salvati solo nel file system, mentre le configurazione e i log possono essere salvati sia nel file system che nelle tabelle di un database di SQL Server. Le configurazioni e i log salvati in SQL Server vengono protetti tramite la sicurezza di SQL Server, ma per le informazioni scritte nel file system è necessario implementare livelli di sicurezza aggiuntivi.
Per altre informazioni, vedere Accesso ai file utilizzati dai pacchetti.
Archiviazione sicura delle configurazioni del pacchetto
Le configurazioni dei pacchetti possono essere salvate in una tabella in un database di SQL Server o nel file system.
Le configurazioni possono essere salvate in qualsiasi database di SQL Server, non solo nel database msdb. È quindi possibile specificare quale database utilizzare come repository delle configurazioni dei pacchetti. È inoltre possibile specificare il nome della tabella in cui includere le configurazioni, la quale verrà creata automaticamente in Integration Services con la struttura corretta. Con il salvataggio delle configurazioni in una tabella la sicurezza viene implementata a livello di server, di database e di tabella. Inoltre, per le configurazioni salvate in SQL Server viene eseguito automaticamente il backup quando si esegue il backup del database.
Se le configurazioni vengono archiviate nel file system anziché in SQL Server, è necessario proteggere le cartelle contenenti i file di configurazione dei pacchetti.
Per ulteriori informazioni sulle configurazioni, vedere Package Configurations.
Controllo dell'accesso al servizio Integration Services
SQL Server Management Studio usa il servizio SQL Server per elencare i pacchetti archiviati. Per impedire agli utenti non autorizzati di visualizzare informazioni sui pacchetti archiviati in computer locali e remoti, acquisendo quindi informazioni private, limitare l'accesso ai computer in cui viene eseguito il servizio SQL Server.
Per altre informazioni, vedere Accesso al servizio Integration Services.
Attività correlate
Nell'elenco seguente sono contenuti collegamenti ad argomenti che illustrano come eseguire un'attività relativa alla sicurezza.
Implementazione di criteri per le firme impostando un valore del Registro di sistema
Impostazione o modifica del livello di protezione dei pacchetti