クラスタ化された Windchill 環境での ThingWorx Navigate の設定
クラスタ化された Windchill 環境で ThingWorx Navigate を使用できます。ロードバランサーの URL を使用して、ThingWorx Navigate を Windchill に接続します。使用する URL は、次の条件によって異なります。
• ThingWorx Navigate の設定 - シングルサインオンまたは Windchill 認証
• Windchill 基本設定 - HTTP または HTTPS プロトコル
このトピックでは、クラスタ化された環境と ThingWorx Navigate によるコンフィギュレーションの例に関する基本的な事項を再確認します。
|
ThingWorx Navigate コンフィギュレーションで Windchill クラスタを使用する場合は、考慮の必要があるセキュリティ要素が存在します。本番環境でクラスタ設定を使用する前に、以下の詳細を必ず確認してください。
|
Windchill クラスタで設定されている ThingWorx Navigate の図
Windchill クラスタ: 概要
クラスタを使用する主な利点は、パフォーマンス、スケーラビリティ、および信頼性の向上です。クラスタには次のコンポーネントがあります。
• データベースインスタンスに接続され、負荷分散ルータによって管理されている複数のアプリケーション層ホスト。
• 負荷分散ルータ - Windchill ユーザーおよび ThingWorx Navigate ユーザーを含むクライアントからのリクエストを受け取ります。ロードバランサーにより、リクエストが Windchill インスタンスのうちの 1 つに分散されます。その結果、サーバーがクラッシュしたりトラフィックが多い場合、ユーザーへの影響が少なくなります。
周囲のネットワークからは、このルータが 1 台の Windchill サーバーのように見えます。これには独自のホスト名があり、常に HTTPS プロトコルを使用する必要があります。
クラスタの詳細については、
Windchill ヘルプセンターの「クラスタ Windchill 環境のインストールと設定」の章を参照してください。
次のセクションでは、ThingWorx Navigate の各認証コンフィギュレーションに対して Windchill クラスタを設定する方法について、4 つの例を示します。ThingWorx Navigate に対してシングルサインオンをお勧めします。これは、最も安全な設定です。その他のコンフィギュレーションでは、エンドツーエンドのソリューションが設定されていることを確認するための、追加の設定とセキュリティに関する考慮事項が必要です。
HTTPS と OAuth で設定された Windchill クラスタとの ThingWorx Navigate シングルサインオン (推奨)
これは最も安全なセットアップです。コンフィギュレーションの詳細は以下に従います。
• ThingWorx Navigate 認証タイプ — SSO
• ロードバランサーのプロトコル — HTTPS
• Windchill サーバー - HTTPS と OAuth が設定されています。SAML 認証はオプションです。
Windchill が HTTPS であるため、ロードバランサーで SSL 証明書の終了は発生しません。
ThingWorx Composer の次の場所でロードバランサーの URL を確認します。
ptc-windchill-integration-connector の場合、「ベース URL」は [https]://[LB-host]:[port]/[windchill-web-app]/oauth です。
ptc-windchill-integration-connector-proxy の場合:
• 「ベース URL」 - [https]://[LB-host]
• 「テスト接続 URL」 - [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
HTTP と OAuth で設定された Windchill クラスタとの ThingWorx Navigate シングルサインオン
コンフィギュレーションの詳細は以下に従います。
• ThingWorx Navigate 認証タイプ — SSO
• ロードバランサーのプロトコル — HTTPS
• Windchill サーバー - HTTP と OAuth が設定されています。SAML 認証はオプションです。
Windchill が HTTP であるため、ロードバランサーで SSL 証明書の終了が発生します。
ThingWorx Composer のロードバランサーの URL を確認します。
ptc-windchill-integration-connector の場合、「ベース URL」は [https]://[LB-host]:[port]/[windchill-web-app]/oauth です。
ptc-windchill-integration-connector-proxy の場合:
• 「ベース URL」 - [https]://[LB-host]
• 「テスト接続 URL」 - [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
HTTPS で設定された Windchill クラスタを使用した、Windchill 認証での ThingWorx Navigate
| 双方向の SSL 設定で証明書を使用すると、暗号化と安全なデータ転送が保証されます。これは、ThingWorx/ThingWorx Navigate と Windchill との間の接続と通信を確認するために、両側の検証で実施されます。 ID プロバイダとして Windchill のみがサポートされているため、資格情報の共有は ThingWorx と Windchill のみに制限されます。 |
コンフィギュレーションの詳細は以下に従います。
• ThingWorx Navigate 認証タイプ - 双方向 SSL による Windchill 認証
• ロードバランサーのプロトコル — HTTPS
• ロードバランサーのタイプ - レイヤー 4
• Windchill サーバー - HTTPS および双方向 SSL が設定されています
Windchill が HTTPS であるため、ロードバランサーで SSL 証明書の終了は発生しません。
ThingWorx Composer のロードバランサーの URL を確認します。ptc-windchill-connector と ptc-windchill-connector-proxy の場合、これが正しいフォーマットです。
https://<loadbalancer_host>:port>/Windchill/sslClientAuth
| このコンフィギュレーションでは、OSI レイヤー 4 で動作するロードバランサーのみをサポートできます。 OSI レイヤー 7 で動作するロードバランサーを使用している場合、次に示すように、トラステッドホスト設定による Windchill 認証を使用する必要があります。 |
HTTP で設定された Windchill クラスタを使用した、Windchill 認証での ThingWorx Navigate
| この代替設定は推奨されていません。デモや概念実証の目的でのみ使用するようにしてください。この設定では、SSO または SSL を使用せずに、ThingWorx Navigate および Windchill に接続します。代わりに、トラステッドホストのプロパティを設定します。 トラステッドホストを使用すると、ThingWorx と Windchill の間の接続が開かれ、識別されたトラステッドホストの IP アドレスからのすべての通信が可能になります。これは、介入者 (MIM) 攻撃のリスクを高めます。この接続を介して機密情報が公開されます。 さらに、お使いのシステムがファイアウォールの背後にある場合でも、内部攻撃とネットワークの設定ミスによるリスクは存在します。これらのネットワーク境界のいずれかを侵害した攻撃者は、暗号化されていない共有の情報を直接表示できるようになります。これは、既存の Windchill 製品と ThingWorx Navigate のコンフィギュレーションに追加リスクをもたらします。 この設定の使用によるリスクを受け入れるかどうかの判断は、各自の責任で行ってください。PTC はこの設定を推奨しておらず、さらに PTC は、トラステッドホストオプションを使用して設定されたシステム上のセキュリティ違反または攻撃に対する一切の責任を負いません。 |
コンフィギュレーションの詳細は以下に従います。
• ThingWorx Navigate 認証タイプ - Windchill 認証
• ロードバランサーのプロトコル — HTTPS
• Windchill サーバー - HTTP と trustedHost プロパティが設定されています。このプロパティを設定する手順は以下のとおりです。
Windchill が HTTP であるため、ロードバランサーで SSL 証明書の終了が発生します。
• Windchill からデータをフェッチし、Windchill と ThingWorx Navigate の間の接続を確立するための追加の手順。
「ThingWorx Navigate コンフィギュレーション」ツールで、Windchill のフィールドに次の URL を入力します:
https://<loadbalancer_host>:port>/Windchill/trustedAuth
さらに、Windchill 側で実行する複数の手動による手順があります。ThingWorx サーバーの IP アドレスと信頼されたホストとしてのロードバランサーを確立する必要があります。このようにして、ロードバランサーを使用して、Windchill への ThingWorx Navigate の接続を保護します。
これにより、信頼されていないクライアントホストがロードバランサーを通じて Windchill /trustedAuth/ URL パターンに到達するのを防ぐことで、セキュリティも向上します。
Windchill 側で次の手順を実行します。
1. Windchill メソッドサーバーを停止します。
2. WT_HOME/codebase/WEB-INF/web.xml に移動して、テキストエディタでこれを開きます。
3. TrustedSSLAuthFilter および TrustedAuthFilter のセクションを見つけて、次のようにパラメータ clientHostHeader を両方のセクションに追加します。以下に例を示します。
<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. 同じファイルにパラメータ TrustedHostFilter を追加します。以下に例を示します。
<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. web.xml を保存して閉じます。
6. 次に、コマンドプロンプトで Windchill シェルを開きます。
7. wt.auth.trustedHosts がまだ追加されていない場合、次のプロパティを xconf.properties に追加します。
<Property name="wt.auth.trustedHosts" overridable="true"
targetFile="codebase/wt.properties"
value="<TWXHost_IP> <LBHost_IP>">
TWXHost は ThingWorx のホスト名で、LBHost はロードバランサーのホスト名です。
8. xconfmanager -p を実行します。
9. wt.auth.trustedHosts が wt.properties ファイルで設定されていない場合、次の xconfmanager コマンドを使用してプロパティを設定します。または、wtproperties に直接追加します。
xconfmanager --set wt.auth.trustedHosts==<TWXHost_IP> <LBHost_IP> -t codebase/wt.properties -p
TWXHost は ThingWorx のホスト名で、LBHost はロードバランサーのホスト名です。
10. Windchill メソッドサーバーを起動します。
これで、Windchill が trustedHost プロパティで設定されました。
Windchill の trustedAuth オプションを使用する必要がありますが、このためにはコネクタおよびコネクタプロキシ設定でいくつかの更新が必要になります。
1. ThingWorx Composer で ptc-windchill-connector を開きます。
2. 「コンフィギュレーション」をクリックし、「ベース URL」に次の URL を入力します。
[https]://[LB-host]:[port]/[windchill-web-app]/trustedAuth
3. 「保存」をクリックします。
4. ptc-windchill-connector-proxy を開き、「コンフィギュレーション」をクリックします。
5. 「テスト接続 URL」に、次の URL を入力します。
[https]://[LB-host]:[port]/[windchill-web-app]/trustedAuth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
6. 「保存」をクリックします。
Windchill クラスタ設定が完了しました。