Sicherheitsübersicht (Integration Services)
Sicherheit in SQL Server Integration Services besteht aus mehreren Ebenen, die eine umfangreiche und flexible Sicherheitsumgebung bereitstellen. Diese Sicherheitsebenen umfassen die Verwendung digitaler Signaturen, Paketeigenschaften, SQL Server-Datenbankrollen und Betriebssystemberechtigungen. Die meisten dieser Sicherheitsfunktionen können den Kategorien Identität und Zugriffssteuerung zugeordnet werden.
Identitätsfunktionen
Sie können das folgende Ziel erreichen, indem Sie Identitätsfunktionen in den Paketen implementieren:
** Stellen Sie sicher, dass Sie nur Pakete von vertrauenswürdigen Quellen öffnen und ausführen**.
Um sicherzustellen, dass Sie nur Pakete von vertrauenswürdigen Quellen öffnen und ausführen, müssen Sie zunächst die Quelle der Pakete identifizieren. Sie können die Quelle identifizieren, indem Sie Pakete mit Zertifikaten signieren. Beim Öffnen oder Ausführen der Pakete können Sie dann mit Integration Services prüfen, ob die digitalen Signaturen vorhanden und gültig sind. Weitere Informationen finden Sie unter Verwenden von digitalen Signaturen mit Paketen.
Zugriffssteuerungsfunktionen
Sie können das folgende Ziel erreichen, indem Sie Identitätsfunktionen in den Paketen implementieren:
** Stellen Sie sicher, dass Pakete nur von autorisierten Benutzern geöffnet und ausgeführt werden**.
Um sicherzustellen, dass Pakete nur von autorisierten Benutzern geöffnet und ausgeführt werden, müssen Sie den Zugriff auf die folgenden Informationen steuern:
Inhalte von Paketen, insbesondere vertrauliche Daten
Pakete und Paketkonfigurationen, die in SQL Server gespeichert werden
Pakete und zugehörige Dateien, wie Konfigurationen, Protokolle und Prüfpunktdateien, die im Dateisystem gespeichert werden
Integration Services-Dienst und Informationen über Pakete, die der Dienst in SQL Server Management Studio anzeigt
Steuern des Zugriffs auf den Inhalt von Paketen
Zum Einschränken des Zugriffs auf den Inhalt eines Pakets können Sie Pakete verschlüsseln, indem Sie die ProtectionLevel-Eigenschaft des jeweiligen Pakets entsprechend festlegen. Sie können diese Eigenschaft auf die für das Paket benötigte Schutzebene festlegen. In einer Teamentwicklungsumgebung kann ein Paket beispielsweise mithilfe eines Kennworts verschlüsselt werden, das nur den Teammitgliedern bekannt ist, die an dem Paket arbeiten.
Wenn Sie die ProtectionLevel-Eigenschaft eines Pakets festlegen, erkennt Integration Services automatisch vertrauliche Eigenschaften und verarbeitet diese entsprechend der angegebenen Paketschutzebene. Ein Beispiel: Sie legen die ProtectionLevel-Eigenschaft eines Pakets auf eine Ebene fest, bei der vertrauliche Informationen mithilfe eines Kennworts verschlüsselt werden. Für dieses Paket verschlüsselt Integration Services automatisch die Werte aller vertraulichen Eigenschaften und zeigt entsprechende Daten nur an, wenn das korrekte Kennwort eingegeben wird.
In der Regel identifiziert Integration Services Eigenschaften als vertraulich, wenn diese Eigenschaften Informationen wie ein Kennwort oder eine Verbindungszeichenfolge enthalten oder wenn diese Eigenschaften Variablen oder vom Task generierten XML-Knoten entsprechen. Ob Integration Services eine Eigenschaft als vertraulich einstuft oder nicht, hängt davon ab, ob der Entwickler der Integration Services-Komponente, etwa ein Verbindungs-Manager oder Task, die Eigenschaft als vertraulich gekennzeichnet hat. Benutzer können Eigenschaften weder der Liste der als vertraulich eingestuften Eigenschaften hinzufügen noch können sie sie aus dieser Liste entfernen. Wenn Sie benutzerdefinierte Tasks, Verbindungs-Manager oder Datenflusskomponenten erstellen, können Sie angeben, welche Eigenschaften Integration Services als vertraulich behandeln soll.
Weitere Informationen finden Sie unter Festlegen der Paketschutzebene.
Steuern des Zugriffs auf Pakete
Sie können Integration Services-Pakete in einer Instanz von SQL Server in der msdb-Datenbank oder als XML-Dateien mit der Dateinamenerweiterung .dtsx im Dateisystem speichern. Weitere Informationen finden Sie unter Speichern von Paketen.
Speichern von Paketen in der msdb-Datenbank
Das Speichern der Pakete in der msdb-Datenbank trägt zur Sicherheit auf der Server-, Datenbank- und Tabellenebene bei. In der msdb-Datenbank werden Integration Services-Pakete in der sysssispackages-Tabelle gespeichert, während SQL Server 2000-DTS-Pakete in der sysdtspackages-Tabelle gespeichert werden. Da die Pakete in der sysssispackages- und der sysdtspackages-Tabelle der msdb-Datenbank gespeichert werden, werden die Pakete beim Sichern der msdb-Datenbank ebenfalls automatisch gesichert.
SQL Server-Pakete, die in der msdb-Datenbank gespeichert werden, können auch durch Anwenden der Integration Services-Rollen auf Datenbankebene geschützt werden. Integration Services umfasst die drei festen Rollen auf Datenbankebene, db_ssisadmin, db_ssisltduser und db_ssisoperator, die zur Steuerung des Zugriffs auf Pakete dienen. 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 oder SQL Server 2000-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 Verwenden von Integration Services-Rollen.
Wichtig |
---|
Wichtige Informationen zur Sicherung von DTS-Paketen finden Sie unter Sichern von in SQL Server gespeicherten DTS-Paketen. |
Speichern von Paketen im Dateisystem
Wenn Sie Pakete statt in der msdb-Datenbank im Dateisystem speichern, müssen Sie die Paketdateien und Ordner, die Paketdateien enthalten, sichern.
Steuern des Zugriffs auf Dateien, die von Paketen verwendet werden
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 SQL Server-Datenbanktabellen gespeichert werden. In SQL Server gespeicherte Konfigurationen und Protokolle sind durch die SQL Server-Sicherheit geschützt. Für die im Dateisystem geschriebenen Informationen sind jedoch zusätzliche Sicherheitsmaßnahmen erforderlich.
Weitere Informationen finden Sie unter Steuern des Zugriffs auf Dateien, die von Paketen verwendet werden.
Sicheres Speichern von Paketkonfigurationen
Die Paketkonfigurationen können in einer Tabelle in einer SQL Server-Datenbank oder im Dateisystem gespeichert werden.
Konfigurationen können in jeder SQL Server-Datenbank, nicht nur der msdb-Datenbank, gespeichert werden. So sind Sie in der Lage anzugeben, welche Datenbank 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 ermöglicht 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 Konfigurationen statt in SQL Server im Dateisystem speichern, müssen Sie die Ordner, die die Paketkonfigurationsdateien enthalten, sichern.
Weitere Informationen zu Konfigurationen finden Sie unter SSIS-Paketkonfigurationen.
Steuern des Zugriffs auf den Integration Services-Dienst
In SQL Server Management Studio wird der SQL Server-Dienst zum Auflisten der gespeicherten Pakete verwendet. Damit nicht autorisierte Benutzer keine Informationen über Pakete anzeigen können, die auf lokalen und Remotecomputern gespeichert sind, und auf diese Weise Zugriff auf private Daten erhalten, müssen Sie den Zugriff auf Computer, auf denen der SQL Server-Dienst ausgeführt wird, einschränken.
Weitere Informationen finden Sie unter Steuern des Zugriffs auf den Integration Services-Dienst.
|