Festlegen der Paketschutzebene
Die Schutzebene eines SQL Server 2005 Integration Services (SSIS)-Pakets wird beim erstmaligen Entwickeln in Business Intelligence Development Studio festgelegt. Wenn das Paket dann zu einem späteren Zeitpunkt bereitgestellt, von Integration Services in SQL Server Management Studio importiert oder daraus exportiert wird oder von Business Intelligence Development Studio nach SQL Server, in den SSIS-Paketspeicher oder in den Dateisystemdienst kopiert wird, können Sie die Paketschutzebene aktualisieren. Wenn Sie z. B. Pakete auf Ihren Computern mit einer Benutzerschlüssel-Schutzebenenoption erstellen und speichern, möchten Sie eventuell die Schutzebene ändern, wenn Sie das Paket anderen Benutzern übergeben; anderenfalls können diese Benutzer das Paket nicht öffnen.
In der folgenden Tabelle werden die Schutzebenen von Integration Services beschrieben. Die in Klammern stehenden Werte sind Werte aus der DTSProtectionLevel. Diese Werte werden im Eigenschaftenfenster angezeigt, das Sie zum Konfigurieren der Eigenschaften des Paketobjekts verwenden, wenn Sie in Business Intelligence Development Studio mit Paketen arbeiten.
Schutzebene | Beschreibung |
---|---|
Sensible Daten nicht speichern (DontSaveSensitive) |
Unterdrückt sensible Daten im Paket, wenn es gespeichert wird. Diese Schutzebene verschlüsselt nicht, sondern verhindert stattdessen, dass als sensibel markierte Eigenschaften mit dem Paket gespeichert werden. Deshalb stehen die sensiblen Daten anderen Benutzern nicht zur Verfügung. Wenn das Paket von einem anderen Benutzer geöffnet wird, werden die sensiblen Daten durch Leerzeichen ersetzt und der Benutzer muss die sensiblen Daten angeben. |
Alle Daten mit einem Kennwort verschlüsseln (EncryptAllWithPassword) |
Verschlüsselt das gesamte Paket mit einem Kennwort. Das Paket wird mit einem Kennwort verschlüsselt, das beim Erstellen oder Exportieren des Pakets vom Benutzer bereitgestellt wird. Um das Paket im SSIS-Designer zu öffnen oder mit dem dtexec-Eingabeaufforderungs-Dienstprogramm auszuführen, muss der Benutzer das Paketkennwort angeben. Ohne Kennwort kann der Benutzer das Paket weder öffnen noch ausführen. |
Alle Daten mit einem Benutzerschlüssel verschlüsseln (EncryptAllWithUserKey) |
Verschlüsselt das gesamte Paket mit einem auf dem Benutzerprofil basierenden Schlüssel. Das Paket kann nur von demselben Benutzer, der dasselbe Profil verwendet, geladen werden. Das Paket wird mit einem Schlüssel verschlüsselt, der auf dem Benutzer basiert, der das Paket erstellte oder exportierte. Nur der Benutzer, der das Paket erstellte oder exportierte, kann das Paket im SSIS-Designer öffnen oder mit dem Eingabeaufforderungs-Dienstprogramm dtexec ausführen. |
Sensible Daten mit einem Kennwort verschlüsseln (EncryptSensitiveWithPassword) |
Verschlüsselt lediglich die sensiblen Daten im Paket mit einem Kennwort. Für diese Verschlüsselung wird DPAPI verwendet. Die sensiblen Daten werden als Teil des Pakets gespeichert, aber diese Daten werden mit einem Kennwort verschlüsselt, das vom aktuellen Benutzer beim Erstellen oder Exportieren des Pakets bereitgestellt wird. Um das Paket im SSIS-Designer zu öffnen, muss der Benutzer das Paketkennwort angeben. Falls kein Kennwort angegeben wird, wird das Paket ohne die sensiblen Daten geöffnet und der Benutzer muss neue Werte für sensible Daten angeben. Falls der Benutzer versucht, das Paket auszuführen, ohne das Kennwort anzugeben, schlägt die Paketausführung fehl. Weitere Informationen zu Kennwörtern und zur Befehlszeilenausführung finden Sie unter dtexec (Dienstprogramm). |
Sensible Daten mit einem Benutzerschlüssel verschlüsseln (EncryptSensitiveWithUserKey) |
Verschlüsselt lediglich die sensiblen Daten im Paket mit Schlüsseln, die auf dem aktuellen Benutzer basieren. 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 sensiblen Daten durch Leerzeichen ersetzt und der aktuelle Benutzer muss neue Werte für die sensiblen Daten angeben. Wenn der Benutzer versucht, das Paket auszuführen, schlägt die Paketausführung fehl. Für diese Verschlüsselung wird DPAPI verwendet. |
Serverspeicher für die Verschlüsselung verwenden (ServerStorage) |
Schützt das gesamte Paket mithilfe von SQL Server-Datenbankrollen. Diese Option wird nur unterstützt, wenn ein Paket in der SQL Server msdb-Datenbank gespeichert wird. Sie wird nicht unterstützt, wenn ein Paket in das Dateisystem von Business Intelligence Development Studio gespeichert wird. |
Für die Paketschutzebenen, die Pakete mit Kennwörtern verschlüsseln, müssen Sie ebenfalls ein Kennwort angeben. Wenn Sie die Schutzebene von einer Ebene, die kein Kennwort verwendet, in eine Ebene ändern, die ein Kennwort verwendet, werden Sie zur Angabe eines Kennwortes aufgefordert.
Die Verschlüsselung, wie sie von Paketschutzebenen verwendet wird, wird mit der Datenschutz-API (DPAPI) von Microsoft durchgeführt, die Teil der Kryptografie-API (Crypto API) ist.
In Integration Services wird der Dreifach-DES-Verschlüsselungsalgorithmus mit einer Schlüssellänge von 192 Bits, verfügbar in der .NET Framework-Bibliotheksklasse (FCL), für die Schutzebenen verwendet, die ein Kennwort verwenden.
Für die Schutzebenen, für die ein Benutzerschlüssel verwendet wird, werden in Integration Services DPAPI-Standards verwendet. Weitere Informationen zu DPAPI finden Sie in der MSDN Library unter https://msdn.microsoft.com/library.
Wenn Sie die Schutzebene Sensible Daten nicht speichern (DontSaveSensitive) verwenden, werden die sensiblen Daten im Paket nicht gespeichert.
Für alle Werte sind die sensiblen Daten wie folgt definiert:
- Der Kennwortteil einer Verbindungszeichenfolge. Wenn Sie jedoch eine Option wählen, mit der alle Daten verschlüsselt werden, wird die gesamte Verbindungszeichenfolge als sensibel betrachtet.
- Die vom Task generierten XML-Knoten, die als sensibel markiert sind. Die Markierung der XML-Knoten wird von Integration Services gesteuert und kann von den Benutzern nicht geändert werden.
- Alle Variablen werden als sensibel markiert. Die Markierung der Variablen wird von Integration Services gesteuert.
In der msdb-Datenbank gespeicherte Pakete können auch mit festen Rollen auf Datenbankebene geschützt werden. Integration Services stellt drei feste Datenbankrollen zum Zuweisen von Berechtigungen für Pakete bereit: db_dtsadmin, db_dtsltduser und db_dtsoperator. Weitere Informationen finden Sie unter Integration Services-Rollen und Rollen auf Datenbankebene.
Siehe auch
Aufgaben
Importieren und Exportieren von Paketen
Vorgehensweise: Importieren eines Pakets mithilfe des SQL Server Integration Services-Dienstes
Vorgehensweise: Exportieren eines Pakets mithilfe des SQL Server Integration Services-Dienstes
Konzepte
SQL Server Integration Services-Pakete
Sicherheitsüberlegungen zu Integration Services