中央認証サーバーの確立
業界標準の認証プロトコルである OAuth 2.0 を使用して委任認証を行うよう
Windchill を設定できます。このシナリオでは、
Windchill がリソースサーバーとして機能し、ユーザーが実際に使用する ThingWorx アプリケーションは、サービスプロバイダとして機能して、ユーザーの代理として
Windchill に対してデータをリクエストします。
Windchill は、ThingWorx からのデータのリクエストに正しいアクセストークンとスコープが含まれている場合に、保護されたリソースへのアクセス権を付与するよう設定されています。
Windchill は、SSO フェデレーションに参加しているアプリケーション間の信頼関係を管理する CAS を使用して、アクセストークンが本物であるかどうかを検証します。PTC 製品間でサポートされる SSO の使用事例の最新情報については、
PTC Product Platform Single Sign-on Guide を参照してください。
以下の手順では、OAuth クライアントを設定し、PingFederate でスコープを登録し、OAuth 認証を行うために Windchill を設定するステップについて概要を説明します。
この手順では、会社の SSO フェデレーションの要件に従って PingFederate をすでにインストールして設定していることを前提としています。たとえば、サービスプロバイダのユーザーログインリクエストを、SSO フェデレーション内のアイデンティティプロバイダである LDAP または ADFS にリダイレクトするよう PingFederate を設定していることを前提としています。PingFederate のライセンスは Windchill の顧客に追加費用なしで提供され、このソフトウェアのサポートされているバージョンを PTC ソフトウェアダウンロード Web サイトから入手できます。PingFederate のインストールと設定の手順については、その製品のドキュメンテーションを参照するか、カスタマーサポートにお問い合わせください。ここでは、PingFederate の設定手順のうち、Windchill と PingFederate 間の接続を確立する方法についてのみ説明しています。
さらに、この手順では、ThingWorx で SSO を有効にすることによって、ThingWorx がサービスプロバイダとして機能することを前提としています。この手順を完了すると、Windchill がリソースサーバーとして SSO フェデレーションに参加することのみが可能になります。委任認証を使用するためには、ご自分の SSO フェデレーション内のその他のアプリケーションが Windchill に対してデータをリクエストする際に OAuth アクセストークンを使用するように設定する必要があります。SSO を有効化してサービスプロバイダとして設定する手順については、ThingWorx のドキュメンテーションを参照してください。
1. アクセストークンを検証する際に Windchill が接続する OAuth クライアントを PingFederate 内に作成します。
a. 「OAuth Settings」ページで、「Clients」セクションを見つけて「Create New」をクリックします。
b. クライアント ID を入力します。この値をメモしておきます。この値は Windchill の securityContext.properties ファイルを設定する際に必要になります。
c. 「Client Secret」を選択し、クライアントシークレットの値を入力します。この値をメモしておきます。この値は Windchill の securityContext.properties ファイルを設定する際に必要になります。
d. 「Name」フィールドに、内容をわかりやすく表す値を入力します。これは PingFederate のクライアントリストに表示されます。
e. 説明を入力します。
f. 「Allow Grants Types」セクションで、「Access Token Validation (Client is a Resource Server)」を選択します。
g. 「Persistent Grants Expiration」セクションで、「Use Global Setting」を選択します。
h. 「Refresh Token Rolling Policy」セクションで、「Use Global Setting」を選択します。
2. PingFederate でスコープを登録します。スコープは、CAS、サービスプロバイダ、およびリソースサーバーで登録する文字列値です。サービスプロバイダがリソースサーバーに対してデータをリクエストする場合、アクセストークンにスコープ名を添付する必要があります。
a. 「OAuth Settings」ページで、「Scope Management」をクリックします。
b. 「Scope Value」フィールドに「WINDCHILL_READ」と入力し、「Scope Description」に「Permission to read Windchill data」と入力してから、「Add」をクリックします。
Windchill ではスコープを 1 つだけ定義して使用できます。テストでは、値 WINDCHILL_READ が使用されました。Windchill ではスコープ名の区切りにスペースが使用されるので、スコープ名の中ではスペースを使用できません。
3. Windchill の
securityContext.xml および
Web.xml ファイルを設定することで、
Windchill で OAuth を有効化します。これらの編集の詳細については、
OAuth 委任認証の設定を参照してください。