セキュリティ
ThingWorx では、非常に粒度の細かいセキュリティモデルが用意されています。デザインタイムとランタイムの 2 セットのアクセス許可があります。デザインタイムのアクセス許可は、モデルの修正 (エンティティの作成、読み取り、更新、および削除) が可能なユーザーを管理するためのものです。一方、ランタイムのアクセス許可は、データへのアクセス、サービスの実行、および Thing (データテーブル、ストリーム、およびユーザーを含む) に対するイベントのトリガが可能なユーザーを決定します。セキュリティおよびアクセス許可のコントロールは、Composer「セキュリティ」セクションとメニューにあります。
各アクセス許可について、何らかの実行をユーザーまたはグループに対して明示的に許可する (たとえば、Thing を編集する) か、何らかの実行をグループに対して明示的に拒否する (たとえば、ユーザーグループに Thing の編集を許可しない) ことができます。アクセス許可は、グループレベルおよびユーザーレベルで適用できます。権限の明示的な拒否は、権限の付与を常にオーバーライドします。セキュリティチェックがデフォルトになり、操作が許可されなくなることに注意してください。ユーザーに特定の操作の許可を付与しない場合、その操作は拒否されます。
デザインタイムのアクセス許可は、エンティティに対する標準的な CRUD オペレーション (作成、読み取り、更新、削除) に対するものです。これらは、モデルの定義、およびモデルに変更を加えることができるユーザーを制御します。これらのアクセス許可は、個々のエンティティに適用でき (特定の Thing、Thing Shape、Data Shape などの読み取り、更新、または削除)、エンティティコレクション全体に幅広く適用することもできます (Thing、Thing Shape、Data Shape などの作成、読み取り、更新、または削除)。コレクションにアクセス許可を適用する場合は、個々のエンティティのレベルでこれらのアクセス許可をオーバーライド、追加、または除去できます。
ランタイムアクセス許可は、プロパティの読み取り、プロパティの書き込み、イベントの実行、サービスの実行など、すべてのエンティティ要素に適用されます。ランタイムアクセス許可のオーバーライドにより、プロパティ、サービス、イベントなど、特定要素のアクセス許可を削減できます。
ランタイムのアクセス許可は、Thing、Thing Template、またはコレクションのレベルで設定できます。コレクションは Thing または Thing Template のグループで、コレクションに対するアクセス許可は、そのコレクション内のすべてのアイテムに継承されます。個別の Thing Template レベルでランタイムとデザインタイムのアクセス許可を設定することもでき、その Thing Template から派生した Thing はすべてこれらの設定を継承します。継承されたアクセス許可はすべて、個々の Thing レベルでオーバーライドできます。
ランタイムのアクセス許可を持たないモデル内の抽象エンティティ。これらのエンティティには、Thing Shape、データシェイプ、グループなどがあります。
* 
ターゲットサーバーで ThingworxStorage からインポートする前に、対応するユーザー/グループが存在しない場合、コレクションは予期したとおりに書き込まれません。アクセス許可が確実に正しくインポートされるようにするには、ThingWorx でユーザーとグループを作成する必要があります。ユーザーとグループのエクスポートを作成し、それをインポートした後で、モデルの残りの部分をインポートします。
* 
コレクションレベルのアクセス許可 (Thing、Thing Template、ログなど) のエクスポートまたはインポートは、ThingworxStorage にエクスポートするとき、または ThingworxStorage からインポートするときにのみ行われます。ファイルからインポートするかファイルにエクスポートする場合、コレクションレベルのアクセス許可はエンティティレベルにのみ適用されます。