Sicherheitsüberlegungen zu Integration Services

Die Sicherheit in SQL Server 2005 Integration Services (SSIS) besteht aus mehreren Ebenen, die eine umfassende und flexible Sicherheitsumgebung bieten. Die Sicherheit in Integration Services besteht aus einer Kombination aus der Verwendung von Eigenschaften auf Paketebene, SQL Server-Datenbankrollen, Betriebssystemberechtigungen und digitalen Signaturen.

SQL Server 2005 Integration Services (SSIS) implementiert Sicherheit mithilfe der folgenden Sicherheitsfeatures auf dem Client und auf dem Server:

  • Festlegen der ProtectionLevel-Eigenschaft des Pakets, um anzugeben, ob vertrauliche Daten durch Verschlüsselung geschützt oder ob die Daten vor dem Speichern des Pakets entfernt werden sollen.
  • Festlegen der ProtectionLevel- und PackagePassword-Paketeigenschaften, um Pakete durch Verschlüsselung des gesamten Pakets oder eines Paketteils anhand von Kennwörtern oder Benutzerschlüsseln zu schützen.
  • Steuern des Zugriffs auf Pakete anhand von SQL Server-Rollen auf Datenbankebene.
  • Sichern der Betriebsumgebung durch Schützen von Dateispeicherorten und Beschränken des Zugriffs auf Pakete in SQL Server Management Studio.
  • Sicherstellen der Paketintegrität durch Signieren der Pakete mit Zertifikaten.

Vertrauliche Daten

Integration Services unterstützt den Schutz von vertraulichen Daten in Paketen. In der Regel enthalten Eigenschaften, die als vertraulich bezeichnet werden, Informationen, z. B. ein Kennwort oder eine Verbindungszeichenfolge. In Integration Services wird das vertrauliche Attribut dieser Eigenschaften festgelegt und kann nicht geändert werden. Beim Schreiben von benutzerdefinierten Aufgaben, Verbindungs-Managern oder Datenflusskomponenten können Sie angeben, welche Eigenschaften von Integration Services als vertraulich behandelt werden sollen.

Integration Services entdeckt vertrauliche Eigenschaften automatisch und verarbeitet diese Eigenschaften entsprechend der angegebenen Paketschutzebene. Bei einem Paket, das eine Schutzebene verwendet, die vertrauliche Informationen mit einem Kennwort verschlüsselt, werden beispielsweise die Werte aller Eigenschaften verschlüsselt, die als vertraulich gekennzeichnet wurden.

Ebenen des Paketschutzes

Sie können Pakete durch Festlegen der Schutzebene verschlüsseln, um ihre Eigenschaftswerte geheim zu halten. Pakete enthalten die ProtectionLevel -Eigenschaft, die Sie entsprechend der für das Paket benötigten Schutzebene festlegen können. In einer Teamentwicklungsumgebung kann ein Paket z. B. mithilfe eines Kennwortes verschlüsselt werden, das den Teammitgliedern bekannt ist, die an dem Paket arbeiten. Weitere Informationen finden Sie unter Festlegen der Paketschutzebene.

Weitere Informationen finden Sie unter SQL Server Integration Services-Pakete und Festlegen von Paketeigenschaften.

Rollen auf Datenbankebene

Integration Services bietet die drei festen Rollen auf Datenbankebene db_dtsadmin, db_dtsltduser und db_dtsoperator zum Steuern des Paketzugriffs. Den einzelnen Paketen kann eine Lese- und eine Schreibrolle zugewiesen werden. Sie können auch benutzerdefinierte Rollen auf Datenbankebene definieren, die in Integration Services-Paketen verwendet werden. Rollen können nur für Pakete implementiert werden, die in der msdb-Datenbank in einer Instanz von SQL Server gespeichert werden.

Weitere Informationen finden Sie unter Integration Services-Rollen.

Paketspeicher

Integration Services-Pakete können im Dateisystem als XML-Dateien mit der DTSX-Dateinamenerweiterung und in der msdb-Datenbank in einer Instanz von SQL Server 2005 gespeichert werden.

Wenn Sie das Paket in msdb speichern, erhalten Sie Sicherheit auf der Server-, Datenbank- und Tabellenebene. SQL Server 2005-Pakete werden in der sysdtspackages90-Tabelle gespeichert und SQL Server 2000-Pakete in der sysdtspackages-Tabelle. Außerdem werden Pakete, die in sysdtspackages90 und sysdtspackages gespeichert werden, automatisch beim Sichern von msdb gesichert. In der sysdtspackages90-Tabelle gespeicherte SQL Server 2005-Pakete sind ebenfalls mit Rollen auf Datenbankebene geschützt.

Wenn Sie keine Pakete in msdb speichern, müssen Sie die Ordner, die die Paketdateien enthalten, in dem Dateisystem sichern.

Weitere Informationen finden Sie unter Speichern von Paketen.

Paketkonfigurationsspeicher

Die Paketkonfigurationen können im Dateisystem oder in einer Tabelle in einer SQL Server 2005-Datenbank gespeichert werden. Konfigurationen können in einer beliebigen SQL Server 2005-Datenbank gespeichert werden, nicht nur in der msdb-Datenbank, und Sie können daher die Datenbank angeben, die als Repository von Paketkonfigurationen dient. Sie können auch den Namen der Tabelle angeben, die die Konfigurationen enthält. Die Tabelle mit der richtigen Struktur wird von Integration Services automatisch erstellt.

Das Speichern der Konfigurationen in eine Tabelle bietet Sicherheit auf der Server-, Datenbank- und Tabellenebene. Außerdem werden Konfigurationen, die in SQL Server gespeichert sind, automatisch beim Sichern der Datenbank gesichert.

Wenn Sie keine Konfigurationen in SQL Server speichern, müssen Sie die Ordner, die die Paketkonfigurationsdateien enthalten, in dem Dateisystem sichern.

Weitere Informationen finden Sie unter Paketkonfigurationen.

Integration Services-Ordner

In SQL Server Management Studio wird der SQL Server-Dienst zum Auflisten der derzeit ausgeführten Pakete verwendet. Es ist wichtig, den Zugriff auf Computer zu beschränken, die einen SQL Server-Dienst ausführen, damit unbefugte Benutzer weder lokal noch remote gespeicherte Pakete auflisten und private Informationen ausfindig machen können. Weitere Informationen finden Sie unter Schützen des Zugriffs auf ausgeführte Pakete.

Von Paketen verwendete Dateien

Pakete, die für die Verwendung von Konfigurationen, Prüfpunkten und der Protokollierung konfiguriert wurden, generieren Informationen, die außerhalb des Pakets gespeichert werden. Diese Informationen können vertraulich sein und sollten geschützt werden. Prüfpunktdateien können nur auf dem Dateisystem gespeichert werden, Konfigurationen und Protokolle können im Dateisystem oder in den SQL Server-Datenbanktabellen gespeichert werden. In SQL Server gespeicherte Konfigurationen und Protokolle sind durch die SQL Server-Sicherheit geschützt, für die in Dateien geschriebenen Informationen sind jedoch zusätzliche Sicherheitsmaßnahmen erforderlich. Weitere Informationen finden Sie unter Schützen von Dateien, die von Paketen verwendet werden.

Digitale Signaturen

Sie können ein Paket mit einem Zertifikat signieren. Sie können das Paket konfigurieren, um die Signatur zu prüfen, wenn das Paket geladen wird, und um eine Warnung auszugeben, wenn das Paket geändert wurde. Pakete enthalten die CheckSignatureOnLoad-Eigenschaft, die Sie auf True setzen, damit die digitale Signatur auf dem Paket jedes Mal geprüft wird, wenn das Paket geladen wird. Weitere Informationen finden Sie unter Signieren von Paketen mit Zertifikaten.

Siehe auch

Aufgaben

Konfigurieren einer Windows-Firewall für Integration Services-Zugriff

Konzepte

SQL Server Integration Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005