Configuration de la sécurité dans web.config pour le serveur de données spatiales ArcGIS pour IIS

Si des utilisateurs authentifiés sous Windows accèdent à vos services de serveur de données spatiales ArcGIS pour IIS par le biais d'un intranet, vous pouvez sécuriser le serveur de données spatiales en configurant le fichier web.config qui figure dans le dossier REST du répertoire d'installation de votre serveur de données spatiales ArcGIS pour IIS.

Pour ce faire, vous devez d'abord activer les services de rôle IIS et l'authentification Windows ou de base. Ajoutez ensuite au fichier web.config les éléments d'emplacement qui contiennent un élément d'autorisation, en tant qu'enfant de l'élément de configuration.

Activation des services de rôle IIS

Avant d'ajouter l'élément d'emplacement au fichier web.config pour contrôler l'accès à votre service, vous devez activer le service de rôle IIS d'autorisation d'URL, ainsi que le service de rôle IIS d'authentification Windows ou de base.

Les services de rôle sont activés à partir du gestionnaire de serveur. Vous devez vous connecter au serveur en tant que membre du groupe d’administrateurs Windows pour modifier les paramètres dans le gestionnaire de serveur.

Etapes :
  1. Lancez le gestionnaire de serveur.

    Démarrer > Outils d'administration > Gestionnaire de serveur > Rôles

    La boîte de dialogue Gestionnaire de serveur s'ouvre.

  2. Accédez à la section Serveur Web (IIS) et cliquez sur Ajouter des services de rôle.
  3. Sous Sécurité, cochez la case Autorisation d'URL.
  4. Cochez la case Authentification Windows ou, si vous comptez utiliser la certification SSL, sélectionnez Authentification de base.
  5. Cliquez sur Suivant.
  6. Passez en revue les paramètres et s'ils sont corrects, cliquez sur Installer.
  7. Cliquez sur Fermer.
  8. Fermez le gestionnaire de serveur.

Activation de l'authentification Windows ou de base

Maintenant que vous avez ajouté le service de rôle d'authentification Windows ou de base, vous pouvez l'activer dans le gestionnaire des services Internet (IIS). Vous devez vous connecter au serveur en tant que membre du groupe d’administrateurs Windows pour modifier les paramètres dans le gestionnaire des services Internet (IIS).

Etapes :
  1. Lancez le gestionnaire des services Internet (IIS).

    Démarrer > Outils d'administration > Services Internet (IIS)

    Le Gestionnaire des services Internet (IIS) s'ouvre.

  2. Connectez-vous au serveur à partir du gestionnaire.
  3. Dans l'affichage des fonctionnalités d'IIS, double-cliquez sur Authentification.

    Le volet Authentification s'ouvre.

  4. Dans Authentification, choisissez Authentification Windows ou Authentification de base et sous Actions, cliquez sur Activer

    Si vous comptez utiliser l'authentification de base, n'oubliez pas d'activer SSL pour que les informations d'identification soient cryptées.

  5. Cliquez sur Fichier > Quitter pour fermer le gestionnaire des services Internet (IIS).

Configuration de l'élément d'emplacement dans le fichier web.config

Vous pouvez ajouter des éléments d'emplacement au fichier web.config pour contrôler l'accès aux services. L'élément d'emplacement peut se présenter comme suit :

<location path="path">
    <system.webServer>
      <security>
        <authorization>
          <remove users="" roles="" verbs="" />
          <add accessType="Allow" 
               users="allowedUsers" 	
               roles="allowedRoles" />
        </authorization>
      </security>
    </system.webServer>
  </location>

Modifiez les valeurs des éléments enfant suivants de l'élément d'emplacement :

Ajoutez l'élément d'emplacement en tant qu'élément enfant de l'élément de configuration. Il existe de nombreux éléments enfant directs de l'élément de configuration, mais vous pouvez ajouter l'élément d'emplacement n'importe où après ou au même niveau que l'élément configSections.

Exemple 1 : sécurisation des requêtes admin

Dans l'exemple d'élément d'emplacement suivant, les paramètres d'autorisation IIS par défaut du fichier web.config sont supprimés et une règle d'autorisation est configurée pour autoriser uniquement les utilisateurs du groupe d'administrateurs Windows à accéder au contenu de l'extrémité admin.

<configuration>
  <location path="admin">
    <system.webServer>
      <security>
        <authorization>
          <remove users="*" roles="" verbs="" />
          <add accessType="Allow" 
               users="" 
               roles="Administrators" />
        </authorization>
      </security>
    </system.webServer>
  </location>
</configuration>

Exemple 2 : autoriser un rôle et un utilisateur spécifiques à accéder à tous les services

Dans cet exemple d'élément d'emplacement, les paramètres d'autorisation IIS par défaut du fichier web.config sont remplacés par une règle d'autorisation pour autoriser le groupe svcsusers et l'utilisateur Windows svcmgr à accéder à tous les services du serveur de données spatiales :

<configuration>
  <location path="rest/services">
   <system.webServer>
      <security>
        <authorization>
          <remove users="*" roles="" verbs="" />
          <add accessType="Allow" 
               users="mydomain\svcmgr" 
               roles="svcsusers" />
        </authorization>
      </security>
    </system.webServer>
  </location>
</configuration>

Exemple 3 : autoriser un rôle à accéder à un service spécifique

Pour autoriser un rôle à accéder un service spécifique, ajoutez un élément d'emplacement au fichier web.config qui s'applique à un service et accorde une autorisation au rôle spécifié. Dans cet exemple, seuls les membres du rôle "meteorologists" (météorologistes) peuvent accéder au service météo :

<configuration>
  <location path="rest/services/weather/FeatureServer">
    <system.webServer>
      <security>
        <authorization>
          <remove users="*" roles="" verbs="" />
          <add accessType="Allow" 
               roles="meteorologists" />
        </authorization>
      </security>
    </system.webServer>
  </location>
</configuration>

Exemple 4 : autoriser plusieurs rôles à accéder à un service spécifique

Pour permettre à plusieurs rôles d'accéder à un service spécifique, ajoutez un élément d'emplacement au fichier web.config qui s'applique à un service et accorde une autorisation à plusieurs rôles. Dans cet exemple, les membres des rôles "planners, contractors, developers" (planificateurs, prestataires et développeurs) peuvent accéder au service d'occupation des sols :

<configuration>
  <location path="rest/services/landuse/FeatureServer">
    <system.webServer>
      <security>
        <authorization>
          <remove users="*" roles="" verbs="" />
          <add accessType="Allow" 
               roles="planners,contractors,developers" />
        </authorization>
      </security>
    </system.webServer>
  </location>
</configuration>

9/13/2013