Sécurisation des connexions Internet aux services

Lorsque vous créez un service, l'accès Web est automatiquement activé. Cela signifie que d'autres personnes peuvent utiliser le service lorsqu'elles établissent une connexion Internet ArcGIS Server avec votre serveur. Vous pouvez décider de désactiver complètement l'accès Web ou de limiter l'accès à un groupe d'utilisateurs choisis. Vous pouvez également limiter les types d'opérations qui peuvent être effectuées avec le service via le Web. Cette rubrique traite des sujets suivants :

RemarqueRemarque :

Les groupes agsadmin et agsusers ne sont pas utilisés pour les connexions Internet ; ils permettent de sécuriser les connexions locales. La sécurité des connexions locales et Internet doit faire partie de votre stratégie de sécurité globale. Pour plus d'informations, reportez-vous à la rubrique Sécurisation des connexions locales aux services.

Désactivation de l'accès Web

Si vous ne voulez pas que les clients Internet accèdent à un service, vous devez désactiver explicitement l'accès Web.

Désactivation de l'accès Web dans le Gestionnaire

Pour désactiver l'accès Web pour un service dans le Gestionnaire, suivez la procédure ci-dessous. Le service doit être arrêté lorsque vous exécutez cette procédure.

  1. Cliquez sur l'onglet Services dans le Gestionnaire.
  2. Dans la liste des services, localisez le service dont vous voulez désactiver l'accès Web et cliquez sur son lien Mettre à jour.
  3. Cliquez sur l'onglet Fonctionnalités.
  4. Désactivez l'option Activer l'accès Web.
  5. Cliquez sur Enregistrer et redémarrer.

Désactivation de l'accès Web dans ArcCatalog

Pour désactiver l'accès Web pour un service dans ArcCatalog, suivez la procédure ci-dessous. Le service doit être arrêté lorsque vous exécutez cette procédure.

  1. Etablissez une connexion administrateur avec le serveur. Reportez-vous à la rubrique Etablissement d'une connexion administrative à ArcGIS Server dans ArcCatalog pour obtenir des instructions.
  2. Localisez le service pour lequel vous voulez désactiver l'accès Web.
  3. Si le service est démarré, cliquez avec le bouton droit sur le service et sélectionnez Arrêter.
  4. Cliquez avec le bouton droit sur le service et cliquez sur Désactiver l'accès Web.
  5. Cliquez avec le bouton droit sur le service et sélectionnez Démarrer.
RemarqueRemarque :

Pour les services de carte, la procédure ci-dessus désactive uniquement l'accès Web pour la fonctionnalité cartographique. Vous pouvez désactiver l'accès Web pour d'autres fonctionnalités dans l'onglet Fonctionnalités de la boîte de dialogue Propriétés du service.

Exiger l'utilisation du protocole HTTPS pour les dossiers et les services

Vous pouvez exiger que les clients qui se connectent à vos services ArcGIS Server utilisent le protocole HTTPS pour la connexion. Cela a pour effet de chiffrer toutes les communications entre le client et le serveur, de sorte que si quelqu'un intercepte la communication pendant la transmission, les données seront chiffrées et ne pourront pas être lues. Pour limiter également l'accès au service à certains utilisateurs, reportez-vous à la section ci-dessous, "Limitation des utilisateurs qui peuvent accéder à un service".

L'obligation d'utiliser HTTPS est définie au niveau des dossiers plutôt que pour des services individuels. Si vous voulez requérir le protocole HTTPS seulement pour un service individuel et pas pour le serveur ou le dossier entier, créez un nouveau dossier et ajoutez-lui le service.

Notez que vous devez installer un certificat SSL sur le serveur Web afin que les clients demandent des ressources avec le protocole HTTPS. Pour plus de détails, reportez-vous à la rubrique Configuration de SSL.

Pour utiliser le Gestionnaire pour requérir le protocole HTTPS pour un dossier, procédez comme suit :

Étapes :
  1. Connectez-vous au Gestionnaire ArcGIS Server et cliquez sur Services.
  2. Dans la liste déroulante des dossiers de serveur (nommée Services dans :), sélectionnez le dossier dans lequel vous souhaitez requérir HTTPS. Pour requérir le protocole HTTPS pour le serveur entier, sélectionnez le serveur (racine).
  3. Cliquez sur Gérer les dossiers, puis, dans la liste déroulante, cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés du dossier qui s'affiche, activez l'option Accès Web crypté requis et cliquez sur OK.

Vous pouvez également requérir le protocole HTTPS pour un dossier à l'aide d'ArcCatalog :

  1. Démarrez ArcCatalog, développez Serveurs SIG, puis double-cliquez sur la connexion administrateur au serveur. Si nécessaire, ajoutez une connexion administrateur en double-cliquant sur Ajouter un serveur ArcGIS, en cliquant sur Organiser les services ArcGIS, puis en entrant le nom du serveur et l'URL (par exemple, http://myserver.example.com/arcgis/services).
  2. Développez la connexion au serveur, si nécessaire, pour rechercher le dossier pour lequel vous souhaitez requérir le protocole HTTPS.
  3. Cliquez avec le bouton droit sur le dossier et sélectionnez Propriétés (ou pour requérir SSL pour tous les services, cliquez avec le bouton droit sur le serveur et cliquez sur Propriétés du dossier racine).
  4. Dans la boîte de dialogue Propriétés du dossier, activez l'option Accès Web crypté requis et cliquez sur OK.

Notez qu'une fois que le protocole HTTPS est requis pour un dossier, toute application cliente doit utiliser une URL avec https:// pour utiliser les services dans ce dossier. Si un utilisateur se connecte au serveur à l'aide d'ArcCatalog et n'utilise pas https dans l'URL, le dossier ne s'affiche pas, même si l'utilisateur est autorisé par ailleurs à accéder au dossier.

Limitation des utilisateurs qui peuvent accéder à un service

Vous pouvez utiliser le Gestionnaire ArcGIS Server pour limiter les utilisateurs qui peuvent accéder à un service par le biais de connexions Internet. Pour cela, vous devez définir un ensemble d'utilisateurs et de rôles et désigner les rôles qui doivent avoir accès aux services Internet particuliers. Lisez la rubrique Vue d'ensemble de la configuration des utilisateurs et des rôles pour savoir comment créer les utilisateurs et les rôles. Vous devez ajouter au moins un utilisateur et un rôle avec un utilisateur avant de configurer la sécurité pour les services. Vous devez également effectuer une opération supplémentaire, à savoir activer la sécurité pour les services, avant que les autorisations affectées entrent effectivement en vigueur.

La procédure permettant d'implémenter la sécurité pour les services SIG est la suivante :

  1. Configurez l'emplacement pour le stockage des utilisateurs et des rôles et ajoutez les utilisateurs et les rôles. Reportez-vous à la rubrique Vue d'ensemble de la configuration des utilisateurs et des rôles.
  2. Ajoutez des autorisations aux dossiers et/ou services. Reportez-vous à la rubrique Définition d'autorisations pour un service ou un dossier ci-dessous.
  3. Activez la sécurité pour les services. Reportez-vous à la rubrique Activation de la sécurité pour des services. tant que vous n'avez pas effectué cette opération, aucune restriction n'est appliquée à l'accès Web aux services.

Vous pouvez définir des autorisations sur des dossiers et des services. Les services inclus dans un dossier héritent des autorisations définies pour le dossier. Si vous définissez des autorisations au niveau racine, tous les services héritent de ces autorisations. Vous pouvez remplacer des autorisations héritées en supprimant des rôles hérités pour un service ou un dossier.

Tant que vous n'avez pas terminé l'étape 3 ci-dessus pour activer la sécurité pour les services, chacun est en mesure de se connecter à vos services pour lesquels l'accès Web est activé. Il est important de comprendre également qu'une fois que vous avez activé la sécurité, aucun utilisateur n'est en mesure d'accéder à aucun service à moins que (1) vous ajoutiez des autorisations pour des rôles dans le service ou le dossier et que (2) l'utilisateur se connecte avec un compte dans un rôle autorisé pour le service. Par conséquent, avant d'activer la sécurité, vous devez configurer des autorisations pour les services. En fonction de l'emplacement où les comptes utilisateur sont stockés, un rôle Anonyme peut être disponible pour permettre à chacun d'accéder aux services ou aux dossiers.

Une approche de la sécurité consisterait à affecter des autorisations larges à la racine d'un serveur, puis à limiter les autorisations sur les dossiers et les services. Un autre modèle consisterait à maintenir des autorisations limitées à la racine, puis à autoriser des rôles désignés à accéder à des dossiers ou services spécifiques.

Si un utilisateur est membre de plusieurs rôles et qu'un de ces rôles est autorisé pour le service, l'utilisateur y a accès. Le Gestionnaire n'a pas la capacité de refuser explicitement l'accès à des rôles ou des utilisateurs. Par conséquent, vous devez concevoir vos rôles avec soin pour implémenter l'accès que vous souhaitez pour les services et les dossiers.

Définition d'autorisations pour un service ou un dossier

Pour définir des autorisations relatives à qui peut accéder à un service ou à un dossier, procédez comme suit :

  1. Dans le Gestionnaire, cliquez sur l'onglet Services pour consulter la liste des services sur votre serveur. Pour définir des autorisations sur un dossier ou sur un service dans un dossier, utilisez la liste Services dans pour afficher le dossier.
  2. Ouvrez la boîte de dialogue Autorisations pour le service ou le dossier :
    • Pour des autorisations sur un dossier, cliquez sur Gérer les dossiers, puis sur Autorisations dans la liste qui s'affiche.
    • Pour des autorisations sur un service, cliquez sur l'icône Autorisations (serrure) pour le service.
  3. La boîte de dialogue Autorisations s'affiche. La liste de gauche indique les rôles disponibles et la zone de droite répertorie les rôles qui bénéficient actuellement d'une autorisation d'accès.
    • Pour autoriser un rôle à accéder aux services dans le dossier, cliquez sur le rôle dans la liste des rôles disponibles et cliquez sur le bouton Ajouter pour le placer dans la liste des rôles autorisés.
    • Pour supprimer l'accès pour un rôle, sélectionnez le rôle en cliquant dessus dans la liste des rôles autorisés et cliquez sur Supprimer. Le rôle est placé dans la liste des rôles disponibles.

      RemarqueRemarque :

      Si le rôle a été supprimé ou n'est pas présent dans le magasin de rôles actuel, il n'apparaît pas lorsque la boîte de dialogue Autorisations est rouverte.

  4. Une fois que vous avez configuré les autorisations, cliquez sur Enregistrer pour enregistrer les modifications et les appliquer au service. Cliquez sur Annuler pour abandonner toutes les modifications pour le service.

Si les rôles Tous, Utilisateurs authentifiés et Anonyme ont été ajoutés dans votre magasin d'utilisateurs, vous pouvez les ajouter dans un service ou un dossier ou les supprimer s'ils ont été hérités à partir d'un dossier parent. Lorsque le rôle Tous est autorisé, chacun peut accéder au service (ou aux services dans le dossier) qu'il fournisse un identifiant de connexion ou non. Si le rôle Tous est autorisé, il n'est pas nécessaire d'ajouter d'autres rôles à la liste des rôles autorisés. Autoriser le rôle Utilisateurs authentifiés signifie que tout utilisateur dans le magasin d'utilisateurs bénéficie d'une autorisation d'accès. Pour plus d'informations sur ces rôles spéciaux, reportez-vous à la rubrique sur la configuration des utilisateurs et des rôles pour votre fournisseur de rôles (SQL Server ou un fournisseur personnalisé). Ces rôles ne sont pas disponibles lorsqu'il s'agit de groupes Windows, étant donné que l'appartenance aux groupes doit être déterminée à partir du système d'exploitation.

Si le message ci-dessous est affiché dans la boîte de dialogue Autorisations, la sécurité n'a pas encore été activée pour les services :

"Avertissement : La sécurité des services SIG n'a pas été activée. Consultez les paramètres de sécurité pour activer la sécurité des services."

Les autorisations que vous définissez ne sont pas appliquées réellement tant que vous n'avez pas activé la sécurité. Reportez-vous à la rubrique Activation de la sécurité pour des services pour savoir comment activer la sécurité.

Les règles d'autorisations pour les services sont stockées de façon interne par ArcGIS Server. Les règles ne sont pas stockées dans l'application Web ArcGIS/Services. Les autorisations sont stockées en tant que fichiers .sec dans le dossier <emplacement d'installation d'ArcGIS>\server\user\cfg. Lorsque des autorisations ont été définies pour un dossier, le dossier contient le fichier Folder.sec. Lorsque des autorisations ont été définies pour un service, le dossier contient un fichier avec le nom correspondant au fichier .cfg du service mais avec l'extension .sec. Si aucune autorisation n'a été définie pour un dossier ou un service, aucun fichier .sec n'est présent pour ce dossier ou service. Pour plus d'informations sur le format des fichiers .sec, reportez-vous à la rubrique Fichiers de configuration de la sécurité.

Les règles d'accès ne doivent pas être définies manuellement dans l'application Web ArcGIS/Services. Dans de nombreuses applications Web ASP.NET, l'accès est contrôlé en ajoutant des règles d'autorisation dans le fichier web.config pour les applications Web. ArcGIS Server stocke à présent les règles d'autorisation de façon interne plutôt que dans le fichier web.config. Si des règles sont ajoutées dans le fichier web.config pour l'application Services, cela peut entraîner l'échec de paramètres de sécurité dans le Gestionnaire.

Pour en savoir plus sur le fonctionnement des autorisations, consultez les rubriques suivantes :

Activation de la sécurité pour des services

L'activation de la sécurité entraîne l'application des règles d'autorisation que vous avez configurées pour les connexions Internet aux services. Tant que vous n'avez pas activé la sécurité, tous les services sont ouverts à tous les utilisateurs, même si vous avez configuré des règles d'autorisation.

Avant d'activer la sécurité pour des services, vous devez configurer les règles d'autorisation que vous souhaitez appliquer pour vos services. Si vous activez la sécurité avant d'affecter des règles d'autorisation pour vos services, personne n'est en mesure d'établir de connexion Internet avec vos services.

Une fois que vous avez activé la sécurité, vous ne pouvez pas la désactiver dans le Gestionnaire. Cela permet d'éviter de compromettre par inadvertance la sécurité pour vos services. Voir ci-dessous pour plus d'informations.

La procédure ci-dessous s'applique uniquement à la sécurité des services SIG. La sécurité des applications Web est appliquée individuellement à chaque application. Reportez-vous à la rubrique Sécurisation des applications Web pour plus de détails.

Pour activer la sécurité pour les services, procédez comme suit :

  1. Définissez les règles d'autorisation de votre choix pour les services SIG. Consultez la section précédente, "Définition d'autorisations pour un service ou un dossier", pour plus de détails. Vous pouvez utiliser le rôle Tous, si vous le souhaitez, pour autoriser tous les utilisateurs à accéder à un ou plusieurs services.
  2. Dans le Gestionnaire, cliquez sur Sécurité > Paramètres. Dans Sécurité des services SIG, cliquez sur le bouton Activer. Une boîte de dialogue s'affiche avec des informations sur la configuration de la sécurité pour les services. Lisez ces informations pour vous assurer de bien comprendre les implications de l'activation de la sécurité. Si vous êtes certain d'être préparé pour l'activation de la sécurité, cliquez sur le bouton Activer la sécurité des services. Dans le cas contraire, cliquez sur Annuler.
  3. Si vous décidez de stocker les utilisateurs en tant qu'utilisateurs Windows, vous devez désactiver l'accès anonyme à l'application Services. Reportez-vous à la rubrique Désactivation de l'accès anonyme aux services Web ArcGIS dans les services Internet (IIS) pour obtenir des instructions sur la désactivation de l'accès anonyme.
  4. Testez vos services pour vous assurer que les utilisateurs inclus dans les rôles autorisés peuvent accéder aux services. Si nécessaire, ajustez les autorisations comme cela est décrit dans la section Définition d'autorisations pour un service ou un dossier.

Désactivation de la sécurité pour des services

Une fois que vous avez activé la sécurité pour des services SIG, vous ne pouvez pas utiliser le Gestionnaire pour désactiver la sécurité. Cela permet d'empêcher la désactivation accidentelle de la sécurité et d'exposer l'accès à vos services. Si vous décidez ultérieurement de désactiver la sécurité, vous pouvez le faire à l'aide de la procédure ci-dessous.

AttentionAttention :

Si vous suivez cette procédure, tout utilisateur est en mesure de se connecter à tout service SIG en utilisant une connexion Internet sans fournir d'identifiant de connexion.

  1. Ouvrez la console de gestion Services en cliquant sur Panneau de configuration > Outils d'administration > Services.
  2. Cliquez avec le bouton droit sur le service Gestionnaire des objets serveur ArcGIS et sélectionnez Arrêter.
    AttentionAttention :

    Si vous effectuez les modifications ci-dessous avant d'arrêter ArcGIS Server, vos modifications seront remplacées lors de l'arrêt d'ArcGIS Server.

  3. Utilisez un éditeur de texte (tel que le Bloc-notes) ou un éditeur XML pour ouvrir le fichier Server.dat sur votre machine SOM. Ce fichier se trouve dans votre installation d'ArcGIS Server, dans le dossier <emplacement d'installation d'ArcGIS>\server\system.
  4. Modifiez l'élément suivant, situé au sein de l'élément <Server>, de
    <SecurityEnabled>true</SecurityEnabled>
    à
    <SecurityEnabled>false</SecurityEnabled>
    Enregistrez le fichier.
  5. Utilisez un éditeur de texte ou un éditeur XML pour ouvrir le fichier web.config dans C:\Inetpub\wwwroot\ArcGIS\Services (ajustez le chemin d'accès si vous avez installé les services Web ArcGIS dans un autre emplacement).
  6. Recherchez la ligne suivante dans la section <appSettings> :
    <add key="RequireToken" value="True" />
    et remplacez-la par
    <add key="RequireToken" value="False" /> 
    Enregistrez le fichier.
  7. Répétez les deux étapes précédentes pour les fichiers web.config dans le dossier Rest et également dans le dossier Tokens, dans le répertoire C:\Inetpub\wwwroot\ArcGIS.
  8. Si la sécurité a été configurée pour des utilisateurs Windows, réactivez l'accès anonyme aux dossiers Services et Rest dans l'instance Web d'ArcGIS Server dans IIS. Reportez-vous aux instructions dans la section intitulée Désactivation de l'accès anonyme aux services Web ArcGIS dans les services Internet (IIS), sauf dans l'étape 3 des instructions, choisissez d'activer l'accès anonyme. Procédez ainsi pour les deux répertoires Services et Rest.
  9. Retournez dans la console de gestion Services, cliquez avec le bouton droit sur le service Gestionnaire des objets serveur ArcGIS et sélectionnez Démarrer.
  10. Cliquez avec le bouton droit sur Service de publication sur le Web et sélectionnez Redémarrer.

Pour réactiver la sécurité, suivez la procédure fournie dans Activation de la sécurité pour des services.

Limitation des opérations que les utilisateurs peuvent effectuer avec un service

Pour contrôler facilement la manière dont vos services Web sont utilisés, chaque type de service possède un ensemble d'opérations autorisées qui détermine les méthodes que les utilisateurs peuvent appeler. Vous pouvez autoriser toutes les opérations si vous souhaitez que les utilisateurs utilisent le service dans son intégralité ou vous pouvez désactiver certaines opérations pour empêcher les utilisateurs de faire certaines choses, comme par exemple d'interroger les données dans votre carte ou d'extraire des données de votre géodatabase.

Vous pouvez définir les opérations autorisées dans l'onglet Fonctionnalités de la boîte de dialogue Propriétés du service. Pour plus d'informations sur les méthodes incluses dans chaque opération, reportez-vous à la rubrique Optimisation et configuration des services.


3/6/2012