中央認証サーバーとしての PingFederate > SSO コンフィギュレーションの例 > 例: 中央認証サーバーとして PingFederate、ID プロバイダとして AD FS、ユーザープロビジョニングの方法として SCIM、リソースサーバーとして Windchill を使用した SSO の実装
例: 中央認証サーバーとして PingFederate、ID プロバイダとして AD FS、ユーザープロビジョニングの方法として SCIM、リソースサーバーとして Windchill を使用した SSO の実装
この例は、中央認証サーバー (CAS) として PingFederate、ID プロバイダ (IdP) として Active Directory フェデレーションサービス (AD FS)、リソースサーバーとして Windchill を使用するシングルサインオンが ThingWorx で設定されている環境を設定する方法の詳細な手順を示しています。
次のテーブルは、この例で設定されるアプリケーションとその役割を示しています。
役割
アプリケーション
サービスプロバイダ
ThingWorx
中央認証サーバー
PingFederate
ID プロバイダ
AD FS
リソースサーバー
Windchill
次の図は、この例で説明するコンフィギュレーションを示しています。
このアーキテクチャを使用した SSO 実装の概要については、アーティクル CS271789 のビデオをご覧ください。
SSO の実装を開始する前に、PingFederate を使用した ThingWorx Navigate と Windchill のデプロイプロセスにおける重要な決定点を示した以下の決定木を確認してください。このチャートでは、最良事例、ユーザビリティ、一般的なユースケースに基づいて推奨されるパスが示されています。
* 
このチャートには示されていない IdP と LDAP の組み合わせもあります。たとえば、Windows ホスト上の Microsoft Active Directory と Linux ホスト上の ThingWorx と Windchill を組み合わせて使用できますが、このシナリオは一般的ではなく、推奨されていません。
Shibboleth SP を使用して Windchill に SSO を実装するには、11.0 M020 以降が必要です。
SSO 決定木
パート A: 必要条件 
1. 現在の環境で使用されているマシンの hosts ファイルを次のように更新します。
PingFederate マシン - AD FS、ThingWorx、および PingFederate マシンを追加します。
ThingWorx マシン - AD FS、ThingWorx、および PingFederate マシンを追加します。
Windchill マシン - ThingWorx および PingFederate マシンを追加します。
2. ThingWorx をインストールします。詳細については、ThingWorx ヘルプセンターを参照してください。
ThingWorx サーバーを停止します。
* 
ThingWorx がクロスドメイン環境で動作できるように Tomcat をアップデートおよび設定してください。詳細については、このアーティクルを参照してください。
3. PingFederateインストールするか、ThingWorx でサポートされている最新のパッチにアップグレードします。
4. Windchill が設定されていることを確認します。詳細については、Windchill ヘルプセンターを参照してください。
5. AD FS を設定し、以下の属性値とファイルがあることを確認します。
uid
email
group
メタデータファイル
署名証明書
パート B: AD FS 用認証の手動設定 
手順 1: PingFederate グローバル SSL 証明書の作成
1. PingFederate に管理者としてログインします。「SSL Server Certificates」をサーチし、サーチ結果を開きます。
2. 「Create New」をクリックして、グローバル SSL 証明書を作成し、以下の操作を行います。
a. 「Common Name」フィールドで、PingFederate マシンの FQDN を指定します。
b. このページで、その他の詳細を指定し、「Next」をクリックします。
c. 以下のチェックボックスがオンになっていることを確認し、「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」をクリックします。
手順 2: サービスプロバイダ契約の作成
1. PingFederate で、「Policy Contract」をサーチし、サーチ結果を開きます。
2. 「Create New Contracts」をクリックし、以下の操作を行います。
a. 「Contract Info」フィールドに契約名を入力し (ここでは SPContract と入力)、「Next」をクリックします。
b. 「Contract Attributes」で、以下の属性の契約を延長するため、属性ごとに「Add」をクリックします。
uid
email
group
デフォルトでは、subject 属性が存在します。
c. 「Next」をクリックし、「Summary」ページで「Save」をクリックします。
d. 「Authentication Policy Contracts」ページで、「Save」をクリックします。
手順 3: AD FS FederationMetadata.xml ファイルのダウンロード
1. AD FS マシンのブラウザで、次の URL を入力してフェデレーションメタデータファイルをダウンロードします。
https://<ADSF ホスト>.<ADFS ドメイン>/FederationMetadata/2007-06/FederationMetadata.xml
2. ダウンロードしたファイルを PingFederate マシンにコピーします。
手順 4: PingFederate IdP 接続の作成
A) IdP 接続を作成するための一般情報の指定
1. PingFederate で、「IdP Connections」をサーチし、サーチ結果を開きます。「Create Connection」をクリックします。
2. 「Connection Type」タブで、「BROWSER SSO Profiles」チェックボックスをオンにし、「Next」をクリックします。
3. 「Connection Options」タブで、「BROWSER SSO」チェックボックスと「OAUTH ATTRIBUTE MAPPING」チェックボックスをオンにし、「Next」をクリックします。
4. 「Import Metadata」タブで、「File」を選択し、「Choose File」をクリックして FederationMetadata.xml ファイルをブラウズし、「Next」をクリックします。
5. 「Metadata Summary」タブで、「Next」をクリックします。
6. 「General Info」タブには事前にデータが取り込まれています。必要に応じて、「CONNECTION NAME」を変更します。残りの情報を検証し、「Next」をクリックします。
7. 「Browser SSO」タブで、「Configure Browser SSO」をクリックします。「Browser SSO」ページが開き、ここでブラウザのシングルサインオンの設定を行う必要があります。
B) ブラウザ SSO の設定
1. 「Browser SSO」ページの「SAML Profiles」タブで、以下のオプションを選択し、「Next」をクリックします。
IDP-INITIATED SSO
SP-INITIATED SSO
2. 「User-Session Creation」タブで、「Configure User-Session Creation」をクリックします。「User-Session Creation」ページが開き、ここでユーザー作成の設定を行う必要があります。
C) ユーザーセッション作成の設定
1. 「Identity Mapping」タブで、デフォルト設定をそのまま使用し、「Next」をクリックします。
2. 「Attribute Contract」タブで、自動入力属性を検証し、「Next」をクリックします。
3. 「Target Session Mapping」タブで、「Map New Authentication Policy」をクリックします。「Authentication Policy Mapping」ページが開き、ここで認証ポリシーマッピングの設定を行う必要があります。
D) 認証ポリシーマッピングの設定
1. 「Authentication Policy Contract」リストで、パート B - 手順 2で作成した契約 SPContract を選択します。すべての属性が表示されていることを検証し、「Next」をクリックします。
2. 「Attribute Retrieval」タブで、デフォルト設定をそのまま使用し、「Next」をクリックします。
3. 「Contract Fulfillment」タブで、以下のように「email」「group」「subject」、および「uid」認証ポリシー契約の値を選択します。
「Source」リストで、「Assertion」を選択します。
「Value」リストで、対応するエントリを選択します。
「Next」をクリックします。
4. 「Issuance Criteria」タブで、「Next」をクリックします。
5. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「User-Session Creation」ページが開き、ここでユーザーセッション作成のコンフィギュレーション設定をレビューする必要があります。
E) ユーザーセッション作成コンフィギュレーション設定のレビュー
1. 「User-Session Creation」ページの「Target Session Mapping」タブには、新しい認証ポリシーのマッピング中に選択した情報が表示されます。「Next」をクリックします。
2. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Browser SSO」ページが開きます。
3. 「Browser SSO」ページの「User-Session Creation」タブには、ユーザーセッション作成の設定中に入力した情報が表示されます。「Next」をクリックします。
4. 「OAuth Attribute Mapping」タブで、「Map Directly Into Persistent Grant」を選択し、「Configure OAuth Attribute Mapping」を選択してから、以下の操作を行います。
a. 「Data Store」タブで、「Next」をクリックします。
b. 「Contract Fulfilment」タブで、「USER_KEY」「USER_NAME」「Source」として「Assertion」を、「Value」として ADFS からの名前属性を選択し、「Next」をクリックします。
c. 「Issuance Criteria」タブで、「Next」をクリックします。
5. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「OAuth Attribute Mapping Configuration」ページで、「Next」をクリックします。
6. 「Protocol Settings」タブで、「Configure Protocol Settings」をクリックします。「Protocol Settings」ページが開き、ここでプロトコル設定を行う必要があります。
F) プロトコルの設定とレビュー
1. 「SSO Service URLs」タブで、「Next」をクリックします。
2. 「Allowable SAML Bindings」タブで、以下の操作を行い、「Next」をクリックします。
a. 以下のチェックボックスをオンにします。
POST
REDIRECT
b. 以下のチェックボックスをオフにします。
ARTIFACT
POST
3. 「Overrides」タブの設定をスキップし、「Next」をクリックします。
4. 「Signature Policy」タブで、「SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS」をクリックし、その下にある 2 つのチェックボックスをオンにして、「Next」をクリックします。
5. 「Encryption Policy」タブで、「ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES」をクリックし、「THE ENTIRE ASSERTION」チェックボックスをオンにして、「Next」をクリックします。
6. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Browser SSO」ページが開きます。
7. 「Browser SSO」ページの「Protocol Settings」タブには、プロトコルの設定中に選択した情報が表示されます。「Next」をクリックします。
8. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「IdP Connection」ページが開きます。
9. 「IdP Connection」ページの「Browser SSO」タブで、「Next」をクリックします。
10. 「Credentials」タブで、「Configure Credentials」をクリックします。「Credentials」ページが開き、ここで資格証明を設定する必要があります。
G) 資格証明の設定
1. 「Digital Signature Settings」タブで、「Manage Certificates」をクリックします。
2. 署名証明書を作成するには、「Create New」をクリックし、以下の値を入力して、「Next」をクリックします。
COMMON NAME
ORGANIZATION
COUNTRY
VALIDITY (DAYS) - 365
KEY ALGORITHM - RSA
KEY SIZE (BITS) - 2048
SIGNATURE ALGORITHM - RSA SHA256
3. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Save」をクリックし、「Done」をクリックします。
4. 「Digital Signature Settings」タブで、作成した「SIGNING CERTIFICATE」に対して、「INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT」チェックボックスをオンにし、「Next」をクリックします。
これは、PingFederate から IdP へのリクエストのデジタル署名に使用されるアプリケーションレイヤー証明書です。
5. 「Signature Verification Settings」タブで、「Manage Signature Verification Settings」をクリックします。
a. 「Trust Model」タブで、「UNANCHORED」を選択し、「Next」をクリックします。
b. 「Signature Verification Certificate」で、IdP 署名証明書が表示されていることを検証し、「Next」をクリックします。
これは、IdP から PingFederate へのリクエストの署名検証に使用されるアプリケーションレイヤー証明書です。これは、IdP から metadata.xml ファイルをインポートしたときに PingFederate に自動的にインポートされました。
c. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。
d. 「Signature Verification Settings」タブで、「Next」をクリックします。
e. 「Select Decryption Keys」で、PingFederate 証明書を選択し、「Next」をクリックします。
f. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。
g. 「Credentials」ページで、「Next」をクリックします。
H) IdP 接続のアクティブ化
「Activation & Summary」ページで、「SSO Application Endpoint」がアクティブ化されていることを確認し、「Save」をクリックします。
これで IdP 接続が作成され、アクティブ化されます。
I) IdP 接続の検証
作成した IdP 接続をクリックし、「SSO Application Endpoint」の URL をコピーして、ブラウザに貼り付け、IdP にリダイレクトされることを検証します。したがって、この PingFederate からの URL は AD FS にリダイレクトされなければなりません。次のようなページが表示され、これにはエラーメッセージが含まれています。
パート C: AD FS 証明書利用者の設定 
手順 1: PingFederate からのメタデータ XML ファイルのエクスポート
1. PingFederate で、「Service Provider」に移動し、「IDP Connections」「Manage All」をクリックします。
2. IdP 接続に対して、「Select Action」リストの「Export Metadata」をクリックします。
3. 「Metadata Signing」ページで、「Next」をクリックします。
4. 「Export & Summary」ページで、「Export」をクリックしてメタデータファイルをマシン上の Downloads フォルダにダウンロードし、「Done」をクリックします。
5. メタデータ XML ファイルを AD FS マシンにコピーします。
手順 2: AD FS への証明書利用者の追加
1. AD FS サーバーにログインし、「Server Manager」を開きます。
2. 「Tools」 > 「AD FS Management」の順に移動します。
3. 「AD FS」で、「Relying Party Trusts」を右クリックし、「Add Relying Party Trust」を選択します。これは、接続が PingFederate から行われることを AD FS が信頼できるようにするためです。
4. 「Add Relying Party Trust Wizard」ウィンドウで、以下の操作を行います。
a. 「Start」をクリックします。
b. 次の画面で、「Import data about the relying party from a file」をクリックします。
c. 「Browse」をクリックして、AD FS に証明書利用者を作成するために PingFederate からコピーした Metadata.xml の場所に移動し、「Next」をクリックします。
d. 「Display name」を指定し、「Next」をクリックします。
この名前は後で必要になるのでメモしておいてください。
e. 以下のウィンドウで「Finish」画面に到達するまで「Next」をクリックします。次に、「Close」をクリックします。
現在のエントリが「Relying Party Trusts」リストに追加されます。
次のウィンドウも表示されます (現在のウィンドウの背後に隠れている場合があります)。
5. AD FS 属性を Active Directory にマッピングするには、以下の操作を行います。
a. 「Edit Claim Issuance Policy for <証明書利用者の信頼名>ウィンドウで、「Add Rule」をクリックし、「Next」をクリックします。
b. 「Claim rule name」を指定し、「Attribute store」「Active Directory」に設定します。
c. 「Mapping of LDAP attributes to outgoing claim types」テーブルで、リストから値を選択して AD FS 属性を Active Directory 属性にマッピングします。
* 
これらの属性が正しくマッピングされていない場合、シングルサインオンは機能しません。
Display-Name
名前
SAM-Account-Name
名前 ID
E-Mail-Addresses
電子メールアドレス
Is-Member-Of-DL
グループ
d. 「Finish」をクリックし、「OK」をクリックします。
手順 3: 完全なメッセージとアサーションを暗号化するための AD FS の設定
1. AD FS マシンで、管理者として「Windows PowerShell」を開きます。
2. 通信が機能するように、AD FS マシンで次のコマンドを実行します。
Set-ADFSRelyingPartyTrust -TargetName <証明書利用者の信頼名> -SamlResponseSignature "MessageAndAssertion"
ここで、<証明書利用者の信頼名> は、上記の手順 2 で作成し、メモした証明書利用者の信頼名です。
このコマンドは、Windows PowerShell を介して SAML 応答署名を設定します。
パート D: IdP 接続エンドポイント URL の検証 
1. PingFederateで、「SSO Application Endpoint」の URL をコピーし、てシークレットウィンドウに貼り付けます。
2. AD FS に対して作成したドメイン名と管理者ユーザーを使用してログインします。
次のメッセージが表示されます。
パート E: ThingWorx 用の PingFederate サービスプロバイダ接続の作成 
手順 1: ThingWorx 署名証明書の作成
1. <ThingWorx インストールフォルダ>/ThingworxPlatform フォルダに ssoSecurityConfig フォルダを作成します。
2. 次のように、JKS タイプのキーストアを作成し、それに sso-keystore.jks という名前を付けます。
キーのペアを生成します。
証明書の共通名 (CN) を ThingWorx として指定します。
3. sso-keystore.jks から thingworx.cerssoSecurityConfig フォルダにエクスポートします。
手順 2: ThingWorx 用のサービスプロバイダ接続の設定
A) サービスプロバイダ接続を作成するための一般情報の指定
1. PingFederate のメインページで、「SP Connections」グループをサーチし、「Create Connection」をクリックします。「SP Connection」ページが開きます。
2. 「Connection Template」タブで、「DO NOT USE A TEMPLATE FOR THIS CONNECTION」を選択し、「Next」をクリックします。
3. 「Connection Type」タブで、「Browser SSO Profiles」チェックボックスと「SAML 2.0 Protocol」チェックボックスをオンにし、「Next」をクリックします。
4. 「Connection Options」タブで、「BROWSER SSO」チェックボックスをオンにし、「Next」をクリックします。
5. 「Import Metadata」タブで、「None」を選択し、「Next」をクリックします。
6. 「General Info」タブで、以下のタスクを実行します。
a. 「Partner's Entity ID (Connection ID)」フィールドで、一意の値 (TWX_SP など) を指定します。
この値は ThingWorxsso-settings.json ファイルの設定中に使用するのでメモしておいてください。
b. 「Connection Name」フィールドで、記述的な名前 (TWX_SP など) を指定します。
これは、PingFederate の SP 接続リストに表示される名前です。
c. 「Base URL」フィールドに、ThingWorx が展開されているサーバーの URL を入力し、「Next」をクリックします。例: https://{ThingWorxHost_FQDN}:8443
7. 「Browser SSO」タブで、「Configure Browser SSO」をクリックします。「Browser SSO」ページが開き、ここでブラウザのシングルサインオンを設定する必要があります。
B) ブラウザ SSO の設定
1. 「Browser SSO」ページの「SAML Profiles」タブにある「Single Sign-On (SSO) Profiles」セクションで、以下のオプションを選択し、「Next」をクリックします。
IDP-INITIATED SSO
SP-INITIATED SSO
「Single Logout (SLO) Profiles」列では、どのオプションも選択しないでください。
2. 「Assertion Lifetime」タブで、「Minutes Before」60 に設定し、「Minutes After」480 に設定します。「Next」をクリックします。
3. 「Assertion Creation」タブで、「Configure Assertion Creation」をクリックします。「Assertion Creation」ページが開き、ここでアサーション作成を設定する必要があります。
C) アサーション作成の設定
1. 「Assertion Creation」ページの「Identity Mapping」タブで、「Standard」をクリックし、「Next」をクリックします。
2. 「Attribute Contract」タブで、「Attribute Contract」SAML_Subject と入力し、「Subject Name Format」で値を選択します。
3. 「Attribute Contract」タブの「Extend the Contract」フィールドで、以下の設定を行い、各値の入力後に「Add」をクリックします。
契約の延長
属性名フォーマット
group
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
uid
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
email
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
「Next」をクリックします。
4. 「Authentication Source Mapping」タブで、「Map New Authentication Policy」をクリックします。「Authentication Policy Mapping」ページが開き、ここで認証ポリシーマッピングを設定する必要があります。
D) 認証ポリシーマッピングの設定
1. 「Authentication Policy Mapping」ページの「Authentication Policy Contract」リストで、パート B - 手順 2で作成した属性契約 SPContract を選択します。「Next」をクリックします。
2. 「Mapping Method」タブで、「USE ONLY THE AUTHENTICATION POLICY CONTRACT VALUES IN THE SAML ASSERTION」をクリックし、「Next」をクリックします。
3. 「Attribute Contract Fulfillment」タブで、以下のように「email」「group」「SAML_SUBJECT」、および「uid」認証ポリシー契約の値を選択します。
「Source」リストで、「Authentication Policy Contract」を選択します。
「Value」リストで、対応するエントリを選択します。
「Next」をクリックします。
4. 「Issuance Criteria」タブの設定をスキップし、「Next」をクリックします。
5. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Assertion Creation」ページが開き、ここでアサーション作成のコンフィギュレーション設定をレビューする必要があります。
E) アサーション作成コンフィギュレーション設定のレビュー
1. 「Assertion Creation」ページの「Authentication Source Mapping」タブには、新しい認証ポリシーのマッピング中に選択した情報が表示されます。「Next」をクリックします。
2. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Browser SSO」ページが開きます。
3. 「Browser SSO」ページの「Assertion Creation」タブには、アサーション作成の設定中に入力した情報が表示されます。「Next」をクリックします。
4. 「Protocol Settings」タブで、「Configure Protocol Settings」をクリックします。「Protocol Settings」ページが開き、ここでプロトコルを設定する必要があります。
F) プロトコルの設定とレビュー
1. 「Protocol Settings」ページの「Assertion Consumer Service URL」タブで、以下の操作を行います。
a. 「Default」チェックボックスをオンにします。
b. 「Index」フィールドに、0 と入力します。
c. 「Binding」リストで、「POST」を選択します。
d. 「Endpoint URL」フィールドに、/Thingworx/saml/SSO と入力します。
e. 「Add」をクリックし、「Next」をクリックします。
2. 「Allowable SAML Bindings」タブで、「POST」チェックボックスをオンにし、「Next」をクリックします。
3. 「Signature Policy」タブで、以下のオプションを選択し、「Next」をクリックします。
REQUIRE AUTHN REQUESTS TO BE SIGNED WHEN RECEIVED VIA THE POST OR REDIRECT BINDINGS
ALWAYS SIGN THE SAML ASSERTION
4. 「Encryption Policy」タブで、「The Entire Assertion」を選択し、「Next」をクリックします。
5. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Browser SSO」ページが開きます。
6. 「Browser SSO」ページの「Protocol Settings」タブには、プロトコルの設定中に選択した情報が表示されます。「Next」をクリックします。
7. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「SP Connection」ページが開きます。
8. 「SP Connection」ページの「Browser SSO」タブで、「Next」をクリックします。
9. 「Credentials」タブで、「Configure Credentials」をクリックします。「Credentials」ページが開き、ここで資格証明を設定する必要があります。
G) 資格証明の設定
1. 「Digital Signature Settings」タブで、以下のタスクを実行します。
a. 「SIGNING CERTIFICATE」リストで、証明書を選択します。
b. 「INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT」チェックボックスをオンにします。
「Next」をクリックします。
2. 「Signature Verification Settings」タブで、「Save Draft」をクリックします。
3. 「Manage All」をクリックし、「Save」をクリックします。
H) 署名検証の設定と証明書のインポートおよび暗号化
1. 保存したコンフィギュレーションを回復するには、「Identity Provider」をクリックし、「SP Connections」「Manage All」をクリックします。
2. 下書きとして保存した SP 接続 TWX_SP をクリックし、「Manage Signature Verification Settings」をクリックします。
3. 「Trust Model」タブで、「UNANCHORED」を選択し、「Next」をクリックします。
「Signature Verification Certificate」では、リストに証明書がありません。
4. 「Manage Certificates」をクリックし、「Import」をクリックします。
5. 「Import Certificate」タブで、「Choose file」をクリックして、パート E - 手順 1で作成した証明書ファイルをブラウズし、「Next」をクリックします。
6. 「Summary」タブで、「MAKE THIS THE ACTIVE CERTIFICATE」チェックボックスがオンになっていることを確認します。
7. 「Summary」ページの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Certificate Management」ページが開きます。
8. 「Done」をクリックします。「Signature Verification」ページが開きます。
9. 「Signature Verification Certificate」タブには、インポートした証明書が表示されます。「Next」をクリックします。
10. 「Summary」ページで、「Done」をクリックします。
11. 「Signature Verification Settings」タブで、「Next」をクリックします。
J) 証明書の暗号化
1. 「Select XML Encryption Certificate」タブで、以下の操作を行い、「Next」をクリックします。
a. 「Block Encryption Algorithm」「AES-128」を選択します。
b. 「Key Transport Algorithm」「RSA-OAEP」を選択します。
c. リストから証明書を選択します。
2. 「Summary」タブの情報をレビューします。情報が正しい場合は、「Done」をクリックします。「Credentials」ページが開き、ここで署名検証の設定をレビューする必要があります。
K) SP 接続のアクティブ化
1. 「SP Connection」ページの「Credentials」タブには、資格証明の設定中に選択した情報が表示されます。「Next」をクリックします。
2. 「Activation & Summary」ページの「Connection Status」で、接続が有効になっていることを確認します。
3. 「Save」をクリックします。
接続が「Identity Provider」ページの「SP Connections」グループに表示されます。
手順 3: ThingWorx サービスプロバイダ接続メタデータと PingFederate 公開証明書のエクスポート
A) ThingWorx 用の PingFederate からのメタデータのエクスポート
1. PingFederate で、「SP Connections」「Manage All」をクリックします。
2. パート E - 手順 2で作成した SP 接続 TWX_SP に対して、「Select Action」リストの「Export Metadata」をクリックします。
3. 「Metadata Signing」タブで、「Next」をクリックします。
4. 「Export & Summary」タブで、「Export」をクリックします。
ファイルがダウンロードされます。
5. 「Done」をクリックします。
B) PingFederate 公開証明書のエクスポート
1. PingFederate「SP Connections」で、選択した SP 接続 TWX_SP をクリックします。
2. 「Activation & Summary」タブの「Credentials」セクションで、「Digital Signature Settings」をクリックし、以下の操作を行います。
3. 「Manage Certificates」をクリックします。
4. 証明書に対して、「Select Action」リストの「Export」をクリックします。
5. 「CERTIFICATE ONLY」チェックボックスをオンにし、「Export」をクリックします。
ファイルがダウンロードされます。このファイルを適切な名前に変更します。たとえば、pingfedsigning.crt などです。
6. この PingFederate の公開証明書ファイルを、パート E - 手順 1で作成した sso-keystore.jks キーストアにインポートします。
手順 3: ThingWorx サービスプロバイダ接続メタデータと PingFederate 公開証明書のエクスポート
A) ThingWorx 用の PingFederate からのメタデータのエクスポート
1. PingFederate で、「SP Connections」「Manage All」をクリックします。
2. パート E - 手順 2で作成した SP 接続 TWX_SP に対して、「Select Action」リストの「Export Metadata」をクリックします。
3. 「Metadata Signing」タブで、「Next」をクリックします。
4. 「Export & Summary」タブで、「Export」をクリックします。
ファイルがダウンロードされます。
5. 「Done」をクリックし、「Save」をクリックします。
B) PingFederate 公開証明書のエクスポート
1. PingFederate「SP Connections」で、選択した SP 接続 TWX_SP をクリックします。
2. 「Activation & Summary」タブの「Credentials」セクションで、「Digital Signature Settings」をクリックし、以下の操作を行います。
3. 「Manage Certificates」をクリックします。
4. 証明書に対して、「Select Action」リストの「Export」をクリックします。
5. 「CERTIFICATE ONLY」チェックボックスをオンにし、「Export」をクリックします。
ファイルがダウンロードされます。このファイルを適切な名前に変更します。たとえば、pingfedsigning.crt などです。
6. この PingFederate の公開証明書ファイルを、パート E - 手順 1で作成した sso-keystore.jks キーストアにインポートします。
パート F: ThingWorx でのシングルサインオンの設定 
1. ThingWorx サーバーを停止します。
2. 「シングルサインオンのための ThingWorx の設定」で詳しく説明されている手順に従います。
ThingWorx でのシングルサインオンの設定が終了した後、ssoSecurityConfig には以下のファイルが含まれていなければなりません。
パート G: SSL 証明書の作成 
手順 1: PingFederate の Java cacerts ファイルへの ThingWorx SSL 証明書のインポート
1. ThingWorx のキーペア (キーストア) を作成します。ThingWorx ホストの FQDN を CN の値として使用してください。
2. このキーペアから ThingWorx パブリック SSL 証明書をエクスポートします。
3. ThingWorx SSL 証明書 (.crt) を PingFederate マシン上の Java cacerts ファイルにインポートします。
4. PingFederate を再起動します。
手順 2: ThingWorx Java cacerts ファイルへの PingFederate SSL 証明書のインポート
1. PingFederate 証明書をエクスポートするには、以下の操作を行います。
a. PingFederate で、「Security」 > 「SSL Server Certificates」の順にクリックします。
b. 証明書に対して、「Select Action」リストの「Export」をクリックし、「Next」をクリックします。
c. 「Export Certificate」タブで、「CERTIFCATE ONLY」がデフォルト値であることを確認し、「Next」をクリックします。
d. 「Export & Summary」タブで、「Export」をクリックします。
証明書がダウンロードされます。
e. 証明書を適切な名前に変更します。たとえば、pingfedssl.cer などです。
2. PingFederate SSL 証明書 (.crt) を ThingWorx マシン上の Java cacerts ファイルにインポートします。
パート H: ThingWorx 用の OAuth クライアント接続の作成 
* 
「Redirect URIS」フィールドにスペースが含まれていないことを確認し、コンフィギュレーションの終了時に「Save」をクリックします。
パート I: SCIM コンフィギュレーションに進む前の ThingWorx が起動するかどうかの検証 
1. ThingWorx を起動します。
ログファイルをチェックして、エラーがないことを確認します。
2. AD FS に作成した Domain\username を使用して ThingWorx にログインします。
パート J: ThingWorx での SCIM の設定 
詳細については、「プロビジョニング」を参照してください。
手順 1: アウトバウンドプロビジョニングの有効化
1. PingFederate を停止します。
2. ThingWorx を停止します。
3. <PingFederate インストール>/pingfederate/bin (ここで <PingFederate インストール>PingFederate のインストール場所) にある run.properties ファイルで、pf.provisioner.mode の値を STANDALONE に更新します。
pf.provisioner.mode=STANDALONE
4. PingFederate を起動します。
手順 2: Active Directory 用のデータストアの作成
1. PingFederate で、「Data Stores」をサーチします。
2. 「Add new Data Store」をクリックします。
3. 「NAME」に名前を入力し (ここでは LDAP_ADFS と入力)、「TYPE」「Directory (LDAP)」を選択して、「Next」をクリックします。
4. 「HOSTNAME(S)」では、AD FS マシンの FQDN を指定します。
5. 「USER DN」では、cn=Administrator,cn=Users,dc=thingworx,dc=com と指定します
6. 「PASSWORD」では、Active Directory で設定した管理者パスワードを指定し、「Next」をクリックします。
7. 「Summary」タブで、「Save」をクリックします。
詳細については、「データストアとしての LDAP の追加」を参照してください。
手順 3: パスワード資格証明バリデータインスタンスの作成
1. PingFederate で、「Password Credential Validators」をサーチします。
2. 「Create New Instance」をクリックします。
3. 「INSTANCE NAME」「INSTANCE ID」の値を指定します。
4. 「TYPE」リストで、「Simple Username Password Credential Validator」を選択し、「Next」をクリックします。
5. 「Instance Configuration」タブで、「Add a new row to 'Users'」をクリックします。
6. 管理者などの既存の ThingWorx ユーザーの「Username」「Password」を指定します。「Update」をクリックし、「Next」をクリックします。
7. 「Summary」タブで、「Done」をクリックし、「Save」をクリックします。
詳細については、パスワード資格証明バリデータのインスタンスを設定するを参照してください。
手順 4: 永続的な付与契約へのパスワード資格証明バリデータインスタンスのマッピング
1. PingFederate で、「Resource Owner Credentials Grant Mapping」をサーチします。
2. 「SOURCE PASSWORD VALIDATOR INSTANCE」で、上記の手順で作成したバリデータを選択し、「Add Mapping」をクリックします。
3. 「Attribute Sources & User Lookup」タブで、「Next」をクリックします。
4. 「Contract Fulfillment」タブで、「Source」「Password Credential Validator」に設定し、「Value」「username」に設定して、「Next」をクリックします。
5. 「Issuance Criteria」タブで、「Next」をクリックします。
6. 「Summary」タブで、「Save」をクリックします。
詳細については、パスワード資格証明バリデータのインスタンスを設定するを参照してください。
手順 5: SCIM 用の OAuth クライアントの作成
OAuth クライアントは、PingFederateThingWorx にアクセストークンを提供するための接続ポイントです。サービスプロバイダは、これらのアクセストークンを使用して、OAuth によって保護されているリソースを ThingWorx からリクエストします。
1. PingFederate で、「Clients」をサーチし、サーチ結果を開きます。「Add Client」をクリックします。
2. 「CLIENT ID」「NAME」で一意の値を指定します。
3. 「CLIENT AUTHENTICATION」「CLIENT SECRET」に設定します。
4. 「CLIENT SECRET」で、「CHANGE SECRET」チェックボックスをオンにし、「Generate Secret」をクリックします。
「CLIENT ID」「CLIENT SECRET」の値は、sso-settings.json ファイルの SCIMAccessTokenServicesSettings セクションの設定中に必要になるので、メモしておいてください。
5. 「REDIRECT URIS」フィールドに、https://<THINGWORX ホスト>:8443/Thingworx/SCIMProvider/SCIM と入力し、「Add」をクリックします。
6. 「ALLOWED GRANT TYPES」で、「Client Credentials」「Resource Owner Password Credentials」、および「Access Token Validation (Client is a Resource Server)」チェックボックスをオンにします。
7. 「DEFAULT ACCESS TOKEN MANAGER」「Default」に設定します。
8. 次のイメージに従って残りの値を設定します。
9. 「Save」をクリックします。
詳細については、「SCIM 用の OAuth クライアントを作成する」を参照してください。
手順 6: platform-settings.json ファイルでの SCIM の設定
手順 7: SCIM サブシステムが実行されていることの検証
1. ThingWorx サーバーを起動します。
2. ThingWorx Composer で、「Browse」をクリックし、「Subsystems」を選択します。
3. 「SCIMSubsystem」を選択し、それが実行されていることを検証します。
手順 8: USERNAME と USER_KEY のマッピング
1. PingFederate で、「Access Token Management」をサーチします。
2. 「Create New Instance」をクリックします。
3. 「INSTANCE NAME」を指定します。
4. 「INSTANCE ID」に、default と入力します。
5. 「TYPE」「Internally Managed Reference Tokens」に設定し、「Next」をクリックします。
6. 「Instance Configuration」タブで、「Next」をクリックします。
7. 「Session Validation」タブで、「Next」をクリックします。
8. 「Access Token Attribute Contract」タブで、以下の操作を行い、「Next」をクリックします。
a. 「Extend the Contract」で、WindchillUsername を追加し、「Add」をクリックします。
* 
大文字と小文字については、ここに示されているものと一致させてください。
b. 「Extend the Contract」で、SCIM の username を追加し、「Add」をクリックします。
* 
大文字と小文字については、ここに示されているものと一致させてください。
9. 「Resource URIs」タブで、「Next」をクリックします。
10. 「Access Control」タブで、「Next」をクリックします。
11. 「Summary」タブで、「Save」をクリックします。
12. 「Access Token Mapping」をサーチし、「Add Mapping」 (「Default」コンテキストに) をクリックします。
13. 「Contract Fulfillment」タブに到達するまで「Next」をクリックします。
14. 「Contract Fulfillment」タブで、Username および username 契約に対して、以下の操作を行います。
「Source」「Persistent Grant」に設定します。
「Value」「USER_KEY」に設定します。
15. 「Issuance Criteria」タブで、「Next」をクリックします。
16. 「Summary」タブで、「Save」をクリックします。
手順 9: SCIM 用のサービスプロバイダ接続の定義
1. PingFederate で、「SP CONNECTIONS」をサーチし、新規接続を作成します。
2. 「Connection Template」タブで、「DO NOT USE A TEMPLATE FOR THIS CONNECTION」を選択し、「Next」をクリックします。
3. 「CONNECTION TYPE」 タブで、以下の操作を行い、「Next」をクリックします。
a. 「BROWSER SSO PROFILES」チェックボックスがオンになっていないことを確認します。
b. 「OUTBOUND PROVISIONING」チェックボックスをオンにし、「TYPE」「SCIM 1.1 Service Provider」に設定します。
4. 「General Info」タブで、以下の操作を行い、「Next」をクリックします。
a. 「PARTNER'S ENTITY ID (CONNECTION ID)」「CONNECTION NAME」を指定します。例: SCIM_ADFS_SP
b. 「BASE URL」フィールドに、https://<ThingWorx FQDN>:8443/Thingworx/SCIMProvider と入力します。
* 
URL を PingFederate にコピーするときに、末尾にスペースがないことを確認してください。
5. 「Outbound Provisioning」タブで、「Configure Provisioning」をクリックします。
6. 「Custom SCIM Attributes」タブで、以下の操作を行い、「Next」をクリックします。
a. 「USERS RESOURCE URL」フィールドに、https://<ThingWorx FQDN>:8443/Thingworx/SCIMProvider/SCIM/Users と入力します
* 
URL を PingFederate にコピーするときに、末尾にスペースがないことを確認してください。
b. 「GROUPS RESOURCE URL」フィールドに、https://<ThingWorx FQDN>:8443/Thingworx/SCIMProvider/SCIM/Groups と入力します
* 
URL を PingFederate にコピーするときに、末尾にスペースがないことを確認してください。
c. 「AUTHENTICATION METHOD」「OAUTH 2.0 BEARER TOKEN」に設定します。
d. 「USER」Administrator と指定し、「PASSWORD」を入力します。
e. sso-settings.json ファイルから「CLIENT ID」「CLIENT SECRET」の値を指定します。
f. 「TOKEN END POINT URL」に、https://PingFederate Host:9031/as/token.oauth2 と入力します
* 
URL の末尾にスペースがないことを確認してください。
g. 「SCIM SP SUPPORTS PATCH UPDATES」および「PROVISION GROUPS WITH DISTINGUISHED NAME」チェックボックスがオンになっていないことを確認します。
h. 「DEPROVISION METHOD」「DELETE USER」に設定します。
7. 「Custom SCIM Attributes」タブで、「Next」をクリックします。
詳細については、「SCIM の SP 接続を定義する」を参照してください。
手順 10: データストアへのチャネルの作成
1. 「Manage Channels」タブで、「Create」をクリックします。
2. 「CHANNEL NAME」を指定します。
3. 「ACTIVE DATA STORE」で、手順 2 で作成した LDAP_ADFS を選択し、「Next」をクリックします。
4. 「Source Settings」タブで、「Next」をクリックします。
5. 「Source Location」タブで、以下の操作を行い、「Next」をクリックします。
a. 「BASE DN」フィールドに、cn=users,dc=thingworx,dc=com と入力します
b. 「Users」「FILTER」フィールドに、(&(objectCategory=person)(objectClass=user)(cn=*)) と入力します
c. 「Groups」「FILTER」フィールドに、 (&(objectCategory=group)) と入力します
6. 「Attribute Mapping」タブで、「Next」をクリックします。
7. 「Activation & Summary」タブで、「Channel Status」「ACTIVE」に設定し、「Done」をクリックします。
8. 「Manage Channels」タブで、「Done」をクリックします。
9. 「Outbound Provisioning」タブで、「Next」をクリックします。
10. SP 接続がアクティブ (緑色) であることを確認し、「Save」をクリックします。
SP 接続は、SP 接続ページにリストされています。
詳細については、「データストアへのチャネルの作成」を参照してください。
手順 11: LDAP バイナリ属性の追加
1. 「SYSTEM」 > 「Data & Credential Stores」 > 「Data Stores」に移動します。
2. 「LDAP_ADFS」データストアをクリックし、「LDAP Configuration」タブを選択します。
3. 「Advanced」をクリックすると、バインドとコンフィギュレーションに関するその他の設定が表示されます。
4. 「LDAP Binary Attributes」タブをクリックし、値として objectGUID を持つ新規バイナリ属性を追加します。
5. 「Save」をクリックします。
パート K: リソースサーバーとしての Windchill の設定 
手順 1: 必要条件
Windchill で SSL/ OAuth 2.0 が設定されている。
ThingWorx および PingFederate SSL 証明書が Windchill マシン上の jssecacerts/ cacerts ファイルにインポートされている。
統合ランタイムが ThingWorx インスタンスで設定されている。詳細については、「統合コネクタの Integration Runtime Service の初期設定」を参照してください。
Windchill SSL 証明書が ThingWorx マシン上の jssecacerts / cacerts ファイルにインポートされている。
Windchill SSL 証明書が PingFederate マシン上の jssecacerts / cacerts ファイルにインポートされている。
手順 2: Windchill OAuth 2.0 ファイルコンフィギュレーションの完了
<WC_インストール_ルート>\Windchill\codebase\WEB-INF\security\config にある securityContext.properties ファイルを更新します。
checkTokenEndpointUrl - PingFederate マシンのFQDN。
clientId - OAuth クライアント ID (wnc-rp-client など)。
clientSecret - OAuth クライアントシークレット。
resourceScopes - Windchill の範囲 (WINDCHILL_READ など)。
手順 3: リソースサーバーとしての Windchill 用の OAuth クライアント接続の作成
* 
clientIdclientSecret の値は securityContext.properties ファイルから取得できます。
手順 4: PingFederate での Windchill の範囲の作成
1. PingFederate「OAuth Server」ページで、「Scope Management」をクリックします。
2. 「Scope Value」で、「Add」をクリックして、securityContext.properties ファイルで resourceScopes の値に対して追加したものと同じ範囲 (WINDCHILL_READ など) を追加します。
3. 「Save」をクリックします。
これは役に立ちましたか?