Procédure pas à pas : implémentation de la sécurité avec des utilisateurs et des rôles dans SQL Server

Complexité : Débutant Exigences relatives aux données : ArcGIS Tutorial Data Setup

Cette procédure pas à pas indique comment implémenter la sécurité pour des applications Web et des services SIG. Dans cette procédure pas à pas, les utilisateurs et les rôles sont stockés dans une base de données Microsoft SQL Server Express. SQL Server correspond à l'une des options utilisables pour les utilisateurs et les rôles. Cette option est souvent utilisée lorsque les utilisateurs du serveur se trouvent sur Internet, mais elle peut également être utilisée dans des réseaux locaux.

Dans cette procédure pas à pas, vous allez installer SQL Server Express si nécessaire, configurer l'emplacement des utilisateurs et des rôles dans le Gestionnaire, définir des autorisations pour une application Web et un service Web SIG et activer la sécurité pour des services Web SIG.

AttentionAttention :

Cette procédure pas à pas active la sécurité pour des services Web SIG. Une fois la sécurité des services activée, vous devez gérer les autorisations pour tous les services. Vous ne devez pas activer la sécurité à moins d'être préparé pour continuer à gérer les autorisations.

Cette procédure pas à pas inclut les étapes suivantes :

  1. Installation des éléments préalables requis pour cette procédure pas à pas
  2. Configuration de l'emplacement des utilisateurs et des rôles dans le Gestionnaire
  3. Ajout d'utilisateurs et de rôles
  4. Sécurisation d'une application Web
  5. Définition des autorisations pour les services Web SIG
  6. Application de la sécurité au services Web SIG

Installation des éléments préalables requis pour cette procédure pas à pas

Vous devrez éventuellement installer un ou les deux éléments ci-dessous avant de commencer cette procédure pas à pas :

  1. SQL Server Express : si Microsoft SQL Server Express n'est pas encore installé (ou si vous n'êtes pas certain qu'il est installé), suivez les instructions fournies dans la section Installer Microsoft SQL Server 2008 Express. Exécutez uniquement cette section, pas les sections suivantes. Retournez ensuite à cette page et continuez la procédure pas à pas.
  2. Certificat SSL : l'accès à des services Web SIG sécurisés dans cette procédure pas à pas nécessite que le serveur Web prenne en charge l'utilisation du protocole HTTPS, ce qui requiert l'installation d'un certificat SSL (Secure Sockets Layer) sur le serveur Web. Si vous n'êtes pas certain qu'un certificat SSL est installé, suivez la procédure détaillée dans la section Déterminer si un certificat SSL est installé. Si aucun certificat n'est installé, vous devez effectuer l'une des opérations suivantes :
    • Demandez un certificat auprès d'une autorité de certification. Cette option est appropriée si votre serveur Web est un serveur de production ou un serveur Web à destination du public, qui sera utilisé pour proposer des applications ou des services aux clients. Reportez-vous à la section Obtenir et installer un certificat SSL à partir d'une autorité de certification pour plus d'informations.
    • Créez votre propre certificat pour l'utiliser localement. Cette option est appropriée à des fins de développement et de test uniquement. Reportez-vous à la section Utilisation d'un certificat SSL auto-signé pour obtenir des informations et des instructions.
    • Désactivez l'exigence relative à SSL. Cette option est appropriée uniquement pour les machines de développement. Le service de jetons installé avec ArcGIS Server ne requerra pas HTTPS, si bien que les mots de passe seront transmis via le réseau sous forme de texte en clair, ce qui les rend susceptibles d'être capturés par quiconque disposant d'un accès au réseau. Les clients peuvent également afficher un avertissement à l'utilisateur concernant la transmission non sécurisée des informations de connexion. Pour utiliser cette option, consultez les instructions fournies dans la section Connexion sécurisée (HTTPS/SSL) requise pour le service de jetons.

Configuration de l'emplacement des utilisateurs et des rôles dans le Gestionnaire

Après avoir installé les éléments préalables requis, utilisez le Gestionnaire pour configurer SQL Server Express en tant qu'emplacement des utilisateurs et des rôles.

Étapes :
  1. Démarrez le Gestionnaire ArcGIS Server et connectez-vous.
  2. Dans le Gestionnaire, développez le volet Sécurité et cliquez sur Paramètres.
  3. Cliquez sur le lien Configurer.
    Assistant Paramètres de sécurité : Configurer
  4. Sélectionnez SQL Server dans la boîte de dialogue Emplacement pour les utilisateurs qui s'affiche. Cliquez sur Suivant.
  5. Entrez le nom du serveur de base de données dans la zone de texte Serveur dans la boîte de dialogue dédiée à la spécification des paramètres pour SQL Server.

    Vous pouvez utiliser localhost si SQL Server Express est installé sur l'ordinateur local. Pour SQL Server Express, ajoutez \SQLEXPRESS à la fin du nom, par exemple, localhost\SQLEXPRESS.

    RemarqueRemarque :

    Si vous avez modifié le nom de l'instance SQL Server Express par défaut, remplacez SQLEXPRESS par le nom de l'instance que vous avez choisi.

  6. Cliquez sur Connecter pour afficher la liste des bases de données et des options disponibles.
    Si la connexion échoue, vérifiez que votre serveur de base de données est en cours d'exécution et disponible sur le réseau et que le compte que vous avez utilisé pour vous connecter au Gestionnaire est autorisé à administrer le serveur SQL Server.
    Assistant Paramètres de sécurité : Connexion SQL Server
  7. Facultativement, activez l'option Utiliser une connexion de confiance pour autoriser le compte qui exécute ASP.NET à authentifier les utilisateurs et à vérifier les rôles par le biais de l'authentification Windows. Vous pouvez éventuellement désactiver l'option Utiliser une connexion de confiance si vous avez configuré SQL Server avec une authentification en mode mixte et que vous souhaitez entrer des informations de connexion à une base de données SQL. L'option de connexion de confiance est recommandée lorsqu'elle est possible.
  8. Cliquez sur l'option Créer une base de données et saisissez un nom (comme par exemple aspnetdb). Vérifiez que l'option Ajouter les rôles Tous, Anonyme et Utilisateurs authentifiés à la base de données est activée. Cliquez sur Suivant.
  9. Dans le volet destiné à la récupération des mots de passe, laissez l'option désactivée. Vous pouvez exécuter de nouveau l'assistant ultérieurement, si vous le souhaitez, pour entrer des paramètres pour le serveur de messagerie qui est requis pour récupérer des mots de passe. Cliquez sur Terminer. L'assistant se ferme avec l'entrée Utilisateurs et rôles SQL Server affichée dans la zone Emplacement.

Notez que la sécurité pour les services est définie sur Non activé. N'activez pas la sécurité à ce stade. Vous activerez la sécurité dans la dernière étape de cette procédure pas à pas. L'activation de la sécurité est la dernière étape car vous devez au préalable définir les autorisations pour vos services Web. Une fois la sécurité activée, seuls les utilisateurs dont vous avez autorisé les rôles peuvent accéder aux services Web SIG.

Ajout d'utilisateurs et de rôles

Pour pouvoir affecter des autorisations à des applications ou des services, vous devez ajouter des utilisateurs et des rôles.

Étapes :
  1. Dans le Gestionnaire, cliquez sur l'onglet Sécurité sur le côté gauche et cliquez sur Utilisateurs. Aucun utilisateur n'est répertorié si vous venez de créer la base de données en suivant la procédure ci-dessus.
    Boîte de dialogue de la liste Utilisateurs
  2. Dans le volet Utilisateurs, cliquez sur le lien Ajouter un utilisateur pour afficher la boîte de dialogue permettant d'ajouter un nouvel utilisateur.
  3. Entrez les informations relatives au nouvel utilisateur. Les éléments ci-dessous sont suggérés, mais vous pouvez entrer vos propres paramètres utilisateur :
    • Nom d'utilisateur : staff1
    • Mot de passe : staff1$
    • E-mail : staff1@yourcompany.com
    • Question de sécurité : Quel était le nom de votre premier animal domestique ?
    • Réponse de sécurité : Fido
      Boîte de dialogue Ajouter un utilisateur
    AttentionAttention :

    Par défaut, les mots de passe doivent avoir au moins sept caractères et au moins un caractère doit être non alphanumérique (tel que @, #, $ ou %, mais évitez d'utiliser &).

  4. Aucun rôle n'a encore été défini, donc laissez cet aspect vide. Cliquez sur Ajouter pour ajouter le nouvel utilisateur. Le Gestionnaire retourne à la liste Utilisateurs et affiche le nouvel utilisateur.
  5. Ajoutez un autre utilisateur, comme par exemple engineer1. Créez vos propres valeurs pour le mot de passe, etc. Eventuellement, vous pouvez ajouter d'autres utilisateurs à ce stade.
  6. Cliquez sur le lien Rôles dans la section Sécurité. Aucun rôle n'existe encore.
    Liste des rôles
  7. Dans le volet Rôles, cliquez sur le lien Ajouter un rôle pour afficher la boîte de dialogue permettant d'ajouter un nouveau rôle.
  8. Saisissez un nom pour le rôle, tel que Staff. Ensuite, mettez en surbrillance l'utilisateur que vous avez créé précédemment, tel que staff1, et cliquez sur le bouton Ajouter pour l'ajouter à la liste Membres du rôle.
    Boîte de dialogue Ajouter un rôle
  9. Cliquez sur Ajouter un rôle pour ajouter le rôle et retourner à la liste Rôles. Le nouveau rôle figure dans la liste.
  10. Créez encore un rôle, nommé par exemple Engineers, et ajoutez le second utilisateur que vous avez créé précédemment à ce rôle.

    Notez que vous pouvez développer la liste des rôles pour afficher les membres du rôle.

    Liste des rôles avec leurs membres

  11. Ajoutez éventuellement d'autres utilisateurs et rôles. Ajoutez chaque utilisateur à au moins un rôle. Les autorisations pour les services et les applications sont basées sur les rôles et non pas sur les utilisateurs individuels.

Sécurisation d'une application Web

A présent, vous devez sécuriser une application Web en limitant l'accès aux rôles désignés.

Étapes :
  1. Créez une nouvelle application Web dans le Gestionnaire.
    L'application peut être simple, avec un simple service de carte et aucun outil ni tâche supplémentaire. Vous pouvez consulter la rubrique Didacticiel : Création d'une application Web si vous devez créer une application. Vous pouvez utiliser une application existante, mais tous les utilisateurs de l'application doivent se connecter en tant qu'utilisateurs membres d'un rôle que vous autorisez dans la procédure pas à pas.
    • Comme les utilisateurs se connectent en utilisant un formulaire dans la page Web, vous pouvez protéger la connexion en exigeant des utilisateurs qu'ils utilisent HTTPS pour se connecter à l'application. Cela est possible uniquement si vous avez installé un certificat SSL comme cela était indiqué dans la section Installation des éléments préalables requis pour cette procédure pas à pas. Vous pouvez spécifier HTTPS pour l'URL de l'application dans le Gestionnaire lorsque vous créez l'application en sélectionnant https dans l'option Avancé du premier volet de l'assistant.
  2. Dans le Gestionnaire, cliquez sur Applications pour afficher la liste des applications Web. Recherchez l'application que vous souhaitez sécuriser dans la liste.
    Dans la colonne Autorisations, vous pouvez voir l'icône en forme de cadenas déverrouilléIcône de cadenas déverrouillé pour une application non sécurisée. Elle indique que l'application n'est pas limitée, si bien que les utilisateurs ne sont actuellement pas tenus de se connecter.
    Boîte de dialogue répertoriant les applications
  3. Cliquez sur l'icône Autorisations Icône de cadenas déverrouillé pour une application non sécurisée, qui affiche la boîte de dialogue Autorisations pour l'application Web.
  4. Cochez la case Activer la sécurité pour cette application Web. Cela active les listes des rôles disponibles et autorisés.
  5. Mettez en surbrillance le rôle Staff (ou un autre rôle que vous avez ajouté ci-dessus) dans la liste Rôles disponibles. Cliquez sur le bouton Ajouter pour l'ajouter à la liste Rôles autorisés.
    Boîte de dialogue Autorisations de l'application
  6. Cliquez sur Enregistrer pour enregistrer les autorisations et retourner à la liste des applications. Notez que l'icône Autorisations prend l'apparence d'un cadenas verrouilléIcône en forme de cadenas verrouillé pour une application sécurisée , ce qui indique que l'accès à l'application nécessite à présent une connexion.
  7. Testez l'application en cliquant sur son hyperlien d'URL dans la liste des applications Web.
    L'application s'ouvre dans une nouvelle fenêtre du navigateur et ce dernier est redirigé vers la page Connexion.
    Formulaire de connexion à l'application
    Entrez le nom d'utilisateur et le mot de passe d'un utilisateur qui est membre du rôle que vous avez autorisé (par exemple, l'utilisateur staff1 ajouté ci-dessus). Une fois la connexion établie, l'application passe à la page de l'application Web ArcGIS Server.
  8. Cliquez sur le lien Se déconnecter dans la page de l'application Web.
    Lien de déconnexion de l'application
    L'application retourne à la page Connexion. Essayez éventuellement de vous connecter avec d'autres informations de connexion d'utilisateur qui ne sont pas autorisées en fonction de l'appartenance aux rôles. Vous n'êtes pas autorisé à vous connecter. Fermez l'application et retournez dans le Gestionnaire.

Définition des autorisations pour les services Web SIG

Outre la sécurisation des applications Web, vous pouvez limiter l'accès aux services Web SIG à l'aide du Gestionnaire. Cette section indique comment définir des autorisations pour les services. Ces autorisations ne sont pas appliquées réellement tant que vous n'avez pas terminé la section suivante relative à l'application de la sécurité à des services. Ce workflow vous permet de configurer des autorisations pour des services, puis d'appliquer la sécurité, afin que les utilisateurs puissent encore accéder aux services tout au long du processus de sécurité.

Cette procédure pas à pas permet de configurer la sécurité afin que, par défaut, l'accès aux services soit possible sans informations de connexion. Ensuite, vous configurerez des services pour exiger des informations de connexion. Vous procéderez en limitant l'accès à un dossier à des rôles désignés. Cette approche peut être appropriée pour un site proposant à la fois des services sécurisés et des services ouverts. Si votre organisation souhaite limiter tous les services en requérant des informations de connexion, vous pouvez utiliser une approche différente de celle présentée ci-dessous.

Étapes :
  1. Dans le Gestionnaire, assurez-vous que le dossier racine de votre serveur contient au moins un service. Ajoutez un service si aucun service n'existe encore. Vous pouvez vous reporter au didacticiel Publication d'un service de carte pour créer le service.
  2. Ajoutez un dossier aux services de votre serveur en cliquant sur Gérer les dossiers ; dans la liste déroulante qui apparaît, cliquez sur Ajouter.
    Ajouter un dossier de service
    Saisissez un nom de dossier, tel que SecureServices, dans la zone de texte Ajouter un dossier. Cliquez sur OK pour ajouter le dossier.
  3. Ajoutez un service dans le nouveau dossier. Utilisez Publier une ressource SIG pour ajouter le service en veillant à spécifier le dossier SecureServices comme emplacement. (Vous pouvez également utiliser l'assistant Ajouter un nouveau service, mais assurez-vous que la liste Services dans inclut le dossier SecureServices. Vous pouvez également utiliser ArcCatalog pour ajouter le service.) Vous pouvez supprimer le service et le dossier après la procédure pas à pas, si vous le souhaitez.
  4. Définissez des autorisations sur le dossier racine pour permettre à chacun d'accéder aux services que des informations de connexion soient fournies ou non. Cette approche est appropriée si vous souhaitez autoriser tous les utilisateurs par défaut, mais limiter certains services ou dossiers en requérant des informations de connexion valides. Pour définir cette autorisation, assurez-vous que la zone Services dans affiche Nom du serveur (racine), où Nom du serveur correspond au nom d'ordinateur de votre serveur (cliquez sur la liste déroulante pour sélectionner cet élément, si nécessaire). Ensuite, cliquez sur Gérer les dossiers et, dans la liste déroulante, sélectionnez Autorisations (reportez-vous au graphique ci-dessus). La boîte de dialogue Autorisations qui s'ouvre affiche le nom du dossier (dans ce cas, racine).
  5. Dans la boîte de dialogue Autorisations, sélectionnez le rôle Tous et cliquez sur Ajouter.

    Le rôle Tous est placé dans la liste Rôles autorisés. Il n'est pas nécessaire d'ajouter d'autres rôles, car le rôle Tous couvre tous les utilisateurs, qu'ils fournissent ou non des informations de connexion. Notez l'avertissement indiquant que la sécurité pour les services n'est pas activée ; vous activerez la sécurité dans la section suivante. Cliquez sur Enregistrer pour enregistrer la liste des autorisations.

    Définition des autorisations des services

  6. Limitez les autorisations sur le dossier que vous avez créé précédemment. Dans la liste Services dans, sélectionnez le dossier (SecureServices), cliquez sur Gérer les dossiers, puis sur Autorisations.
  7. Dans la boîte de dialogue Autorisations, cliquez sur le rôle Tous dans la liste Rôles autorisés et cliquez sur Supprimer. Le rôle est placé dans la liste Rôles disponibles.
  8. Ensuite, cliquez sur un rôle à autoriser, tel que Staff. Vous pouvez ajouter plusieurs rôles comme rôles autorisés, si vous le souhaitez. Cliquez sur Enregistrer pour enregistrer la liste des autorisations.

Les autorisations sont à présent configurées pour les services. Toutefois, la sécurité n'est pas encore appliquée. En d'autres termes, à ce stade, tout utilisateur peut encore accéder aux services dans le dossier SecureServices sans fournir d'informations de connexion. La section suivante permet d'activer la sécurité, ce qui met en vigueur les autorisations d'accès que vous avez configurées.

Application de la sécurité au services Web SIG

La dernière étape pour le sécurisation des services Web SIG consiste à appliquer la sécurité aux services. Cette opération limite les services Web SIG afin que seuls les utilisateurs dont vous avez autorisé les rôles puissent accéder aux services. Tant que vous n'avez pas effectué cette opération, aucune des autorisations que vous avez appliquées n'est encore effective et chacun peut accéder à tous les services. Vous ne devez pas suivre la procédure détaillée ici tant que vous n'avez pas configuré les autorisations comme cela est décrit dans la section précédente.

Avertissement : une fois que vous activez la sécurité pour les services, vous ne pouvez pas la désactiver dans le Gestionnaire (reportez-vous à la page d'aide Informations sur la désactivation manuelle de la sécurité, si nécessaire). La sécurité pour les services doit être un processus à sens unique. Si vous n'êtes pas prêt à activer la sécurité pour les services Web SIG, vous pouvez ignorer cette section de la procédure pas à pas.

Étapes :
  1. Dans le Gestionnaire, cliquez sur l'onglet Sécurité sur la gauche, puis cliquez sur Paramètres.
  2. Dans le volet Paramètres de sécurité, lisez les informations sous Sécurité des services SIG. Notez que la sécurité est définie sur Non activé lorsque vous installez ArcGIS Server.
    Activer la sécurité pour les services
  3. Cliquez sur Activer. Un message vous recommande de définir des autorisations avant d'activer la sécurité pour les services. Cliquez sur le bouton Activer la sécurité des services pour confirmer. Vous retournez au volet Paramètres de sécurité et l'indicateur indique à présent que la sécurité est activée.
  4. Cliquez sur l'onglet Services sur le côté gauche du Gestionnaire. Dans la liste des services, les icônes d'autorisations affichent maintenant un cadenas verrouillé Icône représentant un cadenas verrouillé pour les services sécurisés. Si vous voyez une icône avec un point d'exclamation rougeIcône d'avertissement pour un service sécurisé sans rôle autorisé, elle indique que le service a une liste d'autorisations vide. Un tel service est inaccessible à tous les utilisateurs jusqu'à ce qu'au moins un rôle soit ajouté dans la liste Rôles autorisés du service.
  5. Pour vérifier que la sécurité pour les services est effective, utilisez ArcCatalog pour vous connecter à vos services. Démarrez ArcCatalog sur votre ordinateur local ou sur une machine capable d'accéder au serveur Web pour ArcGIS Server.
  6. Dans ArcCatalog, développez le nœud Serveurs SIG dans l'arborescence du catalogue. Double-cliquez sur l'élément Ajouter un serveur ArcGIS.
  7. Dans la boîte de dialogue Ajouter un serveur ArcGIS, cliquez sur Utiliser les services SIG. Cliquez sur Suivant.
  8. Dans le volet suivant, cliquez sur Internet comme type de connexion et entrez l'URL de votre serveur, par exemple : http://myserver/arcgis/services. Pour cette connexion, laissez la boîte de dialogue Authentification vierge. Cliquez sur Terminer. La boîte de dialogue se ferme et une nouvelle connexion apparaît dans votre liste Serveurs SIG, telle qu'arcgis sur myserver.
  9. Développez ce nœud. Examinez le service à la racine de votre serveur. Toutefois, le dossier que vous avez sécurisé dans le cadre de la connexion précédente (SecureServices) n'est pas visible. Comme vous avez autorisé le rôle Tous à accéder au dossier racine, les services à la racine et tous les dossiers qui n'ont pas remplacé ses paramètres sont visibles pour tous les utilisateurs, même sans connexion. Puisque vous ne vous êtes pas connecté avec des informations de connexion appropriées, le dossier SecureServices n'est pas disponible pour cette connexion.
  10. Ajoutez une autre connexion au serveur SIG dans ArcCatalog en répétant les étapes 6 à 8 ci-dessus. Entrez la même URL de serveur, mais pour l'étape 8, entrez le nom d'utilisateur et le mot de passe dans la section Authentification de la boîte de dialogue de connexion. Utilisez la connexion que vous avez créée ci-dessus pour l'utilisateur (par exemple, staff1) dans le rôle pour lequel vous avez autorisé l'utilisation du dossier SecureServices. Cliquez sur Terminer pour ajouter la connexion.
    Connexion à des services sécurisés dans ArcCatalog
  11. Développez cette connexion (par exemple, arcgis sur myserver [2]). Vous pouvez voir à présent le dossier SecureServices, ainsi que tous les services et dossiers autorisés pour Tous.
  12. Fermez ArcCatalog et le Gestionnaire, une fois terminé.

Vos services Web sont maintenant sécurisés. Les services autorisés pour des rôles spécifiques sont disponibles uniquement aux utilisateurs inclus dans ces rôles. Comme vous avez pu constater, vous pouvez ouvrir des services pour des utilisateurs qui ne fournissent pas de connexion en ajoutant le rôle Tous dans la liste des rôles autorisés pour le service ou le dossier le contenant.

Vous pouvez utiliser des services sécurisés dans différents clients, y compris ArcGIS Desktop, les applications Web ADF et les applications d'API JavaScript. Pour ajouter un service sécurisé à une application Web ADF, ajoutez une nouvelle connexion Internet ArcGIS Server, entrez le nom d'utilisateur et le mot de passe appropriés dans la zone de texte Identité de la boîte de dialogue de connexion dans le Gestionnaire ou Visual Studio.

Si vous le souhaitez, vous pouvez supprimer tout service, dossier, utilisateur ou rôle créés au cours de cette procédure pas à pas. N'oubliez pas qu'une fois que vous activez la sécurité pour les services, vous devez gérer les autorisations pour tous les dossiers et services. Si vous ajoutez un service mais n'ajoutez pas de rôle autorisé, il est inaccessible pour tous les utilisateurs (une icône d'avertissement Icône d'avertissement pour un service sécurisé sans rôle autorisé est affichée pour vous signaler ce problème). Une façon de garantir au moins un ensemble par défaut d'autorisations consiste à ajouter des autorisations au dossier conteneur à la racine ou au sous-dossier. Les services héritent des autorisations de leur dossier conteneur, ce qui simplifie la configuration de la sécurité pour les services.


3/6/2012