Utilisation des rôles Integration Services

SQL Server Integration Services comprend trois rôles de base de données fixes, db_ssisadmin, db_ssisltduser et db_ssisoperator, pour contrôler l'accès aux packages. Les rôles ne peuvent être implémentés que pour 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 attributions de rôles sont enregistrées dans la base de données msdb.

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.

ImportantImportant
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 et ces derniers 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.

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.

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

Les rôles fixes au niveau de la base de données fonctionnent conjointement aux 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 de Integration Services accordent des droits sur les tables système Integration Services dans la base de données msdb, mais pas sur les tables système DTS (par exemple, sysdtspackages dans la base de données msdb). Vous devez accorder des droits aux utilisateur sur les tables système DTS pour qu'ils puissent effectuer certaines tâches de gestion, telles que l'importation d'un package DTS dans Management Studio. Pour plus d'informations sur la prise en charge de DTS, consultez Prise en charge de DTS dans SQL Server 2008.

Étape 1 : 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.

Pour ouvrir l'Explorateur d'objets et se connecter à Integration Services

  1. Ouvrez SQL Server Management Studio.

  2. Cliquez sur Explorateur d'objets dans le menu Affichage.

  3. Sur la barre d'outils de l'Explorateur d'objets, cliquez sur Connecter, puis sur Integration Services.

  4. Dans la boîte de dialogue Se connecter au serveur, entrez un nom de serveur. Vous pouvez utiliser un point ( . ), (local) ou localhost dans le chemin d'accès pour indiquer le serveur local.

  5. Cliquez sur Se connecter.

Étape 2 : attribuer 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

  1. Dans l'Explorateur d'objets, localisez la connexion Integration Services.

  2. Développez le dossier Packages stockés, puis le sous-dossier contenant le package auquel vous voulez affecter des rôles.

  3. Cliquez avec le bouton droit sur le package auquel vous voulez affecter des rôles.

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

  5. Cliquez sur OK.

Créer un rôle défini par l'utilisateur

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 créer un rôle défini par l'utilisateur

  1. Ouvrez SQL Server Management Studio.

  2. Cliquez sur Explorateur d'objets dans le menu Affichage.

  3. Dans la barre d'outils de l'Explorateur d'objets, cliquez sur Connecter, puis sur Moteur de base de données.

  4. 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 dans le chemin d'accès pour indiquer le serveur local.

  5. Cliquez sur Se connecter.

  6. Développez Bases de données, Bases de données système, msdb, Sécurité et Rôles.

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

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

  9. Vous pouvez également cliquer sur Autorisations pour configurer les autorisations pour les objets.

  10. Vous pouvez également cliquer sur Propriétés étendues pour configurer les éventuelles propriétés étendues.

  11. Cliquez sur OK.

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.