Composer での ThingWorx モデルの定義 > セキュリティ > 認証システム > シングルサインオン認証システム
シングルサインオン認証システム
ThingworxSSOAuthenticator は、ThingWorx でシングルサインオン (SSO) が有効な場合に、ユーザーをプロビジョニングするために使用します。ユーザーアカウントの作成と更新は、SAML アサーションによって ID プロバイダから読み込まれた属性に基づいて行われます。この認証システムを使用して、プロビジョニングされるユーザーのデフォルト設定を定義したり、ユーザー設定に適用される SAML 属性値を指定したりします。SAML プロビジョニングでは、ユーザーアカウントは削除されません。その機能については、SCIM プロビジョニングを参照してください。
前提条件
1. ThingWorx で SSO を有効にする必要があります。詳細については、 シングルサインオン認証を参照してください。
2. PingFederate ポリシー契約の属性をマッピングします。
SSO コンフィギュレーションの一部として、承認サーバー (PingFederate) が展開され、SAML 認証リクエストを ID プロバイダにリダイレクトするように設定されます。PingFederate で、ThingWorx が SAML 認証リクエストを送信する先の SP 接続を作成します。ポリシー契約は、ID プロバイダからサービスプロバイダ (ThingWorx) にアサーション属性を渡すために PingFederate を使用するメカニズムです。以下のコンフィギュレーションテーブルに示されている属性はすべて、接続間で受け渡すことができるように、PingFederate のポリシー契約のリストに指定する必要があります。
詳細については、次を参照してください。
PingFederate ドキュメンテーション: IdP から SP へのブリッジ https://docs.pingidentity.com/bundle/pingfederate-100/page/ffk1564002971738.html
PingFederate ドキュメンテーション: フェデレーションハブと認証ポリシー契約 https://docs.pingidentity.com/bundle/pingfederate-100/page/ope1564002971971.html
次のコンフィギュレーションテーブルのオプションでは、認証システムの動作を指定できます。
ユーザープロビジョニング
ユーザー作成有効
選択すると、認証サーバーから取得した資格証明に基づいて ThingWorx でユーザーアカウントを作成できます。ユーザーが ThingWorx へのログインを試みていて、ThingWorx ユーザーアカウントが作成されていない場合は、この設定により、ID プロバイダに保存されているユーザーデータに基づいて ThingWorx ユーザーアカウントを作成できます。
ユーザー修正有効
選択すると、ThingWorx 内に存在するユーザーアカウントの修正が可能になります。ThingWorx ユーザーデータを ID プロバイダ内のユーザーアカウントデータと同期するようにユーザーを作成した場合は、初期ログイン以降、後続のログインイベントが発生するときに、アカウントを後から更新できるようにすることが重要です。
すべての資格証明属性はプロビジョニングされていなければなりません
有効な場合は、ID プロバイダによって返されるすべての資格証明属性を使用する (ユーザーに適用する) 必要があります。いずれの属性も使用されていない場合、ユーザーは作成/更新されず、ログインは失敗します。
このオプションはデフォルトではオフになっています。
認証システムの変更時にユーザーセッションを終了
有効な場合、ThingWorx SSO 認証システムのコンフィギュレーションが保存されるときに、プロビジョニングされたユーザーのアクティブセッションがすべて終了します。
これは「ユーザープロビジョニング除外リスト」で指定されているユーザーには適用されません。
このオプションはデフォルトではオフになっています。
ユーザープロビジョニング除外リスト
以下の「ユーザーデフォルト」コンフィギュレーションから除外するユーザーを指定します。
* 
ユーザーは、デフォルトでこのリストに追加されます。これらのユーザーを除去しようとしても、ページを再表示するとこれらが自動的に再び追加されます。
ThingWorx 管理者
SuperUser
システムユーザー
ユーザーデフォルト
これらのデフォルト属性は、「ユーザープロビジョニング除外リスト」に追加したものを除くすべてのユーザーに適用されます。これらの属性は、ユーザーのログイン時に適用されます。
説明
プロビジョニングされるユーザーに使用する説明を入力します。たとえば、ユーザーアカウントが自動プロビジョニングによって作成されたことを記述できます。
マッシュアップ
ログイン時にプロビジョニングされたユーザーに表示される、デフォルトのホームマッシュアップを指定します。
モバイルマッシュアップ
ログイン時にプロビジョニングされたユーザーに表示される、デフォルトのモバイルマッシュアップを指定します。
タグ
プロビジョニングされたユーザーに適用するデフォルトのタグを指定します。このタグのリストは、すでに存在するユーザーアカウントに対する既存のタグをオーバーライドし、更新されます。
ユーザー ID プロバイダ設定
上記の「ユーザーデフォルト」テーブルで定義された設定を適用する代わりに、このテーブルを使用して、ユーザーの設定に適用する必要がある、ID プロバイダから取得する属性を指定します。このテーブルには、ID プロバイダからの SAML アサーションで返されるユーザー属性の属性キーを指定します。その属性キーに対して返される値は、ユーザーの設定に適用されます。このテーブルで定義されるエントリは、「ユーザーデフォルト」テーブルで指定されたデフォルト設定をオーバーライドします。
説明
説明として適用する属性値に対応する属性キーを入力します。
ホームマッシュアップ
ホームマッシュアップの決定に使用する属性値に対応する属性キーを入力します。
モバイルマッシュアップ
モバイルマッシュアップの決定に使用する属性値に対応する属性キーを入力します。
タグ
ユーザーに適用するタグの決定に使用する属性値に対応する属性キーを入力します。
グループ
プロビジョニングされたユーザーを追加する ThingWorx グループの決定に使用する属性値に対応する属性キーを入力します。
プロビジョニングされたユーザーのデフォルトのグループ
自動プロビジョニングされたユーザーを追加するグループを指定します。このグループのリストは、既存のグループメンバーシップをオーバーライドします。
ID プロバイダグループマッピング
このテーブルは、IdP グループ名を対応する ThingWorx グループ名にマッピングします。
たとえば、ThingWorx でプロビジョニングされたグループに IdP とは異なる名前を割り当てることがあります。名前をマップすると、IdP 内のグループに加えた変更はマッピングされた ThingWorx グループに反映されます。
ユーザー拡張機能 - プロビジョン名
このテーブルは、ユーザー拡張機能プロパティの値を設定するために使用します。これらのプロパティの詳細については、 ユーザーを参照してください。
テーブルエントリごとに以下の 3 つの列があります。
「プロパティ名」は、ユーザー拡張機能のプロパティを識別します。
「デフォルト値」では、ユーザーアカウントのプロビジョニング時にデフォルトでプロパティに適用される値を指定できます。
「ID プロバイダ属性」では、SAML アサーションで返されるカスタム属性を指定できます。返される属性の値は、プロパティ値として適用されます。このフィールドが定義されている場合、「デフォルト値」の設定をオーバーライドします。
* 
SCIM プロビジョニングも使用している場合は、このテーブルを使用して、認証サーバーまたは IdP から SCIM スキーマ属性を介して返されるユーザー拡張機能属性値に対して、SAML アサーションが存在することを確認してください。詳細については、 プロビジョニングを参照してください。
ThingWorx で SSO が有効になっている場合、ThingworxSSOAuthenticator が有効になり、デフォルトの認証システムになります。SSO が ThingWorx で有効になっていない場合、認証システムは無効になります。SSO を有効にすると、以下のログイン認証システムは無効になります。
ThingworxAppKeyAuthenticator
ThingworxBasicAuthenticator
ThingworxFormAuthenticator
ThingworxHttpBasicAuthenticator
以下の認証システムには、これらを有効にするためのコンフィギュレーション可能オプションがあります。ただし、SSO はそのオプションをオーバーライドし、これらは SSO が有効になっているときには常に無効になります。
ThingworxMobileAuthorizationAuthenticator
ThingworxMobileTokenAuthenticator
カスタム認証システム
以下のテーブルは、ThingworxSSOAuthenticator で選択されたオプションによる ThingWorx でのユーザー状態の変更、およびユーザーがログインした時点での認証サーバーまたは IdP での状態に関する情報を示しています。これらのシナリオでは、認証サーバーまたは IdP 内でのユーザー状態は変更されず、ThingWorx 内での状態のみが影響を受けます。[主] が付けられたアイテムは、ログイン後に ThingWorx でのユーザーの状態に影響を与える主な要因です。
AS または IdP でのユーザー状態
ログイン前の ThingWorx でのユーザー状態
ThingworxSSOAuthenticator のオプション
ログイン後の ThingWorx でのユーザー状態
存在しない
存在しない
すべてのコンフィギュレーション
存在しない
ログインには使用不可
存在しない
存在する (Thingworx 管理者によって手動で作成される)
[主] パスワードが設定され、Thingworx に存在していた
ユーザープロビジョニングの作成が有効
ユーザープロビジョニングの修正が有効
[主] 「ユーザープロビジョニング除外リスト」にリストされている
存在する
修正されない
ログインには使用不可
存在しない
存在する (Thingworx 管理者によって手動で作成される)
[主] パスワードは設定されていない、または ThingWorx に存在しない
ユーザープロビジョニングの作成が有効
ユーザープロビジョニングの修正が有効
[主] 「ユーザープロビジョニング除外リスト」にリストされている
存在する
修正されない
ログインには使用不可
存在しない
存在する (Thingworx 管理者によって手動で作成される)
ユーザープロビジョニングの作成が有効
ユーザープロビジョニングの修正が有効
[主] 「ユーザープロビジョニング除外リスト」にリストされていない
存在する
修正されない
ログインには使用不可
存在する
[主] 無効
存在しない
ユーザープロビジョニングの作成が有効
ユーザープロビジョニングの修正が有効
「ユーザープロビジョニング除外リスト」にリストされていない
存在しない
ログインには使用不可
存在する
[主] ロックされている
存在しない
ユーザープロビジョニングの作成が有効
ユーザープロビジョニングの修正が有効
「ユーザープロビジョニング除外リスト」にリストされていない
存在しない
ログインには使用不可
存在する
存在しない
[主] ユーザープロビジョニングの作成が無効
ユーザープロビジョニングの修正が有効
「ユーザープロビジョニング除外リスト」にリストされていない
存在しない
ログインには使用不可
存在する
存在しない
[主] ユーザープロビジョニングの作成が有効
ユーザープロビジョニングの修正が有効
[主] 「ユーザープロビジョニング除外リスト」にリストされていない
存在する (作成される)
マッピングされたグループにメンバーとして追加される
デフォルトのユーザー設定が追加される
ログインに使用可能
存在する
存在する
ユーザープロビジョニングの作成が有効
[主] ユーザープロビジョニングの修正が有効
[主] 「ユーザープロビジョニング除外リスト」にリストされていない
[主] ユーザーのデフォルト設定が構成されている
ユーザーが修正される
マッピングされたグループのメンバーとして追加/除去される
デフォルトのユーザー設定が追加される
ログインに使用可能
存在する
存在する
ユーザープロビジョニングの作成が有効
[主] ユーザープロビジョニングの修正が有効
[主] 「ユーザープロビジョニング除外リスト」にリストされている
[主] ユーザーのデフォルト設定が構成されている
ユーザーは修正されない
ログインに使用可能