Integration Services-Rollen (SSIS-Dienst)

Gilt für:SQL Server SSIS Integration Runtime in Azure Data Factory

SQL Server Integration Services stellt bestimmte feste Rollen auf Datenbankebene für den sicheren Zugriff auf Pakete bereit, die in SQL Server gespeichert sind. Die verfügbaren Rollen unterscheiden sich abhängig davon, ob Sie Pakete in der SSIS-Katalogdatenbank (SSISDB) oder in der msdb-Datenbank speichern.

Rollen in der SSIS-Katalogdatenbank (SSISDB)

Die SSIS-Katalogdatenbank (SSISDB) bietet die folgenden festen Rollen auf Datenbankebene für den sicheren Zugriff auf Pakete und Informationen zu Paketen.

  • ssis_admin. Diese Rolle bietet vollen administrativen Zugriff auf die SSIS-Katalogdatenbank.

  • ssis_logreader : Diese Rolle bietet Berechtigungen für den Zugriff auf alle Ansichten, die mit operativen SSISDB-Protokollen verbunden sind.

    Die Liste der Ansichten enthält: [catalog].[projects], [catalog].[packages], [catalog].[operations], [catalog].[extended_operation_info], [catalog].[operation_messages], [catalog].[event_messages], [catalog].[execution_data_statistics], [catalog].[execution_component_phases], [catalog].[execution_data_taps], [catalog].[event_message_context], [catalog].[executions], [catalog].[executables], [catalog].[executable_statistics], [catalog].[validations], [catalog].[execution_parameter_values] und [catalog].[execution_property_override_values].

Standardmäßig werden Berechtigungen für Sichten und gespeicherte Prozeduren gewährt, die der festen SQL Server-Rolle öffentlich zugewiesen sind. Die Berechtigungen gewähren Benutzern keinen Zugriff zum Ausführen oder Bearbeiten von Paketen, sondern nur Berechtigungen für die Interaktion mit dem internen Mechanismus der SSISDB, die wiederum die tatsächlichen Berechtigungen bestimmen.

Rollen in der msdb-Datenbank

SQL Server Integration Services bietet auf Datenbankebene die drei festen Rollen db_ssisadmin, db_ssisltduser und db_ssisoperator zum Steuern des Paketzugriffs. Diese werden in der msdb-Datenbank gespeichert. Rollen weisen Sie mithilfe von SQL Server Management Studiozu. Die Rollenzuweisungen werden in der msdb -Datenbank gespeichert.

Lese- und Schreibaktionen

In der folgenden Tabelle werden die Lese- und Schreibaktionen von Windows und der festen Rollen auf Datenbankebene in Integration Servicesbeschrieben.

Role 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.



**** Warnung ****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, Datensammlungssä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.

Sysssispackages-Tabelle

Die sysssispackages -Tabelle in msdb enthält die in SQL Servergespeicherten 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.

Berechtigungen

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_ssisltduseroder 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.

Zugriff auf Pakete

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 Studioerstellen.

Die Integration Services -Rollen auf Datenbankebene gewähren den Integration Services -Systemtabellen in der msdb-Datenbank Rechte.

SQL Server (der MSSQLSERVER-Dienst) muss gestartet werden, bevor Sie eine Verbindung zur Datenbank-Engine herstellen und auf die msdb -Datenbank zugreifen können.

Um Rollen Paketen zuzuweisen, müssen Sie die folgenden Tasks ausführen.

  • Öffnen Sie den Objekt-Explorer und stellen Sie eine Verbindung mit Integration Services her.

    Bevor Sie Paketen Rollen mithilfe von SQL Server Management Studiozuweisen können, müssen Sie den Objekt-Explorer in SQL Server Management Studio öffnen und eine Verbindung mit Integration Servicesherstellen.

    Der Integration Services -Dienst muss gestartet werden, bevor Sie eine Verbindung mit Integration Servicesherstellen können.

  • Paketen Lese- und Schreibrollen zuweisen

    Sie können jedem Paket eine Lese- und eine Schreibrolle zuweisen.

Zuweisen einer Lese- und Schreibrolle zu einem Paket

Sie können jedem Paket eine Lese- und eine Schreibrolle zuweisen.

Zuweisen einer Lese- und Schreibrolle zu einem Paket

  1. Suchen Sie im Objekt-Explorer die Integration Services -Verbindung.

  2. Erweitern Sie den Ordner "Gespeicherte Pakete", und erweitern Sie dann den Unterordner, der das Paket enthält, dem Sie Rollen zuweisen möchten.

  3. Klicken Sie mit der rechten Maustaste auf das Paket, dem Sie Rollen zuweisen möchten.

  4. Wählen Sie im Dialogfeld Paketrollen eine Leserolle aus der Liste Leserolle und eine Schreibrolle aus der Liste Schreibrolle aus.

  5. Klicken Sie auf OK.

Erstellen einer benutzerdefinierten Rolle

So erstellen Sie eine benutzerdefinierte Rolle

  1. Öffnen Sie SQL Server Management Studio.

  2. Klicken Sie im Menü Ansicht auf Objekt-Explorer .

  3. Klicken Sie auf der Symbolleiste des Objekt-Explorers auf Verbinden, und klicken Sie dann auf Datenbank-Engine.

  4. Geben Sie im Dialogfeld Verbindung mit Server herstellen einen Servernamen ein, und wählen Sie einen Authentifizierungsmodus aus. Sie können einen Punkt (.), (local) oder localhost zum Angeben des lokalen Servers verwenden.

  5. Klicken Sie auf Verbinden.

  6. Erweitern Sie die Datenbanken, Systemdatenbanken, msdb, Sicherheit und Rollen.

  7. Klicken Sie im Knoten „Rollen“ mit der rechten Maustaste auf „Datenbankrollen“. Klicken Sie dann auf Neue Datenbankrolle.

  8. 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.

  9. Klicken Sie wahlweise auf Berechtigungen , und konfigurieren Sie die Objektberechtigungen.

  10. Klicken Sie wahlweise auf Erweiterte Eigenschaften , und konfigurieren Sie die erweiterten Eigenschaften.

  11. Klicken Sie auf OK.

Referenz zur Benutzeroberfläche des Dialogfelds Paketrollen

Verwenden Sie das Dialogfeld Paketrollen , das in SQL Server Management Studioverfügbar ist, um die Rollen auf Datenbankebene anzugeben, die Lesezugriff auf das Paket besitzen, sowie die Rollen auf Datenbankebene, die Schreibzugriff auf das Paket besitzen. Rollen auf Datenbankebene gelten nur für Pakete, die in der -Datenbank SQL Server msdb gespeichert sind.

Die im Dialogfeld aufgeführten Rollen sind die aktuellen Rollen der msdb -Systemdatenbank. Wenn keine Rollen ausgewählt sind, gelten die Integration Services -Standardrollen. Standardmäßig enthält die Leserolle db_ssisadmin, db_ssisoperatorund den Benutzer, der das Paket erstellt hat. Ein Benutzer, der Mitglied einer dieser Rollen ist oder die Pakete erstellt hat, kann Pakete aufzählen, anzeigen, exportieren und ausführen. Standardmäßig schließt die Schreibrolle db_ssisadmin und den Benutzer ein, der das Paket erstellt hat. Ein Benutzer, der Mitglied dieser Rolle ist, und der Benutzer, der die Pakete erstellt hat, kann Pakete importieren, löschen und ändern.

Die ownersid -Spalte in der sysssispackages -Tabelle enthält die eindeutige Sicherheits-ID des Benutzers, der das Paket erstellt hat.

Tastatur

Paketname
Gibt den Namen des Pakets an.

Leserolle
Auswählen einer Rolle in der Liste.

Schreibrolle
Auswählen einer Rolle in der Liste