監査サブシステム
監査サブシステムは、システム管理者、アプリケーション管理者、IoT ソリューションの監査担当者を対象とした組み込みの監査機能を提供します。
監査データの整合性を確保するため、ログを修正することはできません。また、監査ログには機密情報は一切含まれません。
これが有効になっていて「自動開始」オプションが選択されている場合、ThingWorx Platform が開始すると監査サブシステムも開始し、インスタンスが停止すると監査サブシステムも停止します。以下の監査機能がサポートされています。
監査エントリのサーチ (QueryAuditHistory サービスを使用)
オフラインストレージへの監査エントリのアーカイブ (デフォルトでは毎日自動的に実行)
エクスポート用に選択されている言語を使用した、監査データのエクスポート
監査データをオンラインで維持する所定の日数と、オンラインで維持する行数に基づいた、オンライン監査データのパージ。どちらも監査サブシステムのコンフィギュレーションで設定します。
開始、停止、および再起動操作の監査
v.8.5 の ThingWorx Platform では、監査サブシステムは、あるユーザーから別のユーザーへのセキュリティコンテキストの切り替え、およびセキュリティコンテキストのスーパーユーザーへの昇格を監査します。詳細については、 セキュリティコンテキストの切り替えの監査 を参照してください。
* 
デフォルトでは、新しいインストールまたはアップグレードの監査サブシステムは無効になっています。システム管理者は、 監査サブシステムの有効化でサブシステムを有効にする方法について参照してください。
監査対象のアクティビティ
ThingWorx Platform でのアクティビティによってイベントが発生することがあります。たとえば、ファイルのダウンロードを開始するとイベントが発生します。そのようなイベントを購読し、これらを使用してほかの操作をトリガーできます。ThingWorx では次のタイプの組み込みイベントに対して監査が行われます。
Thing 関連イベント - ThingStartFileTransfer、および RemoteSession
セキュリティ監視イベント - LoginSucceededLoginFailedApplicationKeySucceededApplicationKeyFailed
サブシステムイベント - v.8.5.0 の ThingWorx Platform では、サブシステムの開始、停止、および再起動操作が監査されます。再起動操作では再起動監査メッセージと開始/停止監査メッセージが監査ログに表示されることに注意してください。
* 
ApplicationKeySucceeded および ApplicationKeyFailed イベントは、HTTP/HTTPS REST 接続に対してのみトリガーされます。
通常、これらのイベントは ThingWorx 内のエンティティに対する操作によってトリガーされます。
Thing 関連イベントは、Thing の開始や再開、ファイル転送サブシステムを使用したファイルの転送、トンネリング (RemoteSession イベント) など、Thing に対して実行可能な操作によってトリガーされます。
セキュリティ監視イベントは、ThingWorx にアクセスするユーザー用です。
サブシステムが開始、停止、または再起動するとサブシステムイベントが発生します。
* 
ユーザー定義 (カスタム) イベントの監査はサポートされていません。
サブシステムが再起動すると、サブシステムのステータスに基づいて、2 つまたは 3 つの監査メッセージが挿入されます。次のようなシナリオについて考えます。
シナリオ: サブシステムのステータスが RUNNING である場合、Restart 操作は以下の 3 つのメッセージを挿入します。
System Subsystem "FederationSubsystem" restarted
System Subsystem "FederationSubsystem" stopped
System Subsystem "Federation Subsystem" started
シナリオ: サブシステムの現在のステータスが RUNNING でない場合、Stop 操作は実行されないので、Restart 操作は以下の 2 つのメッセージだけを挿入します。
System Subsystem "FederationSubsystem" restarted
System Subsystem "Federation Subsystem" started
セキュリティコンテキストの切り替えの監査
v.8.5 の ThingWorx Platform では、監査サブシステムは、あるユーザーから別のユーザーへのセキュリティコンテキストの切り替え、およびセキュリティコンテキストのスーパーユーザーへの昇格を監査します。一例として、セキュリティコンテキストの切り替えは、ThingWorx Extension API の SecurityContext.createUserContext(User anotherUser) メソッドが呼び出されたときに発生します。このメソッドによって、拡張機能またはスクリプトが別のユーザーのセキュリティコンテキストに切り替わります。ThingWorx Extension API の SecurityContext.createSuperUserContext() メソッドによって、拡張機能またはスクリプトがシステムのスーパーユーザーのセキュリティコンテキストに切り替わり、スーパーユーザーがアクセス可能なすべてのエンティティに拡張機能のコードがアクセス可能になります。
セキュリティコンテキストの変更は ThingWorx Platform 内部で頻繁に行われており、これによって標準ユーザーには表示されないサービスやエンティティにさまざまな機能がアクセス可能になります。このため、一部のセキュリティコンテキストの変更は監査されません。セキュリティ違反の可能性があるセキュリティコンテキストの意図的な変更だけが監査されます。
これらのメッセージのカテゴリは SECURITY_CONFIGURATION です。
セキュリティコンテキスト切り替えの監査メッセージは以下のとおりです。
audit.securityContext.SuperUser
User _currentUser__switched context to SuperUser within the Entity Context of __thingName__.
audit.SecurityContext.Changed
User __currentUser__ switched context to __username__within the Entity Context of __thingName__.