> Tech > Répertoire virtuel du service Web

Répertoire virtuel du service Web

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

Maintenant que vous avez créé la base de données et les objets, l’étape suivante consiste à permettre aux utilisateurs de s’interfacer avec la base de données via un service Web. Le répertoire virtuel d’une application à base de service Web constitue le niveau intermédiaire entre l’échelon base de données et

l’échelon client. On pourrait le représenter comme une interface de services Web dessinée sur votre base de données SQL Server. Les utilisateurs peuvent aussi passer des paramètres aux méthodes Web du niveau intermédiaire qui accomplissent des tâches telles que la modification d’une ligne dans une table. Par conséquent, le répertoire virtuel doit connaître l’emplacement de la base de données et quels objets de base de données spécifiques employer pour les différentes tâches. Ce répertoire doit aussi savoir comment se connecter à la base de données car les autorisations de login désignent implicitement l’étendue des opérations du service Web. Par ailleurs, le répertoire virtuel doit mettre en oeuvre la fonctionnalité SOAP et WSDL (Web Services Description Language) de base afin que tout client de service Web puisse s’interfacer aisément avec lui.

Pour ouvrir l’outil SQLXML 3.0 IIS Virtual Directory Management, sélectionnez SQLXML 3.0, et Configure IIS Support dans le menu Start (Démarrer). Avec cet utilitaire, vous pouvez soit créer un nouveau répertoire virtuel, soit modifier les paramètres d’un répertoire existant. La figure 1 montre les paramètres de l’exemple de service Web utilisé dans cet article, au niveau de l’onglet General d’une boîte de dialogue qui permet de créer et gérer un répertoire virtuel. Dans l’onglet Security de la boîte de dialogue, vous spécifiez le mode de connexion des utilisateurs du service Web au niveau base de données de la solution. Spécifiez un login (tel que SSMWSLogin décrit précédemment) qui dispose des autorisations minimum nécessaires pour exécuter l’application.

Cette tactique fournit un outil de gestion de la sécurité puisque vous ajoutez ou supprimez des objets de base de données au niveau d’une application. Par exemple, j’ai étendu le nombre d’instructions GRANT EXECUTE pour SSMWSLogin car j’expose de nouveaux objets de base de données via la solution de service Web.

Utilisez les onglets Data Source et Settings pour spécifier la base de données à laquelle le répertoire virtuel fournit un accès et la relation entre ce répertoire et la base de données (dans cet exemple, la base de données SSMWSEmp Phones). Lors de la configuration d’un répertoire virtuel pour un service Web, vous devez activer la case à cocher Allow Post au niveau de l’onglet Settings (elle est désactivée par défaut).

Cette case à cocher permet à une application de publier des valeurs vers un répertoire virtuel et, par conséquent, de communiquer avec le service Web. Vous pouvez désactiver toutes les autres cases à cocher de l’onglet sans perturber le fonctionnement du service Web.

Notez que la taille maximale d’une publication doit être suffisante pour accepter les données passées par votre application client au service Web. Par défaut, la valeur de publication maximum est de 100 ko. Des tests empiriques destinés à trouver une valeur acceptable plus petite peuvent vous aider à diminuer l’exposition de votre application aux attaques du type refus de service (DoS) en réduisant la quantité de contenu que les utilisateurs peuvent passer à votre service Web.

Au niveau de l’onglet Virtual Names, sélectionnez SOAP dans la zone de liste déroulante Type, afin de spécifier que votre répertoire virtuel contient un objet SOAP pour le service Web exposé.

Lorsque vous sélectionnez un objet SOAP, l’outil renseigne automatiquement la zone Domain name afin que l’entrée corresponde au nom que vous avez attribué au répertoire virtuel dans l’onglet General. Vous devez toutefois saisir manuellement le nom du service Web et le chemin de son dossier. Utilisez la zone de texte Name afin d’attribuer un nom à votre objet SOAP. Par exemple, ce projet affecte le nom SSMWSSoap. Dans la zone de texte Path, entrez le chemin local pour le service Web. La zone au bas de la figure 1 montre le chemin local que j’ai employé pour mon exemple de service Web. Cliquez sur Save afin de valider vos paramètres pour l’objet SOAP dans le répertoire virtuel, puis cliquez sur Configure.

La configuration d’un objet SOAP revient principalement à désigner les objets de base de données que votre service Web va exposer et le format des valeurs retournées par le service à une application client. La figure 2 présente la boîte de dialogue SOAP virtual name configuration, avec deux procédures stockées et une fonction UDF déjà ajoutées. La procédure stockée LikeLname est en cours de sélection en tant que méthode Web du même nom. Utilisez le bouton d’exploration (…) près de la zone de texte SP/Template afin de sélectionner le nom d’un objet de base de données que vous souhaitez exposer en tant que méthode Web. Lorsque vous cliquez sur le bouton d’exploration, la boîte de dialogue affiche uniquement les objets pour lesquels le login dispose d’une autorisation EXECUTE au niveau de l’onglet Security.

Le format de sortie pour les valeurs renvoyées à l’application client dépendent du type de case d’option sélectionnée dans la section Output as, ainsi que de l’objet de base de données sélectionné pour la mise en oeuvre d’une méthode Web. La procédure stockée LikeLname renvoie un ensemble de résultats que le service Web représente sous forme de DataSet avec un objet ADO.NET DataTable correspondant à l’ensemble en question.

Pour ce type de sortie, vous pouvez choisir la case d’option Dataset objects ou Single dataset. La première permet de voir la syntaxe utilisée pour le traitement par l’application client de plusieurs objets renvoyés par un service Web. Les trois autres objets de base de données, que j’ai déjà sélectionnés, ont une sortie formatée sous forme d’objets XML. Dans le cas de la méthode Web ValidateNewPW, la sélection de la case d’option XML objects renvoie une valeur scalaire en tant que chaîne à une application client.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

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