Rôles Integration Services (Service SSIS)
SQL Server Integration Services inclut les trois rôles fixes au niveau de la base de données, db_ssisadmin
, db_ssisltduser et db_ssisoperator, pour contrôler l’accès aux packages. Les rôles peuvent être implémentés uniquement sur les packages enregistrés dans la msdb
base de données dans SQL Server. Vous affectez des rôles à un package à l'aide de SQL Server Management Studio. Les attributions de rôles sont enregistrées dans la msdb
base de données.
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. **Important** Les membres du rôle db_ssisadmin et du rôle dc_admin peuvent é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 contient les packages enregistrés dans msdb
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 au niveau de la db_ssisadmin
base de données et db_ssisoperator et l’identificateur de sécurité unique de l’utilisateur qui a créé le package s’appliquent au rôle lecteur pour les packages, et les autorisations du db_ssisadmin
rôle et l’identificateur de sécurité unique de l’utilisateur qui a créé le package s’appliquent au rôle d’enregistreur. Un utilisateur doit être membre du db_ssisadmin
rôle , db_ssisltduser ou db_ssisoperator pour avoir un accès en lecture au package. Un utilisateur doit être membre du db_ssisadmin
rôle pour avoir 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 les utilisateurs sont membres du rôle défini par l’utilisateur AuditUsers affecté à un package, ils doivent également être membres de db_ssisadmin
, db_ssisltduser ou db_ssisoperator rôle pour avoir 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 souhaitez utiliser des rôles définis par l’utilisateur, vous devez les ajouter à la msdb
base de données 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é avant de pouvoir vous connecter au moteur de base de données et accéder à la msdb
base de données.
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.