Mashup Builder > レガシーマッシュアップの移行 > マッシュアップ内のセキュリティで保護されていない定義式の置換
マッシュアップ内のセキュリティで保護されていない定義式の置換
Mashup Builder では、定義式は関数およびウィジェット内でサポートされています。定義式とは、1 つの値として評価する JavaScript コードのスニペットのことです。通常、定義式は、マッシュアップアプリケーションでカスタムビジネスロジックを作成する目的で使用します。マッシュアップ内のウィジェット、関数、およびデータサービスのデータを検証、計算、変換、および比較するカスタム定義式を記述できます。関数に加え、定義式は、グリッドウィジェットで入力検証を有効にするためにも使用されます。
マッシュアップ定義式で、マッシュアップの編集アクセス許可が付与されている ThingWorx ユーザーがランタイムにウィジェットおよびマッシュアップ関数とオブジェクトに加えて DOM も修正できるというセキュリティ問題が検出されました。この問題は、マッシュアップのランタイム環境に限定され、ユーザーがプラットフォームサーバー上でコードをリモートで実行することはできません。セキュリティ修正の一環として、バージョン 9.3.2、9.2.7、9.1.11、および 9.0.16 以降の ThingWorx プラットフォームでは、現在の関数の置換が導入されました。カスタム定義式をサポートし、この問題による影響を受けるウィジェットと関数は、以下のとおりです。
定義式関数 - 定義式を評価し、値を返します。
バリデータ関数 - 定義式を評価し、true または false のブール値を返します。
グリッド (テーマ指定可能) - 入力検証の定義式をサポートします。
グリッド (アドバンス)ウィジェット - 入力検証の定義式をサポートします。
グリッド (レガシー)ウィジェット - 入力検証の定義式をサポートします。
さらに、サポートされていないバージョンの ThingWorx (8.4 以前) の以下のレガシーウィジェットも影響を受けます。
定義式ウィジェット
バリデータウィジェット
* 
定義式ウィジェットとバリデータウィジェットは、ThingWorx 8.4 で関数に置き換えられました。詳細については、ThingWorx 8.4 リリースノートを参照してください。
セキュリティを向上させるため、バージョン 9.3.2、9.2.7、9.1.11、および 9.0.16 以降の ThingWorx プラットフォームでは、以下の機能強化が導入されています。
既存のセキュリティで保護されていない関数の新しい標準の置換とより安全な置換を追加しました。マッシュアップアプリケーションへの影響を最小限に抑えるには、「関数」パネルを使用して、マッシュアップ内のセキュリティで保護されていない関数を手動で置換します。
最新の標準バージョンを使用することを強くお勧めします。既存のセキュリティで保護されていない関数は、将来のリリースで除去されるまで引き続き機能します。
新しいマッシュアップエンティティで、セキュリティで保護されていない関数を作成する機能を除去しました。ただし、既存のマッシュアップでセキュリティで、保護されていない関数を追加または更新できます。
最新の安全なバリデータに切り替えることができるように、グリッドウィジェットにブールプロパティを追加しました。
グループ化された既存のセキュリティで保護されていない定義式関数とバリデータ関数は、「関数」パネルの「セキュリティで保護されていない」ラベルの下にあります。
グリッドバリデータに加えて、定義式関数とバリデータ関数によって使用される定義式内のグローバル TW.Runtime 関数およびオブジェクト、jQuery および DOM エレメントへのアクセスを制限しました。マッシュアップ定義式で ThingWorx ランタイムオブジェクトおよび関数を使用している場合、セキュリティで保護されていない関数を置換するときに、定義式を手動で更新して検証する必要がある場合があります。サポートされている関数とオブジェクトの詳細については、サポートされているランタイム関数とオブジェクトを参照してください。
* 
最新のセキュリティアップデートが使用可能になると同時に最新バージョンの ThingWorx にアップグレードすることを強くお勧めします。
影響を受ける ThingWorx のバージョン
以下のサポートされているバージョンの ThingWorx で関数およびウィジェット内の定義式を使用するすべてのマッシュアップがこの変更の影響を受けます。
ThingWorx 9.0.0 ~ 9.0.15
ThingWorx 9.1.0 ~ 9.1.10
ThingWorx 9.2.0 ~ 9.2.6
ThingWorx 9.3.0 および 9.3.1
ThingWorx バージョン 9.3.2、9.2.7、9.1.11、および 9.0.16 以降より、JavaScript 定義式内のマッシュアップランタイムオブジェクトおよび関数へのアクセスがさらに制限されています。これらの制限は、アプリケーションのセキュリティを向上させ、潜在的な脆弱性を削減する目的で追加されました。
* 
ThingWorx 8.4.x や 8.5.x などのカスタム定義式に対応する、サポートされていないバージョンの ThingWorx も影響を受けます。現在サポートされていないバージョンの ThingWorx を使用している場合、最新バージョンに移行することを強くお勧めします。サポートされていないバージョンの製品を使用すると、セキュリティ上のリスクにさらされる可能性があります。
これは役に立ちましたか?