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 delle informazioni sensibili nel pacchetto.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Ereditarietà
-
DTSProtectionLevel
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| DontSaveSensitive | 0 | Le informazioni sensibili non sono salvate nel pacchetto. Le informazioni sensibili vengono rimosse e sostituite con spazi vuoti. |
| EncryptSensitiveWithUserKey | 1 | Cripta proprietà sensibili solo utilizzando chiavi basate sull'utente corrente. Solo lo stesso utente che usa lo stesso profilo può caricare il pacchetto. Se un altro utente apre il pacchetto, le informazioni sensibili vengono sostituite con spazi vuoti. Per la crittografia viene utilizzato DPAPI. |
| EncryptSensitiveWithPassword | 2 | Cripta solo le informazioni sensibili contenute nel pacchetto utilizzando una password. Per la crittografia viene utilizzato DPAPI. |
| EncryptAllWithPassword | 3 | Cripta l'intero pacchetto usando una password. |
| EncryptAllWithUserKey | 4 | Cripta l'intero pacchetto usando chiavi basate sul profilo utente. Solo lo stesso utente che usa lo stesso profilo può caricare il pacchetto. |
| ServerStorage | 5 | Cripta il pacchetto all'interno di un database msdb di SQL Server. Questa opzione è supportata solo quando un pacchetto viene salvato su SQL Server. Non è supportata quando un pacchetto viene salvato nel File System. Il controllo di accesso su chi può decifrare il pacchetto è fatto dai ruoli del database di SQL Server. Per maggiori informazioni, vedi Database-Level Ruoli e syssis package (Transact-SQL). |
Esempio
Il seguente esempio carica un pacchetto e poi recupera diverse proprietà del pacchetto, inclusa quella ProtectionLevel assegnata 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
}
Output di esempio:
CertificateContext = 0
CheckpointFileName =
ProtectionLevel = EncrypteSensitiveWithUserKey
PackageType = predefinito
Commenti
Quando si utilizza il valore DontSaveSensitive, se informazioni sensibili sono contenute in un pacchetto, queste informazioni sensibili non vengono salvate. Questo è il valore predefinito.
Per tutti i valori, le informazioni sensibili sono definite come:
La parte della password di una stringa di connessione. Tuttavia, se scegli un'opzione che cripta tutto, l'intera stringa di connessione sarà considerata sensibile.
I nodi XML generati dal compito che sono etichettati con l'attributo
Sensitive.Qualsiasi variabile contrassegnata con l'attributo
Sensitive.
Se hai informazioni sensibili in un file di configurazione, dovresti salvarle su Microsoft SQL Server o utilizzare una lista di controllo accessi (ACL) per proteggere la posizione o la cartella. Per altre informazioni, vedere Creazione di configurazioni dei pacchetti.
Per maggiori informazioni sull'impostazione dei livelli di protezione dei pacchetti, vedi Controllo di accesso for Sensitive Data in Packages.
La crittografia avviene utilizzando due metodi. L'API di Protezione dei Dati Microsoft (DPAPI), che fa parte dell'API di Crittografia (Crypto API), viene utilizzata per i livelli di protezione di EncryptAllWithUserKey e EncryptSensitiveWithUserKey. La TripleDES classe è utilizzata per i livelli di protezione di EncryptAllWithPassword e EncryptSensitiveWithPassword.
Per ulteriori informazioni, consulta TripleDES Class nella .NET Framework Class Library.