Plusieurs instances Web d'ArcGIS Server pour la sécurité
Une instance de serveur ArcGIS prend en charge une seule combinaison d'emplacement utilisateur, d'emplacement de rôle et de méthode d'authentification (pour plus d'informations sur les utilisateurs et les rôles, reportez-vous à la rubrique Vue d'ensemble de la configuration des utilisateurs et des rôles). Si vous devez prendre en charge plusieurs types d'authentification ou de magasin d'utilisateurs/de rôles, vous pouvez configurer plusieurs instances d'ArcGIS Server.
Normalement, chaque système ArcGIS Server possède une instance, liée à un gestionnaire des objets serveur (SOM) unique. Cette section décrit une configuration dans laquelle plusieurs instances d'ArcGIS Server sont liées à un gestionnaire SOM unique.
Par exemple, vous pouvez autoriser certains utilisateurs dans votre réseau interne à se connecter avec leurs comptes Windows. En revanche, pour les utilisateurs externes sur Internet, vous voulez configurer les comptes dans une base de données SQL Server. Comme une instance de serveur ArcGIS prend en charge un seul emplacement utilisateur, vous pouvez configurer une instance distincte pour chaque type d'utilisateur.
Vous devez penser à deux problèmes lors de la gestion de plusieurs instances :
- Les autorisations pour les connexions Internet aux services sont stockées dans le gestionnaire SOM. Si plusieurs instances fonctionnent avec le gestionnaire SOM, les instances partageront le même ensemble d'autorisations. Comme les autorisations sont basées sur les rôles, vous devez gérer avec soin les autorisations afin que les rôles et, par conséquent, les utilisateurs, fonctionnent correctement dans chaque instance. Reportez-vous à la section ci-dessous, Gestion des autorisations avec plusieurs instances, pour plus d'informations.
- Si vous activez la fonctionnalité WMS (Web Mapping Service) pour un service, les informations des fonctionnalités pour le service sont partagées par toutes les instances. L'URL OnlineResource du service sera définie sur l'une des instances. Pour plus d'informations, reportez-vous à l'article 35672 de la base de connaissances : Why does the OnlineResource URL in the WMS capabilities use a different ArcGIS Web instance?.
Ajout d'une instance de serveur ArcGIS
Un utilitaire pour l'ajout et la suppression d'instances est inclus : <répertoire d'installation d'ArcGIS Server>\DotNet\AddInstance.exe. Vous pouvez double-cliquer sur cet exécutable dans l'Explorateur Windows pour ouvrir l'outil. Suivez les instructions fournies dans l'assistant pour ajouter une nouvelle instance.
Le nom que vous choisissez pour l'instance sera répercuté dans l'URL que les autres utilisent pour accéder à l'instance. Par exemple, si vous entrez ArcGIS2, l'URL des services peut être http://myserver/ArcGIS2/services.
Une fois l'assistant terminé, la création de l'instance peut prendre quelques minutes. Si vous décidez ultérieurement de supprimer une instance, vous pouvez utiliser le même utilitaire.
Utilisation de la nouvelle instance
La nouvelle instance possède son propre Gestionnaire. Pour y accéder, accédez à Démarrer > (Tous les) Programmes > ArcGIS > ArcGIS Server pour Microsoft .NET Framework > Gestionnaire ArcGIS Server <nom de l'instance>. Utilisez le nouveau Gestionnaire pour configurer le magasin d'utilisateurs et de rôles pour la nouvelle instance. Vous noterez que le volet Services répertorie les mêmes services que le Gestionnaire original et que les autorisations pour les services sont également les mêmes. Reportez-vous à la section suivante pour obtenir des informations importantes sur la gestion des autorisations entre plusieurs instances.
La nouvelle instance ne répertorie pas les applications Web créées avec une autre instance. Chaque instance tient sa propre liste d'applications créées avec cette instance.
Chaque instance se trouve dans le répertoire du serveur Web IIS où vous avez créé l'instance. Par exemple, si vous avez créé une nouvelle instance nommée ArcGIS2 dans le site Web par défaut sur le port 80 et que le serveur IIS utilise l'emplacement par défaut, l'emplacement de l'instance sera C:\Inetpub\wwwroot\ArcGIS2. La nouvelle instance contiendra le même ensemble de dossiers que l'instance d'origine, y compris Rest, Services et Security.
Gestion des autorisations avec plusieurs instances d'ArcGIS Server
Comme les autorisations sont stockées dans le gestionnaire SOM, plusieurs instances d'ArcGIS Server qui partagent le gestionnaire SOM partagent également le même ensemble d'autorisations pour les services. Lorsque vous cliquez sur le bouton Autorisations pour un service ou un dossier, les autorisations pour les rôles qui ont été ajoutées à l'aide du Gestionnaire de l'une ou l'autre instance s'affichent.
Vous devez gérer les autorisations pour les dossiers et les services afin que les utilisateurs dans les deux instances puissent accéder convenablement aux services. Comme les autorisations sont basées sur les rôles plutôt que sur les utilisateurs, vous devez vous assurer que les rôles pour chaque instance sont autorisés pour les services, selon les besoins. Comme les administrateurs utilisant l'un ou l'autre Gestionnaire voient la même liste de rôles autorisés, il est possible de supprimer par erreur un rôle ayant été autorisé dans l'autre Gestionnaire.
L'une des deux stratégies ci-dessous est recommandée pour la gestion des rôles et des autorisations :
- Utilisez les mêmes noms pour les rôles dans les deux instances et ajoutez les utilisateurs dans chaque instance à ces rôles partagés. Cette méthode est appropriée si vous voulez autoriser les utilisateurs dans les deux instances à accéder aux services avec les mêmes règles d'autorisations. Par exemple, vous pouvez ajouter un groupe nommé Planificateurs aux groupes Windows sur votre serveur et ajouter les utilisateurs Windows dans le groupe. Ensuite, dans le Gestionnaire qui utilise SQL Server pour les rôles, vous pouvez ajouter un rôle Planificateurs et ajouter les utilisateurs SQL Server dans le rôle. Ensuite, lorsque vous autorisez le rôle Planificateurs à accéder à un service, les utilisateurs des deux instances peuvent utiliser le service par le biais de l'unique règle d'autorisation pour Planificateurs.
- Utilisez des noms clairement différents pour les rôles dans les deux instances. Cette méthode est appropriée si vous souhaitez des règles différentes pour les utilisateurs dans chaque instance. Par exemple, vous pouvez créer un groupe Windows nommé EditeursInternes pour les utilisateurs internes et ajouter un rôle nommé VisionneursExternes dans le Gestionnaire configuré pour utiliser SQL Server pour les rôles. Les suffixes Internes et Externes indiquent l'emplacement distinct de chaque rôle, afin qu'une personne utilisant le Gestionnaire dans une instance ne supprime pas par erreur un rôle ajouté dans l'intérêt des utilisateurs dans l'autre instance.
Si l'une de vos instances utilise l'appartenance ASP.NET, soyez conscient que les trois rôles intégrés (Tous, Utilisateurs authentifiés et Anonyme) couvrent toutes les instances. Par exemple, supposez que vous utilisez le fournisseur d'appartenance Microsoft SQL Server pour une instance et les utilisateurs et les groupes du système d'exploitation Windows pour la seconde instance. Si vous accordez l'accès au dossier racine du service Web dans l'instance SQL Server, tous les utilisateurs Windows seront en mesure de voir tous les services Web lorsqu'ils se connectent.