例: ID プロバイダとしての PingFederate とデータストアとしての Windchill DS
この例は、中央認証サーバー (CAS) および ID プロバイダ (IdP) として PingFederate、データストアとして Windchill DS を使用するシングルサインオンが ThingWorx で設定されている SSO 環境を設定する方法の詳細な手順を示しています。
次のテーブルは、この例で設定されるアプリケーションとその役割を示しています。
役割
|
アプリケーション
|
サービスプロバイダ
|
ThingWorx
|
認証サーバー
|
PingFederate
|
ID プロバイダ
|
PingFederate (Windchill DS によってサポート)
|
Windchill 12.0.1.0 では、Windchill DS がテクノロジスタックから除去されました。詳細については、 ここを参照してください。 Windchill DS の代わりに LDAP V3 を使用できます。
|
|
PTC は、この例で説明されている
PingFederate コンフィギュレーション用の自動化スクリプトを提供しています。詳細については、
中央認証サーバーとしての PingFederate の自動設定を参照してください。
次の図は、この例で説明するコンフィギュレーションを示しています。
パート A: 必要条件
• ThingWorx の新規インストールがあることを確認します。
インストール後に ThingWorx サーバーを停止します。
• Windchill DS が設定されていることを確認します。
| PingFederate のバージョンに適切な Java バージョンをインストールしてください。PingFederate マシンで、JAVA_HOME 環境変数を設定し、それに従って Java が含まれるように PATH 変数を更新します。 |
パート B: スクリプトを実行する前に
手順 1: PingFederate グローバル SSL 証明書の作成とエクスポート
1. PingFederate に管理者としてログインし、 > の順に移動します。
2. 「Create New」をクリックして、グローバル SSL 証明書を作成し、以下の操作を行います。
a. 「Common Name」フィールドで、PingFederate マシンの FQDN を指定します。
b. このページで、その他の詳細を指定し、「Next」をクリックします。
c. 「Done」をクリックし、「Save」をクリックします。
d. 「SSL Server Certificates」をクリックします。
e. 作成した SSL 証明書に対して、「Select Action」リストで「Activate Default for Runtime Server」を選択してから、「Activate Default for Admin Console」を選択します。「Save」をクリックします。
この SSL 証明書は、管理コンソールとランタイムサーバーのデフォルトとしてマークされます。
3. 「localhost」証明書に対して、以下の操作を行います。
a. 「Select Action」リストで、「Deactivate for Runtime Server」を選択してから、「Deactivate for Admin Console」を選択します。
b. 「localhost」証明書を削除し、「Save」をクリックします。
4. PingFederate グローバル SSL 証明書をエクスポートするには、以下の操作を行います。
a. 作成した証明書に対して、「Export」をクリックします。
b. 「Certificate Only」を選択し、「Next」をクリックします。
c. 「Export」をクリックします。
証明書がデフォルトの Downloads フォルダにエクスポートされます。
d. 「Done」をクリックし、「Save」をクリックします。
手順 2: PingFederate 自動コンフィギュレーションの input フォルダへの証明書ファイルの保存
自動コンフィギュレーションプロセスへの入力として、証明書が必要です。以下の証明書ファイルを自動コンフィギュレーションツールの input フォルダに保存しなければなりません。input フォルダは sso-config-pingfed-X.Y/input (ここで X.Y は PingFederate のバージョン) にあります。
◦ エクスポートした PingFederate グローバル証明書 (.crt) ファイルを Downloads フォルダにコピーします。
◦ thingworx.cer ファイルを作成して input フォルダにコピーするには、以下の操作を行います。
a. <ThingWorx インストールフォルダ>/ThingworxPlatform フォルダに ssoSecurityConfig フォルダを作成します。
b. 次のように、JKS タイプのキーストアを作成し、それに sso-keystore.jks という名前を付け、ssoSecurityConfig フォルダに保存します。
▪ キーのペアを生成します。
▪ 証明書の共通名を ThingWorx として指定します。
c. 証明書チェーンを ssoSecurityConfig フォルダにエクスポートします。
ssoSecurityConfig フォルダには以下のファイルが含まれていなければなりません。
▪ sso-keystore.jks
▪ thingworx.cer
d. thingworx.cer ファイルを sso-config-pingfed-X.Y/input フォルダにコピーします。
input フォルダには以下のファイルが含まれていなければなりません。
▪ <PingFederate からエクスポートされた SSL 証明書>.crt
▪ thingworx.cer
手順 3: user.properties ファイルの更新
手順 4: default.properties ファイルの更新
パート C: 自動化スクリプトの実行
1. PingFederate が実行されていることを確認します。
この例のコンフィギュレーションに対して、スクリプトの実行中に「1. PingFederate as IdP – LDAP」を選択します。
パート D: 生成された成果物の使用
手順 1: 成果物を ssoSecurityConfig フォルダにコピーします。
1. sso-config-pingfed-X.Y にある PingFederate 自動化コンフィギュレーションの output フォルダから以下のファイルを /ThingworxPlatform/ssoSecurityConfig フォルダにコピーします。
▪ pingfed_idp_metadata.xml
▪ pingfed_signing_certificate.crt
▪ pingfed_ssl_server_certificate.crt
2. pingfed_idp_metadata.xml を sso-idp-metadata.xml に名前変更します。
手順 2: ThingWorx キーストアへのアプリケーションレイヤー署名証明書のインポート
pingfed_signing_certificate.crt ファイルを
/ThingworxPlatform/ssoSecurityConfig フォルダ内の
sso-keystore.jks ファイルにインポートします。詳細については、
生成された成果物の使用の「
pingfed_signing_certificate.crt」のセクションを参照してください。
手順 3: トランスポートレイヤー証明書のインポート
ThingWorx SSL 証明書
1. ThingWorx SSL 証明書を PingFederate マシンの Java cacerts ファイルにインポートします。
2. PingFederate を再起動します。
PingFederate SSL 証明書
pingfed_ssl_server_certificate.crt (PingFederate SSL 証明書ファイル) を ThingWorx マシンの Java cacerts ファイルにインポートします。
詳細については、
生成された成果物の使用の「
pingfed_ssl_server_certificate.crt」のセクションを参照してください。
パート E (オプション): グループマッピングの設定
| 次に進む前に、Windchill DS で静的グループを定義していることを確認します。 |
PingFederate で以下の手順を実行します。
1. > に移動し、Instance Name を選択します。
2. 開いたページで、「Extended Contract」タブを選択します。
3. 「Extend the Contract」フィールドで、isMemberOf を追加し、「Add」をクリックします。
4. 「Next」をクリックして「Summary」ページを表示します。
5. 開いた「Summary」ページで、変更内容を確認して「Save」をクリックします。
6. > に移動し、Instance Name を選択します。
7. 開いたページで、「Extended Contract」タブを選択します。
8. 「Extend the Contract」フィールドで、isMemberOf を追加し、「Add」をクリックします。
9. 「Next」をクリックして「Adapter Attributes」ページを表示します。このページで更新を行う必要はありません。
10. 「Next」をクリックして「Adapter Contract Mapping」ページに移動し、「Configure Adapter Contract」を選択します。
11. 「Attribute Sources & User Lookup」ページで、「Add Attribute Source」をクリックします。
a. 「Data Store」ページで、次の手順を実行します。
i. 「ATTRIBUTE SOURCE ID」で、isMemberOf を追加します。
ii. 「ATTRIBUTE SOURCE DESCRIPTION」で、isMemberOf を追加します。
iii. 「ACTIVE DATA STORE」で、Windchill データストアを選択します。
iv. 「DATA STORE」では、LDAP が事前に設定されています。
v. 「Next」をクリックします。
b. 「LDAP Directory Search」ページで、次の手順を実行します。
i. 「BASE DN」で、o=ptc を追加します。
ii. 「SEARCH SCOPE」では、Subtree が事前に設定されています。
iii. 「Attributes to return from search」で、以下を選択します。
i. 「ROOT OBJECT CLASS」で、<Show All Attributes> を選択します。
ii. 「ATTRIBUTE」で、isMemberOf を選択し、「Add Attribute」をクリックします。
iii. 「Next」をクリックします。
c. 「LDAP Filter」ページで、次の手順を実行します。
i. 「Filter」で、isMemberOf=${isMemberOf} を追加します。
ii. 「Next」をクリックします。
d. 開いた「Summary」ページで、変更内容を確認して「Save」をクリックします。
12. > を開き、Connection Name を選択します。
13. 開いたページで、「Attribute Contract」を選択して「Attribute Contract」ページを開き、次の手順を実行します。
a. 「Extend the Contract」で、group を追加します。
b. 「Attribute Name Format」で、unspecified を含むオプションを選択します。
c. 「追加」をクリックします。
d. 「次へ」をクリックします。
14. 開いた「Authentication Source Mapping」ページで、Adapter Instance Name を選択します。
15. 開いた「Attribute Contract Fulfilment」ページで、手順 12 で作成した group 属性契約について次の手順を実行します。
a. 「Source」で、Adapter を選択します。
b. 「Value」で、isMemberOf を選択します。
c. 「Save」をクリックします。
| ThingWorx SSO 認証システムで必要となるので、マッピング名 (この例では group) をメモしておきます。詳細については、ThingWorx ヘルプセンターの 「シングルサインオン認証」を参照してください。 |
パート F: ThingWorx でのシングルサインオンの設定
1. ThingWorx サーバーが停止していることを確認します。
ssoSecurityConfig には以下のファイルが含まれていなければなりません。
3. ThingWorx サーバーを起動します。