Rôles Integration Services (Service SSIS)
SQL Server Integration Services inclut trois rôles fixes au niveau de la base de données : db_ssisadmin, db_ssisltduser et db_ssisoperator pour le contrôle de l'accès aux packages. Les rôles ne peuvent être implémentés que sur les packages enregistrés dans la base de données msdb dans SQL Server. 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 au niveau de la base de données dans Integration Services.
Rôle |
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. Important Les membres du rôle db_ssisadmin et du rôle dc_admin peuvent être en mesure d'élever leurs privilèges à sysadmin. Cette élévation de privilège peut se produire car ces rôles peuvent modifier les packages Integration Services ; 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 protéger 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 les travaux de l'Agent SQL Server qui exécutent des packages de façon à utiliser 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 de base de données fixes 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_ssisltduser ou 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 affecter des autorisations aux packages. Pour accéder à un package, un utilisateur doit être un membre du rôle défini par l'utilisateur et du rôle fixe pertinent au niveau de la base de données de Integration Services. Par exemple, si des utilisateurs sont des membres du rôle défini par l'utilisateur AuditUsers affecté à un package, ils doivent également être membre du rôle db_ssisadmin, db_ssisltduser ou 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 au niveau de la base de données d'Integration Services accordent des droits sur les tables système Integration Services dans 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.
Tâches associées
Contenu connexe
|