Condividi tramite


Impostazione del livello di protezione dei pacchetti

Il livello di protezione di un pacchetto di SQL Server 2005 Integration Services (SSIS) viene impostato in fase di sviluppo del pacchetto in Business Intelligence Development Studio. È possibile aggiornarlo successivamente quando il pacchetto viene distribuito, importato o esportato da Integration Services a SQL Server Management Studio oppure copiato da Business Intelligence Development Studio a SQL Server, all'archivio pacchetti SSIS o al servizio del file system. Si supponga, ad esempio, che nei computer in uso vengano creati e salvati pacchetti in base a una delle opzioni di livello di protezione con chiave utente. Se successivamente i pacchetti vengono distribuiti ad altri utenti, sarà necessario modificarne il livello di protezione in modo che possano essere aperti dagli altri utenti.

Nella tabella seguente vengono descritti i livelli di protezione disponibili in Integration Services. I valori tra parentesi derivano da DTSProtectionLevel e sono visualizzati nella finestra Proprietà utilizzata per la configurazione delle proprietà dell'oggetto di pacchetto quando si lavora con i pacchetti in Business Intelligence Development Studio.

Livello di protezione Descrizione

Non salva i dati riservati (DontSaveSensitive)

Quando si salva il pacchetto, le informazioni riservate vengono eliminate. Con questo livello di protezione i dati non vengono crittografati, ma le proprietà contrassegnate come riservate non vengono salvate insieme al pacchetto. Di conseguenza i dati riservati non sono disponibili ad altri utenti, i quali dovranno specificarli quando aprono il pacchetto.

Crittografa tutti i dati con una password (EncryptAllWithPassword)

Tutti i dati del pacchetto vengono crittografati con una password. Il pacchetto viene crittografato con una password specificata dall'utente in fase di creazione o di esportazione del pacchetto. Per poter aprire il pacchetto in Progettazione SSIS o per eseguirlo tramite l'utilità della riga di comando dtexec, l'utente deve specificare la password. Se non specifica la password corretta, l'utente non può né aprire né eseguire il pacchetto.

Crittografa tutti i dati con una chiave utente (EncryptAllWithUserKey)

Tutti i dati del pacchetto vengono crittografati con una chiave basata sul profilo utente. Il pacchetto può essere caricato solo da uno stesso utente in base allo stesso profilo. Il pacchetto viene crittografato con una chiave basata sull'utente che ha creato o esportato il pacchetto. Il pacchetto può essere aperto in Progettazione SSIS o eseguito tramite l'utilità della riga di comando dtexec solo dall'utente che ha creato o esportato il pacchetto.

Crittografa con una password tutti i dati riservati (EncryptSensitiveWithPassword)

Tutte le informazioni riservate del pacchetto vengono crittografate con una password. Per la crittografia viene utilizzato DPAPI. I dati riservati vengono salvati come parte del pacchetto, ma crittografati tramite una password specificata dall'utente corrente in fase di creazione o di esportazione del pacchetto. Per poter aprire il pacchetto in Progettazione SSIS, l'utente deve specificare la password. Se non specifica la password, il pacchetto viene aperto senza i dati riservati e l'utente corrente deve specificare nuovi valori per questi dati. I tentativi di esecuzione del pacchetto senza specificare la password hanno esito negativo. Per ulteriori informazioni sulle password e sull'esecuzione delle utilità della riga di comando, vedere Utilità dtexec.

Crittografa tutti i dati riservati con una chiave utente (EncryptSensitiveWithUserKey)

Le informazioni riservate contenute nel pacchetto vengono crittografate con chiavi basate sull'utente corrente. Il pacchetto può essere caricato solo da uno stesso utente in base allo stesso profilo. Gli altri utenti che aprono il pacchetto dovranno immettere le informazioni riservate. I tentativi di esecuzione del pacchetto hanno esito negativo. Per la crittografia viene utilizzato DPAPI.

Usa l'archiviazione su server per la crittografia (ServerStorage)

L'intero pacchetto viene protetto con i ruoli del database di SQL Server. Questa opzione è supportata solo quando i pacchetti vengono salvati nel database msdb di SQL Server, mentre non è supportata quando i pacchetti vengono salvati nel file system in Business Intelligence Development Studio.

Con i livelli di protezione dei pacchetti che implicano la crittografia con password anche l'utente autorizzato a modificare l'origine deve specificare una password. Se tale utente sostituisce un livello di protezione che non richiede la password con un livello che la richiede, verrà richiesto di specificare una password.

La crittografia applicata con i livelli di protezione dei pacchetti viene eseguita in base all'API Microsoft Data Protection (DPAPI), che fa parte di Cryptography API (Crypto API).

In Integration Services per i livelli di protezione che prevedono una password viene utilizzato l'algoritmo di crittografia Triple DES con lunghezza di chiave di 192 bit, disponibile nella libreria di classi .NET Framework (FCL).

Per i livelli di protezione che prevedono una chiave utente, in Integration Services vengono utilizzati gli standard DPAPI. Per ulteriori informazioni su DPAPI, vedere il sito MSDN Library all'indirizzo https://msdn.microsoft.com/library.

Quando si utilizza il livello di protezione Non salva i dati riservati (DontSaveSensitive), le informazioni riservate contenute nel pacchetto non vengono salvate.

Per tutti i valori, sono considerate riservate le informazioni seguenti:

  • La password di una stringa di connessione. Se, tuttavia, si imposta un'opzione che implica la crittografia dell'intero pacchetto, viene considerata riservata l'intera stringa di connessione.
  • I nodi XML generati dall'attività contrassegnati come riservati. I nodi XML vengono contrassegnati come riservati da Integration Services. L'attributo di riservatezza pertanto non può essere modificato dagli utenti.
  • Qualsiasi variabile. Le variabili vengono contrassegnate come riservate da Integration Services.

Per la protezione dei pacchetti salvati nel database msdb è inoltre possibile utilizzare i ruoli predefiniti del database. In Integration Services sono disponibili tre ruoli per l'assegnazione di autorizzazioni ai pacchetti, ovvero db_dtsadmin, db_dtsltduser e db_dtsoperator. Per ulteriori informazioni, vedere Ruoli di Integration Services e Ruoli a livello di database.

Vedere anche

Attività

Importazione ed esportazione di pacchetti
Procedura: Importazione di un pacchetto tramite il servizio Integration Services
Procedura: Esportazione di un pacchetto tramite il servizio Integration Services

Concetti

Pacchetti Integration Services
Considerazioni sulla protezione di Integration Services

Guida in linea e informazioni

Assistenza su SQL Server 2005