|
ThingWorx Flow 9.2 より前のバージョンを使用している場合、ThingWorx Flow に関連する手順を実行します。これらの手順は ThingWorx Flow 9.2 で自動化されました。ThingWorx Flow がインストールされている場合、sso-settings.json ファイルを設定する前に、RabbitMQ および Nginx を含む、ThingWorx Foundation と ThingWorx Flow のすべてのサービスを停止する必要があります。このファイルを設定した後で、RabbitMQ を最初に再起動してから、Nginx を含む ThingWorx Foundation と ThingWorx Flow のすべてのサービスを再起動する必要があります。
|
|
要件に合わせて各パラメータの値を編集するようにしてください。実装は、ThingWorx がホストされている場所、組織のセキュリティポリシー、フェデレーションの CAS など、いくつかの要因によって異なる場合があります。次のテーブルに示す情報をガイダンスとして使用して、さまざまなパラメータの値を設定します。
|
パラメータ
|
説明
|
値
|
||||
---|---|---|---|---|---|---|
clientBaseUrl
|
ThingWorx サーバーインスタンスの URL を指定します。
これは ThingWorx サーバーの完全修飾ドメイン名 (FQDN) に設定します。
ThingWorx Flow がインストールされている場合は、URL で ThingWorx Flow Nginx のホスト名と ThingWorx Flow Nginx のポート番号を指定する必要があります。
高可用性 (HA) 環境で動作するように ThingWorx を設定している場合、ロードバランサーのホストとポートを指定します。
|
http://<ThingWorx-FQDN>:<port-number>/Thingworx
または
ThingWorx Flow では、https://<ThingWorx Flow Nginx ホスト名>:<ThingWorx Flow Nginx ポート番号>/Thingworx
または
高可用性環境では、https://<ロードバランサーのホスト名>:<ロードバランサーのポート番号>/Thingworx
|
||||
idpMetadataFilePath
|
IdP メタデータファイルの絶対ファイルパスの場所を指定します。
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||||
metadataEntityId
|
サービスプロバイダ接続のエンティティ ID を指定します。
• CAS として PingFederate を使用: サービスプロバイダの接続を設定するときに選択した一意の ID を使用します。
|
-
|
||||
metadataEntityBaseUrl
|
ThingWorx サーバーの完全修飾ドメイン名を指定します。
ThingWorx Flow がインストールされている場合は、ThingWorx Flow Nginx の URL を指定します。
高可用性 (HA) 環境で動作するように ThingWorx を設定している場合、ロードバランサーのホストとポートを指定します。
|
http://<ThingWorx-FQDN>:<port-number>/Thingworx
または
ThingWorx Flow では、https://<ThingWorx Flow Nginx ホスト名>:<ThingWorx Flow Nginx ポート番号>/Thingworx
または
高可用性環境では、https://<ロードバランサーのホスト名>:<ロードバランサーのポート番号>/Thingworx
|
||||
webSSOProfileConsumerResponseSkew
|
SAML 2.0 WebSSO Assertion Consumer 応答スキュー公差を指定します。
この値を設定するときは、ユーザー個別のセキュリティ要件と企業ネットワークの遅延を考慮してください。
この設定を使用して、CAS から ThingWorx にログインリクエスト応答が返されるまで待つことができる時間の長さ (秒) を設定します。ログインリクエスト応答が返されるまでこの値よりも長い時間がかかる場合、ログイン試行は失敗します。
スキュー公差は、システムクロック間で想定される差を原因として、受信者が許容する応答有効期間の偏差です。関連する各システムのクロックが正しく同期されていることを確認して、スキューの影響を最小限に抑えることが最良事例です。
|
300
|
||||
webSSOProfileConsumerReleaseDOM
|
認証が完了した後にセキュリティフレームワークが SAML アサーションを保持するかどうかを決定します。
False に設定すると、認証が完了した後も SAML アサーションが保持されます。
|
true
|
||||
webSSOProfileResponseSkew
|
SAML 2.0 Web SSO プロファイル応答スキュー公差を指定します。
この値を設定するときは、ユーザー個別のセキュリティ要件と企業ネットワークの遅延を考慮してください。
スキュー公差は、システムクロック間で想定される差を原因として、受信者が許容する応答有効期間の偏差です。関連する各システムのクロックが正しく同期されていることを確認して、スキューの影響を最小限に抑えることが最良事例です。
|
300
|
||||
retriggerOnScopesRemoval
|
必要な範囲のリストが変更され、更新する必要があるかどうかを指定します。
値が true に設定された場合、必要な範囲のリストから範囲が追加または除去されたことを示します。
値が false に設定された場合、必要な範囲のリストに範囲が追加されたことを示します。
|
true
|
||||
samlAssertionUserNameAttributeName
|
ログイン時に ThingWorx ユーザーのユーザー名が格納される値を伝達する SAML 属性を指定します。ID プロバイダ内のこの属性の値が、ThingWorx ユーザー名に使用するユーザー名の値と対応していることを確認します。
|
• CAS として PingFederate または Azure AD を使用:
uid
• CAS として AD FS を使用:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||||
samlAssertionMaxAuthenticationAge
|
SAML 2.0 アサーションが期限切れになるまでの最大経過時間 (秒) を指定します。これにより、認証アサーションの最大セッション時間も指定します。
ID プロバイダで指定したセッションのタイムアウト値に一致する値を設定します。この値は使用されている IdP によって異なります。
|
• LDAP IdP を使用した CAS として PingFederate を使用 (Windchill): 7200 (これがデフォルトです)
• IdP として AD FS を使用 (CAS として AD FS または PingFederate を使用): 28800
• IdP として Azure AD を使用 (CAS として Azure AD または PingFederate を使用): 86400
|
||||
authnContextAsPassword
|
オプション。まれに、次のアサーションを SAML リクエストに配置する必要が生じる場合があります。
<saml2p:RequestedAuthnContext Comparison="exact">
<saml2:AuthnContextClassRef xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"> urn:oasis:names:tc:SAML:2.0:ac:classes:Password </saml2:AuthnContextClassRef> </saml2p:RequestedAuthnContext> そのような場合に、このプロパティを定義する必要があります。
|
false
|
|
SSO が有効なときにアプリケーションキー認証を有効にする場合は、次の ApplicationKeySettings のコンフィギュレーションに関するセクションを、BasicSettings の下の sso-settings.json の設定に追加します。この設定は、REST API リクエストを介した認証にアプリケーションキーを使用する場合にのみ必要です。この設定が有効/無効であることに関係なく、アプリケーションキーは、WebSocket を介してエッジデバイスから使用できます。
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
パラメータ
|
説明
|
値
|
||
---|---|---|---|---|
dbType
|
ThingWorx のインストールで設定および使用するデータベースのタイプを指定します。
• platform-settings.json ファイルで設定されているものと同じデータベースを使用するには、platform-settings.json で設定されているものと同じデータベースタイプおよび資格証明を指定します。
• 認証トークン専用のデータベースを使用するには、値として "default" を指定します。"default" として設定されると、新規の専用の H2 データベースが作成されます。
|
default
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
platform-settings.json ファイルで使用しているドライバークラス名を指定します。
|
dbType が default として設定されている場合は、org.h2.Driver に設定します。
|
||
dbType が h2 として設定されている場合は、org.h2.Driver に設定します。
|
||||
dbType が postgres として設定されている場合は、org.postgresql.Driver に設定します。
|
||||
dbType が mssql として設定されている場合は、com.microsoft.sqlserver.jdbc.SQLServerDriver に設定します。
|
||||
dbType が hana として設定されている場合は、com.sap.db.jdbc.Driver に設定します。
|
||||
url
|
ThingWorx インストールのデータベースの場所を示す URL を指定します。
|
dbType が default として設定されている場合は、jdbc:h2:\\<ドライブ>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db に設定します。
|
||
dbType が h2 として設定されている場合、このパラメータは不要です。
|
||||
dbType が postgres として設定されている場合は、jdbc:postgresql://<ホスト名>:<ポート>/thingworx に設定します。
|
||||
dbType が mssql として設定されている場合は、jdbc:sqlserver://<ホスト名>:<ポート>;databaseName=thingworx;applicationName=Thingworx に設定します。
|
||||
dbType が hana として設定されている場合は、jdbc:sap://<IP アドレス>:39041/?databaseName=thingworx¤tschema=TWADMIN に設定します。
|
||||
username
|
システムがアクセストークンを保存するために使用するデータベースのユーザー名を指定します。これは、platform-settings.json ファイルで指定したユーザー名と一致している必要があります。
|
-
|
||
password
|
システムがアクセストークンを保存するために使用するデータベースのパスワードを指定します。これは、platform-settings.json ファイルで指定したパスワードと一致している必要があります。
|
-
|
||
encryptTokenInDatabase
|
データベースで永続化する前にアクセストークンを暗号化する場合は true に設定します。
• ThingWorx 9.3 以降の場合:
この値を true に設定した場合、ThingWorx の起動時に private-keyset.cfg ファイルが自動的に作成され、ssoSecurityConfig フォルダに保存されます。このキーセットファイルは 1 回だけ作成されます。
• ThingWorx 9.2.x 以前の場合:
keyczarKeyFolderPath を有効な keyCzarKey の場所に設定します。
|
true
|
||
keyczarKeyFolderPath
|
• ThingWorx 9.3 以降の場合:
Keyczar ツールは廃止予定になっており、Tink に置き換えられます。アクセストークンをデータベースに永続化する前に暗号化するためには、このプロパティは不要になりました。
• ThingWorx 9.2.x 以前の場合:
encryptTokenInDatabase パラメータの値を true に設定した場合、このパスは有効な keyCzarKey の場所をポイントする必要があります。ThingworxPlatform\ssoSecurityConfig\symmetric フォルダが配置されるディレクトリを使用するようにパスを修正します。
|
• ThingWorx 9.3 以降の場合:
–
• ThingWorx 9.2.x 以前の場合:
Windows の場合: <ドライブ>:\\ThingworxPlatform\\ssoSecurityConfig\\symmetric
この <ドライブ> には、ThingWorx をインストールしたドライブを指定します。
Linux の場合: <フルパス>/ThingworxPlatform/ssoSecurityConfig/symmetric
|
dbType
|
権限承認が格納されるデータベース内の場所
|
---|---|
default
|
サブセット H2 データベースは、url パラメータのパスで指定された場所に作成されます。デフォルトでは、データベースは Tomcat ディレクトリを基準にしたディレクトリに配置されます。
dbType を default に設定した場合は、相対パスだけではなく、JDBC URL の完全修飾パスを指定することをお勧めします。
例: jdbc:h2:/ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
ThingworxStorage/database H2 データベースファイル内の H2 ThingWorx war ファイル。
|
postgres
|
ThingWorx PostgreSQL データベースの oauth_client_token テーブル内。
|
mssql
|
ThingWorx MS SQL データベースの oauth_client_token テーブル内。
|
hana
|
ThingWorx SAP HANA データベースの oauth_client_token テーブル内。
|
パラメータ
|
説明
|
値
|
||
---|---|---|---|---|
keyStoreFilePath
|
キーストアの絶対ファイルパスの場所を指定します。使用する環境に応じて、キーストアファイルが保存されるディレクトリを使用するようにパスを修正します。
|
Windows の場合: <ドライブ>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
この <ドライブ> には、ThingWorx をインストールしたドライブを指定します。
Linux の場合: <フルパス>/ThingworxPlatform/ssoSecurityConfig/sso-keystore.jks
|
||
keyStoreStorePass
|
キーストアのパスワードを指定します。
|
-
|
||
keyStoreKey
|
デフォルトのキーを指定します。
|
-
|
||
keyStoreKeyPass
|
プライベートキーにアクセスするためのパスワードを指定します。
|
-
|
|
AuthorizationServersSettings 設定には、複数の認証サーバーの情報が含まれることがあります。各サーバーは、sso-settings.json ファイル内で一意の識別子によって識別されます。
|
パラメータ
|
説明
|
値
|
||
---|---|---|---|---|
<AuthorizationServerId1>.clientId
|
認証サーバーからアクセストークンを取得するときに使用するクライアント識別子を指定します。
|
-
|
||
<AuthorizationServerId1>.clientSecret
|
認証サーバーによる認証に使用されるクライアントの資格証明を指定します。
ネットワーク上の完全修飾ドメイン名サーバーの URL に設定します。
|
-
|
||
<AuthorizationServerId1>.authorizeUri
|
アクセストークンを承認するためにユーザーがリダイレクトされる URI を指定します。
|
• CAS として PingFederate を使用:
https://<PingFederate ホスト名>:<PingFederate ポート番号>/as/authorization.oauth2
• CAS として Azure AD を使用: Azure AD 認証ドキュメントの「Update the ThingWorx Configuration Files」を参照してください。
• CAS として AD FS を使用: AD FS 認証ドキュメントの「Update the ThingWorx Configuration Files」を参照してください。
|
||
<AuthorizationServerId1>.tokenUri
|
OAuth2 アクセストークンを取得するために使用する URI を指定します。
ネットワーク上の完全修飾ドメイン名サーバーの URL に設定します。
|
https://<PingFederate ホスト名>:<PingFederate ポート番号>/as/token.oauth2
|
||
<AuthorizationServerId1>.clientAuthScheme
|
クライアントを認証するために使用する方式を指定します。次の値を使用できます。
• form
• header
• query
• none
|
form
|