> Tech > Rôles

Rôles

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

SSIS ajoute trois nouveaux rôles qui affectent le mode d’exécution des lots dans l’Agent SQL Server et l’accès aux lots stockés par le SGBDR. Le rôle db_dtsoperator est le plus limité d’entre eux. Les utilisateurs membres de ce rôle peuvent uniquement énumérer (à savoir, déterminer les lots disponibles) et visualiser

Rôles

les lots existants ; ils ne peuvent pas créer ni modifier des lots SSIS. Le rôle db_dtsltduser permet aux utilisateurs de créer et de modifier leurs propres lots, ainsi que d’énumérer des lots existants. Enfin, le rôle db_dtsadmin permet aux utilisateurs de créer, de modifier, d’énumérer et de visualiser tous les lots. Les administrateurs système sont automatiquement membres de ce dernier rôle.

Vous devez être membre de l’un de ces trois rôles pour accéder aux lots SSIS. Si ce n’est pas le cas et si vous essayez d’énumérer un lot en ouvrant le noeud Packages pour l’explorateur d’objet SSIS Server dans SQL Server Management Studio, vous obtiendrez le message d’erreur de la figure 2.

Vous trouverez les nouveaux rôles SSIS au niveau du noeud de base de données MSDB de Management Studio, sous le noeud Security, Roles, Database roles. Ces rôles s’appliquent uniquement à MSDB et contrôlent l’accès à la table sysdtspackages90 via les procédures stockées répertoriées à la figure 3. La table sysdtspackages90 et les procédures stockées permettant d’y accéder se trouvent dans MSDB.

Si vous examinez sysdtspackages90, vous verrez deux colonnes particulièrement intéressantes dans le cadre de cette discussion. La colonne readrole spécifie les connexions d’accès (login) ou rôles qui disposent d’un accès en lecture sur le lot. Les personnes concernées, appelées lecteurs (reader), peuvent énumérer, exécuter et exporter un lot à partir de SQL Server. La colonne writerole spécifie les connexions d’accès (login) ou rôles qui peuvent accéder en écriture au lot. Les personnes concernées, dénommées rédacteurs (writer), ont la possibilité de supprimer, de renommer, de modifier et d’enregistrer un lot au niveau de SQL Server. Par défaut, ces deux colonnes ont la valeur null.

Pour ouvrir la boîte de dialogue Package Roles, cliquez avec le bouton droit de la souris sur un lot sous le noeud Packages et sélectionnez Package Roles, comme l’illustre la figure 4. La figure 5 présente les paramètres par défaut de la boîte de dialogue Package Roles. Lorsque la colonne readrole a la valeur null, tous les utilisateurs membres de n’importe quel rôle de lot SSIS peuvent énumérer et lire le lot en question. Si le champ writerole a la valeur null, seuls les utilisateurs membres du rôle db_dtsadmin et le créateur du lot peuvent modifier ou supprimer ce dernier. Pour empêcher un rôle de visualiser et d’exécuter un lot particulier, vous devez supprimer le rôle en question de la liste Reader Role délimitée par des virgules. Vous pouvez aussi ajouter d’autres rôles aux listes de rôles de lecteur (reader) et de rédacteur (writer). Par exemple, je peux ajouter les rôles Agent User (utilisateur de l’Agent), Limited User (utilisateur restreint) et Security Administrator (administrateur de la sécurité) au rôle de lecteur du lot, en les entrant dans une liste délimitée par des virgules en tant que SQLAgentUserRole, db_dtsltduser et db_securityadmin. Je peux aussi assigner des utilisateurs et rôles à un rôle de rédacteur du lot, afin de leur permettre d’effectuer des opérations d’écriture, notamment des actions DELETE et MODIFY uniquement sur ce lot.

Pour mieux appréhender l’interaction de ces rôles et voir les droits détenus par chacun, consultez le tableau 1, qui répertorie les droits attribués à chaque rôle et les activités que les utilisateurs peuvent effectuer par défaut en fonction du rôle. Le tableau montre que le rôle db_dtsoperator ne peut pas utiliser ses propres lots. Cette limitation s’explique par le fait que db_dtsoperator peut créer des lots, de sorte qu’il ne peut en détenir aucun. Le tableau montre aussi que le rôle Writerole db_dtsoperator ne peut pas importer des lots car il est impossible d’avoir un rôle d’accès en écriture sur un lot inexistant. Assigned User n’est pas un rôle à proprement parlé, mais il est inclus car vous pouvez affecter une connexion d’accès (login) ou un rôle SQL à un rôle de lecteur ou de rédacteur pour un lot. Par exemple, db_dtsoperator n’est par défaut pas attribué au rôle de rédacteur et n’a pas de privilèges d’écriture pour les lots. Néanmoins, les opérateurs définis explicitement comme membres du rôle de rédacteur auront tous les privilèges axés sur l’écriture pour le lot en question.

Avec toutes ces informations, vous avez probablement la tête pleine de rôles, mais il est important d’en connaître encore un autre, nouveau dans SQL Server 2005 : SQLAgent- UserRole. Pour créer des tâches de l’Agent SQL Server, un utilisateur doit être membre de ce rôle et, dans ce cas, la personne gère uniquement les tâches qu’elle crée. Ce rôle est important car il influe sur un scénario d’utilisation courant de SSIS. Une fois construits, testés et déployés, de nombreux lots sont remisés quelque part sur un système SQL Server et une tâche d’Agent SQL Server déclenche leur exécution au moment nécessaire. Comme l’intégration de l’Agent SQL Server est cruciale pour la sécurité de tels lots, examinons son fonctionnement.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010