|
SSO 用に設定している ThingWorx Core インスタンスに がインストールされている場合、sso-settings.json ファイルを設定する前に、RabbitMQ と Nginx を含むすべての ThingWorx Core および サービスを停止する必要があります。このファイルを設定した後で、RabbitMQ を最初に再起動してから、Nginx を含む ThingWorx Core と のすべてのサービスを再起動する必要があります。
|
|
要件に合わせて各パラメータの値を編集するようにしてください。実装は、ThingWorx がホストされている場所、組織のセキュリティポリシー、フェデレーションの CAS など、いくつかの要因によって異なる場合があります。次のテーブルに示す情報をガイダンスとして使用して、さまざまなパラメータの値を設定します。
|
パラメータ
|
説明
|
値
|
||
---|---|---|---|---|
clientBaseUrl
|
ThingWorx サーバーインスタンスの URL を指定します。
これは ThingWorx サーバーの完全修飾ドメイン名に設定します。
がインストールされている場合は、 Nginx の URL を指定します。
|
http://<ホスト名>:<port-number>/Thingworx
または
https://<ThingWorx Flow Nginx ホスト名>:<ThingWorx Flow Nginx ポート番号>/Thingworx
|
||
idpMetadataFilePath
|
IdP メタデータファイルの絶対ファイルパスの場所を指定します。
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
サービスプロバイダ接続のエンティティ ID を指定します。
これは、PingFederate でサービスプロバイダの接続を設定するときに選択した一意の ID です。
|
-
|
||
metadataEntityBaseUrl
|
ThingWorx サーバーの完全修飾ドメイン名を指定します。この値は、ThingWorx ブラウザ URL と同じです。
がインストールされている場合は、 Nginx の URL を指定します。
|
http://<ホスト名>:<port-number>/Thingworx
または
https://<ThingWorx Flow Nginx ホスト名>:<ThingWorx Flow Nginx ポート番号>/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 ユーザー名に使用するユーザー名の値と対応していることを確認します。
|
uid
|
||
samlAssertionMaxAuthenticationAge
|
SAML 2.0 アサーションが期限切れになるまでの最大経過時間 (秒) を指定します。これにより、認証アサーションの最大セッション時間も指定します。
ID プロバイダで指定したセッションのタイムアウト値に一致する値を設定します。
|
7200 seconds
|
||
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> そのような場合に、このプロパティを定義する必要があります。
|
true
|
|
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 に設定します。
|
true
|
||
keyczarKeyFolderPath
|
encryptTokenInDatabase パラメータの値を true に設定した場合、このパスは有効な keyCzarKey の場所をポイントする必要があります。ThingworxPlatform\ssoSecurityConfig\symmetric フォルダが配置されるディレクトリを使用するようにパスを修正します。
|
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 を指定します。
|
https://<PingFederate ホスト名>:<PingFederate ポート番号>/as/authorization.oauth2
|
||
<AuthorizationServerId1>.tokenUri
|
OAuth2 アクセストークンを取得するために使用する URI を指定します。
ネットワーク上の完全修飾ドメイン名サーバーの URL に設定します。
|
https://<PingFederate ホスト名>:<PingFederate ポート番号>/as/token.oauth2
|
||
<AuthorizationServerId1>.clientAuthScheme
|
クライアントを認証するために使用する方式を指定します。次の値を使用できます。
• form
• header
• query
• none
|
form
|