Autres configurations > Configuration de ThingWorx Navigate avec un environnement Windchill en grappe
  
Configuration de ThingWorx Navigate avec un environnement Windchill en grappe
Vous pouvez utiliser ThingWorx Navigate avec un environnement Windchill configuré en grappe. Utilisez l'URL de l'équilibreur de charge pour connecter ThingWorx Navigate à Windchill. L'URL à utiliser dépend des conditions suivantes :
Configuration de ThingWorx Navigate : authentification unique ou authentification Windchill
Configuration de base deWindchill : protocole HTTP ou HTTPS
Cette rubrique contient quelques rappels de base concernant les environnements en grappe et des exemples de configurations avec ThingWorx Navigate.
* 
Certains critères de sécurité doivent être pris en compte lors de l'utilisation d'une grappe Windchill dans une configuration ThingWorx Navigate. Veillez à consulter les informations ci-dessous avant d'utiliser une configuration en grappe en production.
Diagramme de configuration de ThingWorx Navigate avec un environnement Windchill en grappe
Informations contextuelles concernant les grappes Windchill
L'utilisation d'une grappe présente des avantages, à savoir des performances, une évolutivité et une fiabilité supérieures. Une grappe se compose des éléments suivants :
Deux ou plusieurs hôtes de niveau applicatif qui sont connectés à une seule instance de base de données et qui sont gérés en amont par un routeur d'équilibrage de charge.
Routeur d'équilibrage de charge : prend en charge les demandes des clients, y compris les utilisateurs de Windchill et les utilisateurs de ThingWorx Navigate. L'équilibreur de charge distribue les demandes sur l'une des instances de Windchill. Par conséquent, les utilisateurs sont moins affectés si un serveur tombe en panne ou si le trafic est élevé.
Pour le reste du réseau, ce routeur fait figure de serveur Windchill unique. Il possède son propre nom d'hôte, et il doit toujours utiliser un protocole HTTPS.
Pour plus d'informations sur les grappes, consultez le chapitre "Installing and Configuring a Cluster Windchill Environment" du Centre d'aide Windchill.
Dans les sections ci-dessous, vous trouverez quatre exemples de configuration d'une grappe Windchill valant pour chacune des configurations d'authentification de ThingWorx Navigate. Nous vous recommandons l'utilisation d'une authentification unique pour ThingWorx Navigate ; il s'agit de la configuration la plus sécurisée. Les autres configurations nécessitent une configuration et des considérations de sécurité supplémentaires pour garantir la mise en oeuvre d'une solution de bout en bout.
ThingWorx Navigate en mode d'authentification unique avec grappe Windchill configurée en HTTPS et OAuth (recommandé)
Il s'agit de la configuration la plus sécurisée. Détails de votre configuration :
Type d'authentification ThingWorx Navigate : SSO
Protocole de l'équilibreur de charge : HTTPS
Serveurs Windchill : HTTPS et OAuth configurés L'authentification SAML est facultative.
Etant donné que Windchill est en HTTPS, il n'y a pas de terminaison du certificat SSL au niveau de l'équilibreur de charge.
Vérifiez l'URL de l'équilibreur de charge aux emplacements suivants dans ThingWorx Composer :
Pour ptc-windchill-integration-connector, l'URL de base est [https]://[LB-host]:[port]/[windchill-web-app]/oauth.
Pour ptc-windchill-integration-connector-proxy :
URL de base : [https]://[LB-host]
URL de connexion test : [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
ThingWorx Navigate en mode d'authentification unique avec grappe Windchill configurée en HTTP et OAuth
Détails de votre configuration :
Type d'authentification ThingWorx Navigate : SSO
Protocole de l'équilibreur de charge : HTTPS
Serveurs Windchill : HTTP et OAuth configurés L'authentification SAML est facultative.
Etant donné que Windchill est en HTTP, une terminaison du certificat SSL se produit au niveau de l'équilibreur de charge.
Vérifiez l'URL de l'équilibreur de charge dans ThingWorx Composer
Pour ptc-windchill-integration-connector, l'URL de base est [https]://[LB-host]:[port]/[windchill-web-app]/oauth.
Pour ptc-windchill-integration-connector-proxy :
URL de base : [https]://[LB-host]
URL de connexion test : [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
ThingWorx Navigate en mode d'authentification Windchill avec grappe Windchill configurée en HTTPS
* 
L'utilisation de certificats dans une configuration SSL bidirectionnelle garantit le cryptage et le transfert sécurisé des données. Ceci est appliqué avec une validation des deux côtés pour confirmer la connexion et la communication entre ThingWorx/ThingWorx Navigate et Windchill.
Etant donné que seul Windchill est pris en charge en tant que fournisseur d'identité, le partage des informations d'identification est limité à ThingWorx et Windchill.
Détails de votre configuration :
Type d'authentification ThingWorx Navigate : authentification Windchill avec SSL bidirectionnel
Protocole de l'équilibreur de charge : HTTPS
Type d'équilibreur de charge : couche 4
Serveurs Windchill : HTTPS et SSL bidirectionnel configurés
Etant donné que Windchill est en HTTPS, il n'y a pas de terminaison du certificat SSL au niveau de l'équilibreur de charge.
Vérifiez l'URL de l'équilibreur de charge dans ThingWorx Composer Pour ptc-windchill-connector et ptc-windchill-connector-proxy, il s'agit du format approprié :
https://<loadbalancer_host>:port>/Windchill/sslClientAuth
* 
Seul un équilibreur de charge fonctionnant sur OSI Layer 4 peut prendre en charge cette configuration.
Si vous utilisez un équilibreur de charge fonctionnant sur OSI Layer 7, vous devez utiliser l'authentification Windchill avec la configuration d'hôte approuvé décrite ci-dessous.
ThingWorx Navigate en mode d'authentification Windchill avec grappe Windchill configurée en HTTP
* 
Cette configuration alternative n'est pas recommandée et ne doit être utilisée qu'à des fins de démonstration et d'étude de faisabilité. La configuration connecte ThingWorx Navigate et Windchill sans authentification unique ni SSL. En revanche, la propriété d'hôte approuvé est configurée.
L'utilisation d'un hôte approuvé ouvre la connexion entre la plate-forme ThingWorx et Windchill pour autoriser toutes les communications utilisant l'adresse IP de l'hôte approuvé identifié. Ceci ajoute un risque d'attaques MIM (Man in the Middle). Les informations sensibles sont exposées sur cette connexion.
En outre, même si votre système se trouve derrière un pare-feu, il existe un risque d'attaques internes et d'erreurs de configuration réseau. Si un assaillant franchit l'une de ces limites du réseau, il a une visibilité directe sur les informations non chiffrées disponibles en partage. Cela fait peser un risque sur le produit Windchill existant et sur la configuration de ThingWorx Navigate.
Il vous incombe de déterminer si vous êtes prêt à accepter le risque d'utiliser cette installation. PTC ne recommande pas cette configuration ni n'assume la responsabilité de toute violation de sécurité ou d'attaques sur des systèmes configurés à l'aide de l'option d'hôte approuvé.
Détails de votre configuration :
Type d'authentification ThingWorx Navigate : authentification Windchill
Protocole de l'équilibreur de charge : HTTPS
Serveurs Windchill : HTTP et propriété trustedHost configurés Les instructions pour la configuration de cette propriété sont fournies ci-après.
Etant donné que Windchill est en HTTP, une terminaison du certificat SSL se produit au niveau de l'équilibreur de charge.
Outre les étapes ci-dessous, assurez-vous d'effectuer les étapes requises de la section "Compléter la configuration Windchill en grappe" à la fin de la rubrique Configuration de ThingWorx Navigate avec l'authentification Windchill.
Dans l'outil ThingWorx Navigate Configuration, fournissez cette URL dans le champ disponible pour Windchill :
https://<loadbalancer_host>:port>/Windchill/trustedAuth
En outre, plusieurs étapes manuelles doivent être réalisées côté Windchill. Vous devez déclarer les adresses IP du serveur ThingWorx et de l'équilibreur de charge en tant qu'hôtes approuvés. De cette manière, vous protégez la connexion ThingWorx Navigate à Windchill à l'aide de l'équilibreur de charge.
Cela améliore également la sécurité en empêchant les hôtes client non approuvés d'atteindre le modèle d'URL Windchill/trustedAuth/ via l'équilibreur de charge.
Procédez comme suit côté Windchill :
1. Arrêtez le serveur de méthodes Windchill.
2. Accédez au fichier WT_HOME/codebase/WEB-INF/web.xml, puis ouvrez-le dans un éditeur de texte.
3. Accédez aux sections TrustedSSLAuthFilter et TrustedAuthFilter, puis ajoutez le paramètre clientHostHeader comme suit, dans les deux sections. Par exemple :
<filter>
<description>Filter allowing a trusted SSL certificate to specify the remote user for the request</description>
<filter-name>TrustedSSLAuthFilter</filter-name>
<filter-class>wt.httpgw.filter.TrustedAuthFilter</filter-class>
<init-param>
<param-name>trustTrustedHosts</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>clientHostHeader</param-name>
<param-value>X-Forwarded-For</param-value>
</init-param>
</filter>
<filter>
<description>Filter allowing a trusted client to specify the remote user for the request</description>
<filter-name>TrustedAuthFilter</filter-name>
<filter-class>wt.httpgw.filter.TrustedAuthFilter</filter-class>
<init-param>
<param-name>clientHostHeader</param-name>
<param-value>X-Forwarded-For</param-value>
</init-param>
</filter>
4. Ajoutez le paramètre TrustedHostFilter dans le même fichier. Par exemple :
<filter>
<description>Filter allowing a trusted client to specify the remote user for the request</description>
<filter-name>TrustedHostFilter</filter-name>
<filter-class>wt.servlet.TrustedHostFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TrustedHostFilter</filter-name>
<url-pattern>/trustedAuth/*</url-pattern>
</filter-mapping>
5. Enregistrez, puis fermez web.xml.
6. A présent, ouvrez la commande shell Windchill dans une invite de commande.
7. Si wt.auth.trustedHosts n'est pas déjà ajouté, ajoutez la propriété ci-dessous à xconf.properties :
<Property name="wt.auth.trustedHosts" overridable="true"
targetFile="codebase/wt.properties"
value="<TWXHost_IP> <LBHost_IP>">
TWXHost est le nom d'hôte de ThingWorx et LBHost est le nom d'hôte de l'équilibreur de charge.
8. Exécutez xconfmanager -p.
9. Si wt.auth.trustedHosts n'est pas défini dans le fichier wt.properties, définissez la propriété à l'aide de la commande xconfmanager suivante. Vous pouvez également l'ajouter directement dans wtproperties :
xconfmanager --set wt.auth.trustedHosts==<TWXHost_IP> <LBHost_IP> -t codebase/wt.properties -p
TWXHost est le nom d'hôte de ThingWorx et LBHost est le nom d'hôte de l'équilibreur de charge.
10. Démarrez le serveur de méthodes Windchill.
Windchill est désormais configuré avec la propriété trustedHost.
* 
Si vous avez besoin d'aide pour utiliser xconfmanager, consultez la rubrique "Utilisation de l'utilitaire xconfmanager" du Centre d'aide Windchill.