Sécurisation de l'URL d'administration du service ArcGIS Spatial Data Server dans Apache Tomcat

Vous pouvez modifier les fichiers Apache Tomcat suivants : server.xml, tomcat-users.xml et web.xml pour permettre à certains utilisateurs de gérer et d'afficher des services par le biais des URL d'ArcGIS Spatial Data Server.

AstuceAstuce:

En outre, vous devez toujours utiliser des connexions ou SSL (Secure Sockets Layer) dans vos sites dans des environnements de production. Pour plus d'informations sur cette configuration, consultez votre documentation d'Apache Tomcat.

Sachez que vous ne pouvez pas filtrer le catalogue des services exécutés sur un site de serveur de données spatiales par utilisateurs et par rôles. Ainsi, toute personne consultant le catalogue peut voir la totalité des services.

Si vous configurez l'authentification Tomcat pour votre site, une boîte de dialogue s'affiche lorsque les utilisateurs accèdent pour la première fois à l'URL d'administration d'une instance de serveur de données spatiales sécurisée ou à une URL de service sécurisée. Ils doivent alors entrer un nom d'utilisateur et un mot de passe pour accéder au serveur. Lorsqu'ils ont entré les informations d'identification appropriées, ils peuvent accéder à toutes les URL pendant la session Web.

Vous pouvez définir différentes méthodes d'authentification pour Tomcat à l'aide de balises auth-method dans le fichier web.xml. Pour plus d'informations sur la mise en œuvre de ces méthodes, consultez la documentation de Tomcat.

Modification du fichier server.xml

Ajoutez un composant imbriqué dans un domaine dans un conteneur Engine, Host ou Context au fichier $CATALINA_HOME/conf/server.xml pour activer un domaine de sécurité dans votre instance Tomcat.

Dans cet exemple; le domaine Tomcat par défaut est activé à l'aide d'un MemoryRealm :

<Realm className="org.apache.catalina.realm.MemoryRealm" />

MemoryRealm doit être utilisé uniquement pour les applications Web de développement. Vous pouvez utiliser d'autres implémentations de Realm pour les applications Web de production. Pour plus d'informations sur la configuration d'un domaine, consultez votre documentation d'Apache Tomcat.

Modification du fichier tomcat-users.xml

Ajoutez des entrées pour déclarer les rôles et les utilisateurs qui doivent y participer.

Dans l'exemple suivant, deux rôles et trois utilisateurs sont définis. Les rôles leur sont attribués :

<role rolename="tomcat"/>
 <role rolename="role1"/>
 <user username="tomcatu" password="TCyoosir" roles="tomcat"/>
 <user username="superu" password="2$3cr3t" roles="tomcat,role1"/>
 <user username="user1" password="Y00zR0n3" roles="role1"/>

Modification du fichier web.xml

ArcGIS 10.1 Spatial Data Server for Java est installé en tant qu'archive d'application Web (war) - arcgis.war - qui est un fichier d'archive Java (.jar) utilisé pour distribuer une collection de JavaServer Pages, Servlets Java, classes Java, fichiers XML, pages Web HTML statique et autres fichiers qui, ensemble, constituent une application Web.

Le fichier web.xml fait partie du fichier arcgis.war. Pour le modifier, vous devez extraire le fichier war, modifier le fichier web.xml, puis réempaqueter le fichier war. Installez le JDK pour pouvoir extraire et réempaqueter le fichier war.

Etapes :
  1. Effectuez une copie de sauvegarde du fichier arcgis.war.

    Enregistrez la copie de sauvegarde dans un répertoire en-dehors de $CATALINA_HOME.

  2. Extrayez (décompressez) le fichier arcgis.war.
  3. Ajoutez un élément security-constraint et ses sous-éléments au fichier web.xml.

    Dans l'exemple suivant, les utilisateurs qui accèdent à l'URL /admin/* du serveur de données spatiales seront invités à fournir un nom d'utilisateur et un mot de passe. L'utilisateur doit fournir les informations d'identification de l'un des deux utilisateurs ajoutés au rôle tomcat dans le fichier tomcat-users.xml. Le nom d'utilisateur et le mot de passe de l'utilisateur tomcatu ou superu doivent être saisis lors de la création d'une connexion d'administration ou de publication d'ArcGIS for Desktop au serveur de données spatiales.

    <security-constraint>
       <display-name>Restricted GET and POST To tomcat users of ADMIN</display-name>
       <web-resource-collection>
          <web-resource-name>Restricted Access - Get Only</web-resource-name>
          <url-pattern>/admin/*</url-pattern>
          <http-method>GET</http-method>
    	<http-method>POST</http-method>
       </web-resource-collection>
       <auth-constraint>
          <role-name>tomcat</role-name>
       </auth-constraint>
       <user-data-constraint>
          <transport-guarantee>NONE</transport-guarantee>
       </user-data-constraint>
    </security-constraint>
     <login-config>
      <auth-method>DIGEST</auth-method>
      <realm-name>default</realm-name>
    </login-config>
    

    Dans l'exemple précédent, la méthode d'authentification DIGEST a été spécifiée avec les composants imbriqués <auth-method>. Il est également possible d'utiliser les méthodes d'authentification BASIC et FORM avec ce sous-élément, mais elles envoient les mots de passe en texte brut.

  4. Enregistrez et fermez le fichier web.xml.
  5. Réempaquetez le fichier arcgis.war.

    Le fichier doit s'intituler arcgis.war.

Redémarrage de Tomcat

Lorsque vous avez modifié tous les fichiers xml, effectuez les opérations suivantes :

Etapes :
  1. Arrêtez le serveur Tomcat.
  2. Supprimez les fichiers mis en cache du serveur Tomcat.

    Il se trouvent dans $CATALINA_HOME/work ou $CATALINA_HOME/temp. Vous pouvez supprimer tout ce qui figure sous ces répertoires.

  3. Copiez le fichier arcgis.war modifié dans le répertoire $CATALINA_HOME/webapps/.
  4. Redémarrez Tomcat.
9/13/2013