CAS コンフィギュレーションの例 > 中央認証サーバーとしての PingFederate > SSO コンフィギュレーションの例 > 例: PingFederate をブローカーとして使用した Windchill SSO の実装
例: PingFederate をブローカーとして使用した Windchill SSO の実装
この例は、中央認証サーバー (CAS) として PingFederate、ID プロバイダ (IdP) として Active Directory フェデレーションサービス (AD FS) を使用するシングルサインオンが Windchill PDMLink および Shibboleth SP で設定されている環境を設定する方法について詳細な手順を示しています。
次のテーブルは、この例で設定されるアプリケーションとその役割を示しています。
役割
アプリケーション
サービスプロバイダ
Windchill PDMLink + Shibboleth SP
中央認証サーバー
PingFederate
ID プロバイダ
AD FS
リソースサーバー
Windchill
次の図は、この例で説明するコンフィギュレーションを示しています。
パート A: 必要条件 
1. Windchill が設定されていることを確認します。詳細については、Windchill ヘルプセンターを参照してください。
2. AD FS を設定し、以下の属性値とファイルが追加されていることを確認します。
uid
email
group
メタデータファイル
パート B: AD FS 用認証の手動設定 
手順 1: PingFederate グローバル SSL 証明書の作成
1. PingFederate に管理者としてログインします。「SSL Server Certificates」をサーチし、サーチ結果を開きます。
2. 「Create New」をクリックして、グローバル SSL 証明書を作成し、以下の操作を行います。
1. 「Common Name」フィールドで、PingFederate マシンの FQDN を指定します。
2. このページで、その他の詳細を指定し、「Next」をクリックします。
3. 以下のチェックボックスがオンになっていることを確認し、「Save」をクリックします。
4. 「SSL Server Certificates」をクリックします。
5. 作成した SSL 証明書に対して、「Select Action」リストで「Activate Default for Runtime Server」を選択してから、「Activate Default for Admin Console」を選択します。「Save」をクリックします。
この SSL 証明書は、管理コンソールとランタイムサーバーのデフォルトとしてマークされます。
3. 「localhost」証明書に対して、以下の操作を行います。
1. 「Select Action」リストで、「Deactivate for Runtime Server」を選択してから、「Deactivate for Admin Console」を選択します。
2. 「localhost」証明書を削除し、「Save」をクリックします。
手順 2: サービスプロバイダ契約の作成
1. PingFederate で、「Policy Contract」をサーチし、サーチ結果を開きます。
2. 「Create New Contracts」をクリックし、以下の操作を行います。
1. 「Contract Info」フィールドに契約名を入力し (ここでは SPContract と入力)、「Next」をクリックします。
2. 「Contract Attributes」で、以下の属性の契約を延長するため、属性ごとに「Add」をクリックします。
uid
email
group
デフォルトでは、subject 属性が存在します。
3. 「Next」をクリックし、「Summary」ページで「Save」をクリックします。
4. 「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」を選択してから、以下の操作を行います。
1. 「Data Store」タブで、「Next」をクリックします。
2. 「Contract Fulfilment」タブで、「USER_KEY」「USER_NAME」「Source」として「Assertion」を、「Value」として ADFS からの名前属性を選択し、「Next」をクリックします。
3. 「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」をクリックします。
1. 以下のチェックボックスをオンにします。
POST
REDIRECT
2. 以下のチェックボックスをオフにします。
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」ウィンドウで、以下の操作を行います。
1. 「Start」をクリックします。
2. 次の画面で、「Import data about the relying party from a file」をクリックします。
3. 「Browse」をクリックして、AD FS に証明書利用者を作成するために PingFederate からコピーした Metadata.xml の場所に移動し、「Next」をクリックします。
4. 「Display name」を指定し、「Next」をクリックします。
この名前は後で必要になるのでメモしておいてください。
5. 以下のウィンドウで「Finish」画面に到達するまで「Next」をクリックします。次に、「Close」をクリックします。
現在のエントリが「Relying Party Trusts」リストに追加されます。
次のウィンドウも表示されます (現在のウィンドウの背後に隠れている場合があります)。
5. AD FS 属性を Active Directory にマッピングするには、以下の操作を行います。
1. 「Edit Claim Issuance Policy for <証明書利用者の信頼名>ウィンドウで、「Add Rule」をクリックし、「Next」をクリックします。
2. 「Claim rule name」を指定し、「Attribute store」「Active Directory」に設定します。
3. 「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
グループ
4. 「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: Shibboleth SP と PingFederate の設定 
Shibboleth Service Provider 2.6.0 を使用して Windchill で SAML 機能を有効にするため、Windchill ヘルプセンターの「Security Assertion Markup Language (SAML) 認証」のセクションの手順を完了します。同じ Windchill ヘルプセンターページの以下のセクションに記載されている手順に従います。
Shibboleth Service Provider のトラブルシューティングとデバッグ
Shibboleth Service Provider と PTC HTTP Server の再起動
パート F: JNDI LDAP エントリの設定 
JNDI アダプタを設定するには、Windchill ヘルプセンターの「JNDI アダプタコンフィギュレーションエントリ」セクションに記載されている手順を完了します。
パート G: 追加のコンフィギュレーション 
Windchill ワークフローで電子署名を使用する必要がある場合、SSO をデプロイするためにいくつかの追加のコンフィギュレーションが必要です。詳細については、Windchill ヘルプセンターの以下のセクションを参照してください。
その他の考慮事項については、Windchill ヘルプセンターの「Security Assertion Markup Language (SAML) 認証」の「クライアントの互換性」セクションを参照してください。
これは役に立ちましたか?