Passwörter sind sensible Daten. Diese sollten immer und überall geschützt werden. Wenn automatische Prozesse laufen und Passwörter gespeichert werden müssen, sollten diese auf beste Art und Weise vor unbefugtem Zugriff geschützt werden.
Beim Import von Daten aus Vorsystemen werden oft ein spezieller User und dessen Passwort benötigt. Damit so ein Prozess automatisiert im Hintergrund laufen kann, muss das Kennwort direkt im SSIS-Paket mithilfe des Verbindungsmanagers abgespeichert werden.
Im SSIS-Paket kann in den Eigenschaften der Protection Level festgelegt werden. Hierbei gibt es sechs unterschiedliche Ausprägungen:
- DontSaveSensitive
Bei der Einstellung DontSaveSensitive werden sensible Daten (z. B. Passwort im Verbindungsmanager) nicht gespeichert.
- EncryptSensitiveWithUserKey
Innerhalb des Paketes werden sensible Daten mit einem Algorithmus, basierend auf dem aktuellen Benutzerprofil, verschlüsselt und beim Öffnen wieder entschlüsselt. Öffnet ein anderer User die Datei, sind keine Passwörter zu sehen UND das Paket kann nicht ausgeführt werden.
- EncryptSensitiveWithPassword
Innerhalb des Paketes werden sensible Daten mit einem Passwort verschlüsselt. Das Paket kann von jedem geöffnet werden, die Passwörter sind allerdings nicht zu sehen. Um das Paket auszuführen, wird das Passwort benötigt.
- EncryptAllWithPassword
Das komplette Paket wird verschlüsselt. Ohne das Passwort kann es weder geöffnet noch zum Laufen gebracht werden.
- EncryptAllWithUserKey
Auch hier ist das komplette Paket verschlüsselt, aber wie bei „EncryptSensitiveWithUserKey“ bildet auch hier ein Schlüssel, basierend auf dem aktuellen Userprofil, die Grundlage und erlaubt nur dem User, der das Paket erstellt oder exportiert hat, den Zugriff und die Ausführung.
- Server Storage
Die Sicherheit wird über Rollen definiert. Dieses Konstrukt ist nur bei einer Sicherung des Projekts in einer Datenbank möglich.
Diese Einstellungen können an drei unterschiedlichen Stellen gesetzt werden:
- In den Einstellungen des Paketes:
Durch Klicken der rechten Maustaste in den freien Bereich des Control Flows im SSIS-Paket erscheint im Kontextmenü der Bereich Properties (Einstellungen).
- In den Einstellungen des Projektes (2012):
Durch Klicken der rechten Maustaste auf den Projektnamen erscheint ein Kontextmenü. Auch hier befindet sich eine Zeile mit „Einstellungen“, welche ein neues Fenster öffnet.
Hierbei gilt es zu beachten, dass sich bei mehr als einem Paket innerhalb eines Projektes alle auf demselben Protection Level befinden müssen wie das Projekt, da ansonsten das Projekt nicht ausgeführt werden kann.
- Über die Kommandozeile:
dtutil.exe /file “C:\testPackage.dtsx” /encrypt file; “C:\testPackage.dtsx”; 2; YourPassword
Weitere Informationen hierzu unter: http://technet.microsoft.com/en-us/library/ms141747.aspx