DTSProtectionLevel Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Controlla la gestione di informazioni riservate nel pacchetto.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Ereditarietà
-
DTSProtectionLevel
Campi
DontSaveSensitive | 0 | Le informazioni riservate non vengono salvate nel pacchetto, bensì rimosse e sostituite da spazi vuoti. |
EncryptAllWithPassword | 3 | Esegue la crittografia dell'intero pacchetto tramite una password. |
EncryptAllWithUserKey | 4 | Esegue la crittografia dell'intero pacchetto tramite chiavi basate sul profilo utente. Il pacchetto può essere caricato solo dallo stesso utente utilizzando lo stesso profilo. |
EncryptSensitiveWithPassword | 2 | Esegue la crittografia solo delle informazioni riservate contenute nel pacchetto tramite una password. Per la crittografia viene utilizzato DPAPI. |
EncryptSensitiveWithUserKey | 1 | Esegue la crittografia solo delle proprietà sensibili tramite chiavi basate sull'utente corrente. Il pacchetto può essere caricato solo dallo stesso utente utilizzando lo stesso profilo. Se un altro utente apre il pacchetto, le informazioni riservate vengono sostituite da spazi vuoti. Per la crittografia viene utilizzato DPAPI. |
ServerStorage | 5 | Crittografa il pacchetto all'interno di un database msdb SQL Server. Questa opzione è supportata solo quando un pacchetto viene salvato in SQL Server. mentre non è supportata quando i pacchetti vengono salvati nel file system. Il controllo di accesso di chi può decrittografare il pacchetto è controllato dai ruoli del database SQL Server. Per altre informazioni, vedere Ruoli a livello di database e sysssispackages (Transact-SQL). |
Esempio
Nell'esempio seguente viene caricato un pacchetto e quindi vengono recuperate diverse proprietà del pacchetto, incluso l'oggetto ProtectionLevel assegnato al pacchetto.
Class PackageTest
{
static void Main(string[] args)
{
// The variable pkg points to the location of the
// ExecuteProcess package sample
// installed with the samples.
string pkg = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx";
Application app = new Application();
Package p = app.LoadPackage(pkg, null);
// Once the package is loaded, this sample can
// query on several properties
long cc = p.CertificateContext;
string cfn = p.CheckpointFileName;
DTSProtectionLevel pl = p.ProtectionLevel;
DTSPackageType dpt = p.PackageType;
Console.WriteLine("CertificateContext = " + cc);
Console.WriteLine("CheckpointFileName = " + cfn);
Console.WriteLine("ProtectionLevel = " + pl);
Console.WriteLine("PackageType = " + dpt);
}
}
Class PackageTest
{
Shared Sub Main(ByVal args() As String)
' The variable pkg points to the location of the
' ExecuteProcess package sample
' installed with the samples.
Dim pkg As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"
Dim app As Application = New Application()
Dim p As Package = app.LoadPackage(pkg,Nothing)
' Once the package is loaded, this sample can
' query on several properties
Dim cc As Long = p.CertificateContext
Dim cfn As String = p.CheckpointFileName
Dim pl As DTSProtectionLevel = p.ProtectionLevel
Dim dpt As DTSPackageType = p.PackageType
Console.WriteLine("CertificateContext = " + cc)
Console.WriteLine("CheckpointFileName = " + cfn)
Console.WriteLine("ProtectionLevel = " + pl)
Console.WriteLine("PackageType = " + dpt)
End Sub
}
Esempio di output
CertificateContext = 0
CheckpointFileName =
ProtectionLevel = EncryptSensitiveWithUserKey
PackageType = Default
Commenti
Quando si usa il valore DontSaveSensitive, se le informazioni riservate sono contenute in un pacchetto, queste informazioni riservate non vengono salvate. Si tratta del valore predefinito.
Per tutti i valori, le informazioni riservate vengono definite come:
Parte della password di una stringa di connessione. Tuttavia, se si sceglie un'opzione che crittografa tutto, l'intera stringa di connessione verrà considerata sensibile.
Nodi XML generati dall'attività contrassegnati con l'attributo
Sensitive
.Qualsiasi variabile contrassegnata con l'attributo
Sensitive
.
Se si dispone di informazioni riservate in un file di configurazione, è necessario salvarle in Microsoft SQL Server oppure usare un elenco di controllo di accesso (ACL) per proteggere il percorso o la cartella. Per altre informazioni, vedere Creazione di configurazioni dei pacchetti.
Per altre informazioni sull'impostazione dei livelli di protezione dei pacchetti, vedere Controllo di accesso per i dati sensibili nei pacchetti.
La crittografia viene eseguita usando due metodi. L'API Protezione dati Microsoft (DPAPI), che fa parte dell'API crittografia (API Crypto), viene usata per i livelli di protezione di EncryptAllWithUserKey e EncryptSensitiveWithUserKey. La TripleDES
classe viene usata per i livelli di protezione di EncryptAllWithPassword e EncryptSensitiveWithPassword.
Per altre informazioni, vedere Classe TripleDES nella libreria di classi .NET Framework.