Verwenden von Integration Services-Rollen
SQL ServerIntegration Services bietet die drei festen Rollen auf Datenbankebene db_ssisadmin, db_ssisltduser und db_ssisoperator zum Steuern des Paketzugriffs. Rollen können nur für Pakete implementiert werden, die in der msdb-Datenbank in SQL Server gespeichert werden. Rollen weisen Sie mithilfe von SQL Server Management Studio zu. Die Rollenzuweisungen werden in der msdb-Datenbank gespeichert.
In der folgenden Tabelle werden die Lese- und Schreibaktionen von Windows und der festen Rollen auf Datenbankebene in Integration Services beschrieben.
Rolle |
Leseaktion |
Schreibaktion |
---|---|---|
db_ssisadmin Oder sysadmin |
Eigene Pakete aufzählen. Alle Pakete aufzählen. Eigene Pakete anzeigen. Alle Pakete anzeigen. Eigene Pakete ausführen. Alle Pakete ausführen. Eigene Pakete exportieren. Alle Pakete exportieren. Alle Pakete in SQL Server-Agent ausführen. |
Pakete importieren. Eigene Pakete löschen. Alle Pakete löschen. Eigene Paketrollen ändern. Alle Paketrollen ändern.
Wichtig
Mitglieder der db_ssisadmin-Rolle und der dc_admin-Rolle können Ihre Berechtigungen möglicherweise auf sysadmin erhöhen. Diese Ausweitung von Berechtigungen ist möglich, da diese Rollen Integration Services-Pakete ändern können und Integration Services-Pakete von SQL Server mithilfe des sysadmin-Sicherheitskontexts des SQL Server-Agents ausgeführt werden können. Konfigurieren Sie als Schutz vor dieser Ausweitung von Berechtigungen beim Ausführen von Wartungsplänen, Datenauflistsätzen und anderen Integration Services-Paketen Aufträge des SQL Server-Agents, die Pakete ausführen, für die Verwendung eines Proxykontos mit einschränkten Berechtigungen, oder fügen Sie der db_ssisadmin-Rolle und der dc_admin-Rolle nur sysadmin-Mitglieder hinzu.
|
db_ssisltduser |
Eigene Pakete aufzählen. Alle Pakete aufzählen. Eigene Pakete anzeigen. Eigene Pakete ausführen. Eigene Pakete exportieren. |
Pakete importieren. Eigene Pakete löschen. Eigene Paketrollen ändern. |
db_ssisoperator |
Alle Pakete aufzählen. Alle Pakete anzeigen. Alle Pakete ausführen. Alle Pakete exportieren. Alle Pakete in SQL Server-Agent ausführen. |
Keine |
Windows-Administratoren |
Ausführungsdetails zu allen ausgeführten Paketen anzeigen |
Alle derzeit ausgeführten Pakete anhalten. |
Die sysssispackages-Tabelle in msdb enthält die in SQL Server gespeicherten Pakete. Weitere Informationen finden Sie unter sysssispackages (Transact-SQL).
Die sysssispackages-Tabelle enthält Spalten, die Informationen über die Rollen enthalten, die Paketen zugewiesen sind.
In der Spalte readerrole wird die Rolle angegeben, die über Lesezugriff auf das Paket verfügt.
In der Spalte writerrole wird die Rolle angegeben, die über Schreibzugriff auf das Paket verfügt.
Die ownersid-Spalte enthält den eindeutigen Sicherheitsbezeichner des Benutzers, der das Paket erstellte. In dieser Spalte wird der Besitzer des Pakets definiert.
Standardmäßig gelten die Berechtigungen der festen Rollen auf Datenbankebene db_ssisadmin und db_ssisoperator und die eindeutige Sicherheits-ID des Benutzers, der das Paket erstellt hat, für die Leserolle für Pakete, und die Berechtigungen der db_ssisadmin-Rolle und die eindeutige Sicherheits-ID des Benutzers, der das Paket erstellt hat, gelten für die Schreibrolle. Ein Benutzer muss Mitglied der Rolle db_ssisadmin, db_ssisltduser oder db_ssisoperator sein, um über Lesezugriff auf das Paket zu verfügen. Ein Benutzer muss Mitglied der db_ssisadmin-Rolle sein, um über Schreibzugriff zu verfügen.
Die festen Rollen auf Datenbankebene arbeiten mit benutzerdefinierten Rollen zusammen. Die benutzerdefinierten Rollen sind die Rollen, die Sie in SQL Server Management Studio erstellen und dann zum Zuweisen von Berechtigungen zu Paketen verwenden. Um auf ein Paket zuzugreifen, muss ein Benutzer Mitglied der benutzerdefinierten Rolle und der entsprechenden festen Integration Services-Datenbankrolle sein. Wenn die Benutzer z. B. Mitglieder der benutzerdefinierten AuditUsers-Rolle sind, die einem Paket zugewiesen ist, müssen sie auch Mitglieder der db_ssisadmin-, db_ssisltduser- oder db_ssisoperator-Rolle sein, um Lesezugriff auf das Paket zu erhalten.
Wenn Sie Paketen keine benutzerdefinierten Rollen zuweisen, wird der Paketzugriff durch die festen Rollen auf Datenbankebene bestimmt.
Wenn Sie benutzerdefinierte Rollen verwenden möchten, müssen Sie diese der msdb-Datenbank hinzufügen, bevor Sie sie Paketen zuweisen. Neue Datenbankrollen können Sie in SQL Server Management Studio erstellen.
Durch die Integration Services-Rollen auf Datenbankebene werden Rechte für die Integration Services-Systemtabellen in der msdb-Datenbank gewährt, jedoch nicht für die DTS-Systemtabellen (z. B. sysdtspackages in der msdb-Datenbank. Sie müssen Benutzern Rechte für die DTS-Systemtabellen gewähren, damit diese bestimmte Verwaltungsaufgaben ausführen können, beispielsweise das Importieren eines DTS-Pakets in Management Studio. Weitere Informationen zur DTS-Unterstützung finden Sie unter "Unterstützung der Data Transformation Services (Datentransformationsdienste, DTS) in SQL Server 2008".
Schritt 1: Objekt-Explorer öffnen und mit Integration Services eine Verbindung herstellen
Bevor Sie Paketen Rollen mithilfe von SQL Server Management Studio zuweisen können, müssen Sie den Objekt-Explorer in SQL Server Management Studio öffnen und eine Verbindung mit Integration Services herstellen.
Der Integration Services-Dienst muss gestartet werden, bevor Sie eine Verbindung mit Integration Services herstellen können.
So öffnen Sie den Objekt-Explorer und stellen eine Verbindung mit Integration Services her
Öffnen Sie SQL Server Management Studio.
Klicken Sie im Menü Ansicht auf Objekt-Explorer.
Klicken Sie auf der Symbolleiste Objekt-Explorer auf Verbinden, und klicken Sie dann auf Integration Services.
Geben Sie im Dialogfeld Verbindung mit Server herstellen einen Servernamen ein. Sie können einen Punkt (.), (lokal) oder localhost zum Angeben des lokalen Servers verwenden.
Klicken Sie auf Verbinden.
Schritt 2: Paketen Lese- und Schreibrollen zuweisen
Sie können jedem Paket eine Lese- und eine Schreibrolle zuweisen.
Zuweisen einer Lese- und Schreibrolle zu einem Paket
Suchen Sie im Objekt-Explorer die Integration Services-Verbindung.
Erweitern Sie den Ordner "Gespeicherte Pakete", und erweitern Sie dann den Unterordner, der das Paket enthält, dem Sie Rollen zuweisen möchten.
Klicken Sie mit der rechten Maustaste auf das Paket, dem Sie Rollen zuweisen möchten.
Wählen Sie im Dialogfeld Paketrollen eine Leserolle aus der Liste Leserolle und eine Schreibrolle aus der Liste Schreibrolle aus.
Klicken Sie auf OK.
Erstellen einer benutzerdefinierten Rolle
SQL Server (der MSSQLSERVER-Dienst) muss gestartet werden, bevor Sie eine Verbindung zum Datenbankmodul herstellen und auf die msdb-Datenbank zugreifen können.
So erstellen Sie eine benutzerdefinierte Rolle
Öffnen Sie SQL Server Management Studio.
Klicken Sie im Menü Ansicht auf Objekt-Explorer.
Klicken Sie auf der Symbolleiste des Objekt-Explorers auf Verbinden, und klicken Sie dann auf Datenbankmodul.
Geben Sie im Dialogfeld Verbindung mit Server herstellen einen Servernamen ein, und wählen Sie einen Authentifizierungsmodus aus. Sie können einen Punkt (.), (lokal) oder localhost zum Angeben des lokalen Servers verwenden.
Klicken Sie auf Verbinden.
Erweitern Sie die Datenbanken, Systemdatenbanken, msdb, Sicherheit und Rollen.
Klicken Sie im Knoten "Rollen" mit der rechten Maustaste auf "Datenbankrollen". Klicken Sie dann auf Neue Datenbankrolle.
Geben Sie auf der Seite "Allgemein" einen Namen ein, und legen Sie wahlweise einen Besitzer sowie Schemas im Besitz fest, und fügen Sie Rollenmitglieder hinzu.
Klicken Sie wahlweise auf Berechtigungen, und konfigurieren Sie die Objektberechtigungen.
Sie können auch auf Erweiterte Eigenschaften klicken und erweiterte Eigenschaften konfigurieren.
Klicken Sie auf OK.
|