DTSProtectionLevel Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Steuert die Behandlung vertraulicher Informationen im Paket.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Vererbung
-
DTSProtectionLevel
Felder
DontSaveSensitive | 0 | Vertrauliche Informationen werden nicht im Paket gespeichert. Die vertraulichen Informationen werden entfernt und durch Leerzeichen ersetzt. |
EncryptAllWithPassword | 3 | Verschlüsselt das ganze Paket mit einem Kennwort. |
EncryptAllWithUserKey | 4 | Verschlüsselt das gesamte Paket anhand von Schlüsseln auf Grundlage des Benutzerprofils. Das Paket kann nur von demselben Benutzer, der dasselbe Profil verwendet, geladen werden. |
EncryptSensitiveWithPassword | 2 | Verschlüsselt nur vertrauliche, im Paket enthaltene Informationen mit einem Kennwort. Für diese Verschlüsselung wird DPAPI verwendet. |
EncryptSensitiveWithUserKey | 1 | Verschlüsselt nur vertrauliche Eigenschaften mit Schlüsseln auf Grundlage des aktuellen Benutzers. Das Paket kann nur von demselben Benutzer, der dasselbe Profil verwendet, geladen werden. Wenn das Paket von einem anderen Benutzer geöffnet wird, werden die vertraulichen Informationen durch Leerzeichen ersetzt. Für diese Verschlüsselung wird DPAPI verwendet. |
ServerStorage | 5 | Verschlüsselt das Paket in einer SQL Server msdb-Datenbank. Diese Option wird nur unterstützt, wenn ein Paket in SQL Server gespeichert wird. Sie wird nicht unterstützt, wenn ein Paket im Dateisystem gespeichert wird. Die Zugriffssteuerung, wer das Paket entschlüsseln kann, wird von SQL Server Datenbankrollen gesteuert. Weitere Informationen finden Sie unter Rollen auf Datenbankebene und Sysssispackages (Transact-SQL). |
Beispiele
Im folgenden Beispiel wird ein Paket geladen, und anschließend werden mehrere Paketeigenschaften abgerufen, einschließlich des ProtectionLevel zugewiesenen Pakets.
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
}
Beispielausgabe:
CertificateContext = 0
CheckpointFileName =
ProtectionLevel = EncryptSensitiveWithUserKey
PackageType = Standard
Hinweise
Wenn vertrauliche Informationen in einem Paket enthalten sind, werden diese vertraulichen Informationen bei Verwendung des Werts DontSaveSensitivenicht gespeichert. Dies ist der Standardwert.
Für alle Werte sind die sensiblen Daten wie folgt definiert:
Der Kennwortteil einer Verbindungszeichenfolge. Wenn Sie jedoch eine Option auswählen, die alles verschlüsselt, wird die gesamte Verbindungszeichenfolge als vertraulich betrachtet.
Die aufgabengenerierten XML-Knoten, die mit dem
Sensitive
Attribut gekennzeichnet sind.Jede Variable, die mit dem
Sensitive
Attribut gekennzeichnet ist.
Wenn Sie vertrauliche Informationen in einer Konfigurationsdatei haben, sollten Sie sie in Microsoft SQL Server speichern oder eine Zugriffssteuerungsliste (Access Control List, ACL) verwenden, um den Speicherort oder den Ordner zu sichern. Weitere Informationen finden Sie unter Erstellen von Paketkonfigurationen.
Weitere Informationen zum Festlegen von Paketschutzebenen finden Sie unter Access Control für vertrauliche Daten in Paketen.
Die Verschlüsselung erfolgt mit zwei Methoden. Die Microsoft Data Protection API (DPAPI), die Teil der Kryptografie-API (Crypto-API) ist, wird für die Schutzebenen EncryptAllWithUserKey und - EncryptSensitiveWithUserKeywerte verwendet. Die TripleDES
Klasse wird für die Schutzstufen EncryptAllWithPassword und .EncryptSensitiveWithPassword
Weitere Informationen finden Sie unter TripleDES-Klasse in der .NET Framework Klassenbibliothek.