Rôles Integration Services (Service SSIS)
S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory
SQL Server Integration Services fournit certains rôles fixes de niveau base de données pour aider à sécuriser l’accès aux packages stockés dans SQL Server. Les rôles disponibles diffèrent selon que vous enregistrez les packages dans la base de données du catalogue SSIS (SSISDB) ou dans la base de données msdb.
Rôles dans la base de données du catalogue SSIS (SSISDB)
La base de données du catalogue SSIS (SSISDB) fournit les rôles fixes au niveau de la base de données décrits ci-après. Ces rôles contribuent à sécuriser l’accès aux packages et aux informations sur ces derniers.
ssis_admin: ce rôle fournit un accès administratif complet à la base de données du catalogue SSIS.
ssis_logreader : ce rôle fournit les autorisations d’accès à toutes les vues associées aux journaux des opérations SSISDB.
La liste de vues est la suivante : [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] et [catalog].[execution_property_override_values].
Par conception, des autorisations sont accordées sur les vues et les procédures stockées qui sont attribuées au rôle public fixe de SQL Server. Les autorisations ne donnent pas aux utilisateurs l’accès pour exécuter ou modifier des packages, mais uniquement des autorisations pour interagir avec le mécanisme interne de la base de données SSISDB, et qui, à leur tour, déterminent les autorisations réelles.
Rôles dans la base de données msdb
SQL Server Integration Services inclut trois rôles fixes de niveau base de données db_ssisadmin, db_ssisltduser et db_ssisoperator. Ces rôles permettent de contrôler l’accès aux packages enregistrés dans la base de données msdb. Vous affectez des rôles à un package à l'aide de SQL Server Management Studio. Les affectations de rôles sont enregistrées dans la base de données ms .
Actions de lecture et d'écriture
Le tableau suivant décrit les actions de lecture et d’écriture de Windows et des rôles fixes de niveau base de données dans Integration Services.
Role | Action de lecture | Action d'écriture |
---|---|---|
db_ssisadmin ou sysadmin |
Énumérer ses packages. Énumérer tous les packages. Afficher ses packages. Afficher tous les packages. Exécuter ses packages. Exécuter tous les packages. Exporter ses packages. Exporter tous les packages. Exécuter tous les packages dans l'Agent SQL Server . |
Importer des packages. Supprimer ses packages. Supprimer tous les packages. Modifier les rôles de ses packages. Modifier tous les rôles de package. **** Avertissement ****Il se peut que les membres du rôle db_ssisadmin et du rôle dc_admin puissent élever leurs privilèges à sysadmin. Cette élévation de privilège peut se produire, car ces rôles peuvent modifier les packages Integration Services et les packages Integration Services peuvent être exécutés par SQL Server à l’aide du contexte de sécurité sysadmin de l’Agent SQL Server . Pour vous prémunir contre cette élévation de privilège lors de l'exécution de plans de maintenance, de jeux d'éléments de collecte de données et d'autres packages Integration Services , configurez des travaux de l'Agent SQL Server qui exécutent des packages pour l'utilisation d'un compte proxy doté de privilèges limités ou ajoutez uniquement des membres sysadmin aux rôles db_ssisadmin et dc_admin. |
db_ssisltduser | Énumérer ses packages. Énumérer tous les packages. Afficher ses packages. Exécuter ses packages. Exporter ses packages. |
Importer des packages. Supprimer ses packages. Modifier les rôles de ses packages. |
db_ssisoperator | Énumérer tous les packages. Afficher tous les packages. Exécuter tous les packages. Exporter tous les packages. Exécuter tous les packages dans l'Agent SQL Server . |
Aucun |
Administrateurs Windows | Afficher les détails d'exécution de tous les packages en cours d'exécution. | Arrêter tous les packages en cours d'exécution. |
Table sysssispackages
La table sysssispackages dans la base de données msdb contient les packages enregistrés dans SQL Server. Pour plus d’informations, consultez sysssispackages (Transact-SQL).
La table sysssispackages inclut des colonnes contenant des informations sur les rôles affectés aux packages.
Le rôle readerrole spécifie le rôle qui bénéficie d'un accès en lecture au package.
La colonne writerrole spécifie le rôle qui bénéficie d'un accès en écriture au package.
La colonne ownersid contient l'identificateur de sécurité unique de l'utilisateur qui a créé le package. Cette colonne définit le propriétaire du package.
Autorisations
Par défaut, les autorisations des rôles fixes de niveau base de données db_ssisadmin et db_ssisoperator et l’identificateur de sécurité unique de l’utilisateur qui a créé le package s’appliquent au rôle de lecteur pour les packages, tandis que les autorisations du rôle db_ssisadmin et l’identificateur de sécurité unique de l’utilisateur qui a créé le package s’appliquent au rôle de rédacteur. Un utilisateur doit être membre du rôle db_ssisadmin, db_ssisltduserou db_ssisoperator pour bénéficier d’un accès en lecture au package. Un utilisateur doit être membre du rôle db_ssisadmin pour bénéficier d’un accès en écriture.
Accès aux packages
Les rôles fixes au niveau de la base de données fonctionnent conjointement avec les rôles définis par l'utilisateur. Les rôles définis par l’utilisateur sont les rôles que vous créez dans SQL Server Management Studio , puis que vous utilisez pour attribuer des autorisations aux packages. Pour accéder à un package, un utilisateur doit être membre du rôle défini par l’utilisateur et du rôle fixe pertinent de niveau base de données Integration Services . Par exemple, si des utilisateurs sont membres du rôle défini par l’utilisateur AuditUsers affecté à un package, ils doivent aussi être membres du rôle db_ssisadmin, db_ssisltduserou db_ssisoperator pour disposer d’un accès en lecture au package.
Si vous n'affectez pas des rôles définis par l'utilisateur aux packages, les rôles de base de données fixes déterminent l'accès aux packages.
Si vous voulez utiliser des rôles définis par l’utilisateur, vous devez les ajouter à la base de données msdb avant de pouvoir les affecter à des packages. Vous pouvez créer de nouveaux rôles de base de données dans SQL Server Management Studio.
Les rôles de niveau base de données Integration Services accordent des droits sur les tables système Integration Services de la base de données msdb.
SQL Server (le service MSSQLSERVER) doit être démarré pour que vous puissiez vous connecter au moteur de base de données et accéder à la base de données msdb .
Pour affecter des rôles dans les packages, vous devez effectuer les tâches suivantes.
Ouvrir l'Explorateur d'objets et se connecter à Integration Services
Avant de pouvoir affecter des rôles à des packages à l'aide de SQL Server Management Studio, vous devez ouvrir l'Explorateur d'objets dans SQL Server Management Studio et vous connecter à Integration Services.
Le service Integration Services doit être démarré pour que vous puissiez vous connecter à Integration Services.
Affecter des rôles de lecture et d'écriture aux packages
Vous pouvez affecter un rôle de lecture et d'écriture à chaque package.
Affecter un rôle de lecture et d'écriture à un package
Vous pouvez affecter un rôle de lecture et d'écriture à chaque package.
Affecter un rôle de lecture et d'écriture à un package
Dans l'Explorateur d'objets, localisez la connexion Integration Services .
Développez le dossier Packages stockés, puis le sous-dossier contenant le package auquel vous voulez affecter des rôles.
Cliquez avec le bouton droit sur le package auquel vous voulez affecter des rôles.
Dans la boîte de dialogue Rôles de package , sélectionnez un rôle de lecture dans la liste Rôle Lecteur et un rôle d'écriture dans la liste Rôle Rédacteur .
Cliquez sur OK.
Créer un rôle défini par l'utilisateur
Pour créer un rôle défini par l'utilisateur
Ouvrez SQL Server Management Studio.
Cliquez sur Explorateur d'objets dans le menu Affichage .
Dans la barre d'outils de l'Explorateur d'objets, cliquez sur Connecter, puis sur Moteur de base de données.
Dans la boîte de dialogue Se connecter au serveur , entrez un nom de serveur et sélectionnez un mode d'authentification. Vous pouvez utiliser un point (.), (local) ou localhost pour indiquer le serveur local.
Cliquez sur Connecter.
Développez Bases de données, Bases de données système, msdb, Sécurité et Rôles.
Dans le nœud Rôles, cliquez avec le bouton droit sur Rôles de base de données, puis cliquez sur Nouveau rôle de base de données.
Sur la page Général, entrez un nom, et, si vous le souhaitez, spécifiez un propriétaire et des schémas appartenant à un rôle et ajoutez des membres de rôle.
Vous pouvez également cliquer sur Autorisations pour configurer les autorisations pour les objets.
Vous pouvez également cliquer sur Propriétés étendues pour configurer les éventuelles propriétés étendues.
Cliquez sur OK.
Référence de l'interface utilisateur de la boîte de dialogue Rôles de package
Utilisez la boîte de dialogue Rôles de package , disponible dans SQL Server Management Studio, pour spécifier les rôles au niveau de la base de données qui possèdent un accès en lecture au package et les rôles au niveau de la base de données qui possèdent un accès en écriture au package. Les rôles au niveau de la base de données s’appliquent uniquement aux packages stockés dans la base de données SQL Server msdb.
Les rôles répertoriés dans la boîte de dialogue sont les rôles actuels de la base de données système msdb . Si aucun rôle n'est sélectionné, les rôles Integration Services par défaut s'appliquent. Par défaut, le rôle de lecteur inclut db_ssisadmin, db_ssisoperatoret l’utilisateur qui a créé le package. Un utilisateur membre de l'un de ces rôles ou qui a créé les packages peut énumérer, consulter, exporter et exécuter des packages. Par défaut, le rôle de rédacteur inclut db_ssisadmin et l’utilisateur qui a créé le package. Un utilisateur membre de ce rôle et l'utilisateur qui a créé les packages peuvent importer, supprimer et modifier des packages.
La colonne ownersid de la table sysssispackages contient l'identificateur de sécurité unique de l'utilisateur qui a créé le package.
Options
Nom du package
Spécifiez le nom du package.
Rôle Lecteur
Sélectionnez un rôle dans la liste.
Rôle Rédacteur
Sélectionnez un rôle dans la liste.