Panoramica sulla sicurezza (Integration Services)
In SQL Server Integration Services la sicurezza è costituita da diversi livelli che forniscono un ambiente di sicurezza protetto e flessibile. Questi livelli di sicurezza includono l'utilizzo di firme digitali, proprietà dei pacchetti, ruoli di database 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 ulteriori informazioni, vedere Utilizzo delle firme digitali con i pacchetti.
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, in Integration Services le proprietà riservate vengono individuate automaticamente e gestite 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, in Integration Services le proprietà vengono identificate come riservate se contengono informazioni, ad esempio una password o una stringa di connessione, o se corrispondono a variabili o nodi XML generati dall'attività. In Integration Services una proprietà viene considerata riservata a seconda se lo sviluppatore del componente di Integration Services, ad esempio una gestione connessione o un'attività, abbia 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 ulteriori informazioni, vedere Impostazione del livello di protezione dei pacchetti.
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 ulteriori informazioni, vedere Salvataggio dei 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, mentre i pacchetti DTS di SQL Server 2000 vengono archiviati nella tabella sysdtspackages. 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.
Per la protezione dei pacchetti di SQL Server salvati nel database msdb è inoltre possibile utilizzare i ruoli a livello di database di Integration Services. In Integration Services sono disponibili tre ruoli predefiniti a livello di database per il controllo dell'accesso ai pacchetti, ovvero db_ssisadmin, db_ssisltduser e db_ssisoperator. A ogni pacchetto è possibile associare un ruolo di lettore e un ruolo di scrittore. È inoltre possibile definire ruoli a livello di database personalizzati per i pacchetti di Integration Services o i pacchetti di SQL Server 2000. I ruoli possono essere implementati solo nei pacchetti salvati nel database msdb in un'istanza di SQL Server. Per ulteriori informazioni, vedere Utilizzo dei ruoli di Integration Services.
Importante |
---|
Per informazioni importanti sulla sicurezza dei pacchetti DTS, vedere Sicurezza di pacchetti DTS archiviati in SQL Server. |
Salvataggio dei 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 ne file system è necessario implementare livelli di sicurezza aggiuntivi.
Per ulteriori informazioni, vedere Controllo dell'accesso ai file utilizzati dai pacchetti.
Archiviazione sicura delle configurazioni del pacchetto
Le configurazioni del pacchetto possono essere salvate in una tabella di 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. Pertanto, è possibile specificare il database da utilizzare come repository delle configurazioni del pacchetto. È 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 Configurazioni pacchetto SSIS.
Controllo dell'accesso al servizio Integration Services
In SQL Server Management Studio l'elenco dei pacchetti archiviati viene visualizzato tramite il servizio SQL Server. Per impedire agli utenti non autorizzati di visualizzare le informazioni sui pacchetti archiviati nei computer locali e remoti e di accedere quindi a informazioni riservate, limitare l'accesso ai computer che eseguono il servizio SQL Server.
Per ulteriori informazioni, vedere Controllo dell'accesso al servizio Integration Services.
|