監査サブシステム
監査サブシステムは、組織の IoT ソリューションのシステム管理者、アプリケーション管理者、監査担当者を対象とした組み込みの監査機能を提供します。デフォルトでは、プラットフォームの起動時に監査サブシステムは無効になっています。これを有効にする必要があります。
監査サブシステムは、以下の疑問に答えるために必要な情報を提供することを目的としています。
コンプライアンス要件を満たしているか?
不正を働いた従業員がシステムで何を行ったか?
いつ誰がどのような変更を行ったか?
* 
監査ログはデバッグログの一種ではないことを覚えておくことが重要です。監査ログでは、いつ誰がどのような変更を行ったかと、コンプライアンス上の理由から捕捉する必要があるその他の情報が提供されます。
監査サブシステムの最初のリリースは ThingWorx Platform 8.2.0 の一部として提供されました。そのバージョンをデータテーブル実装と呼びます。ThingWorx Platform v.9.0.0 では、直接永続実装と呼ばれる別の実装の監査サブシステムも使用できます。直接永続実装は、より堅牢で高性能な監査ツールを提供するまったく新しい実装です。後方互換性を確保するため、監査サブシステムを有効にした場合、データテーブル実装がデフォルトの実装として使用されます。監査サブシステムを設定する際に、直接永続実装に切り替えることができます。
* 
ThingWorx Platform の今後のリリースでデータテーブル実装は廃止される予定なので、直接永続実装を使用することを強くお勧めします。また、QueryAuditHistory サービスは廃止されて QueryAuditHistoryWithQueryCriteria サービスが後継となる予定です。
以前にデータテーブル実装を使用していた場合、アップグレードを実行したときにデータは保持されます。アップグレードした後、直接永続実装に切り替える前に、すべてのオンライン監査データをアーカイブすることをお勧めします。
以下のセクションで、2 つの実装の監査対象アクティビティと監査サブシステムの機能について詳しく説明します。セクションのタイトルをクリックすると、そのコンテンツが表示されます。コンテンツを非表示にするには、タイトルをもう一度クリックします。
監査サブシステム機能、データテーブル実装 
データテーブル実装では以下の監査機能がサポートされています。
監査エントリのサーチ
オフラインストレージへのオンライン監査エントリのアーカイブ
エクスポート用に選択されている言語を使用した、オンライン/オフライン監査データのエクスポート
オンライン監査データのパージおよびアーカイブされた (オフライン) 監査データのクリーンアップ
監査サブシステムが有効になっていて「自動開始」オプションが選択されている場合、ThingWorx Platform が開始するとサブシステムも開始し、ThingWorx Platform が停止するとサブシステムも停止します。
v.8.5 以降の ThingWorx Platform では、このサブシステムは、あるユーザーから別のユーザーへのセキュリティコンテキストの切り替え、およびセキュリティコンテキストのスーパーユーザーへの昇格を監査します。詳細については、セキュリティコンテキストの切り替えの監査 を参照してください。
* 
大量の監査データを収集して保持する必要がある組織の場合、最高パフォーマンスを実現して追加の機能を使用するため、直接永続実装を使用することを強くお勧めします。
デフォルトでは、新しいインストールまたはアップグレードのサブシステムは無効になっています。さらに、データテーブル実装が有効になっていて、直接永続実装は無効になっています。
システム管理者は、監査サブシステムを有効にした場合、監査サブシステムのコンフィギュレーションを変更して、データテーブル実装から直接永続実装に切り替えることができます。監査サブシステムのコンフィギュレーションを参照してください。
ThingWorx Platform での監査サブシステム、直接永続 
直接永続実装では、データテーブル実装のすべての監査機能に加えてその他の機能が提供されます。ThingWorx Platform v.9.0.0 でこの実装が追加されたことに伴い、監査サブシステムは大きく変化し、パフォーマンスとスケーラビリティが次のように向上しました。
監査データの永続化では ThingWorx Platform の永続化プロバイダが使用されます。この実装では、ThingWorx Platform インスタンスの永続化プロバイダとして PostgreSQL または MSSQL データベースを使用できます。
* 
監査サブシステムのコンフィギュレーションページから、プラットフォームの永続化プロバイダのコンフィギュレーションを変更することはできません。
クエリーのパフォーマンスが向上します。
さまざまな組織のニーズや用途に合わせてクエリーを設定できます。クエリーサービスで、クエリーのカテゴリパラメータとしてローカライズトークンを使用できます。
直接永続実装でデータベースを使用することで、クエリー機能が向上します。直接永続実装で QueryAuditHistory および QueryAuditDataWithQueryCriteria サービスを使用する場合、データテーブル実装で使用可能なフィルタと並べ替えに加えて、ページ付けプロパティを指定できます。
* 
QueryAuditHistory および QueryAuditHistoryWithQueryCriteria サービスでは表示チェックは実行されません。このサービスを実行するアクセス許可を持つユーザーには、すべてが表示されます。クエリーサービスは、監査サブシステムの「サービス」ページから直接実行できます。ThingWorx Composer UI の「監視」から取得可能な監査ログを使用して、クエリーを間接的に実行することもできます。適切なアクセス権を持つユーザーは、ThingWorx Composer から手動でサービスを実行できます。開発者は ThingWorx REST API を使用して、サービスをプログラムによって実行できます。
Thing レベルから別の QueryAuditHistory サービスを実行できます。このサービスでは、クエリー対象のデータが現在の Thing と現在のユーザーのみに制限されます。このサービスを実行したユーザーが Auditors グループに属している場合、そのユーザーは、その Thing についてのみ、その他すべてのユーザーの操作を見ることができます。
* 
ThingWorx Platform v.9.0.0 から、Auditors ユーザーグループが使用可能になりました。
直接永続実装では、ExportAuditData サービスのほかに、ExportOnlineAuditData サービスも提供されます。このサービスの詳細については、オンライン監査データのエクスポートを参照してください。
直接永続実装では、ArchiveAuditHistoryDirectPersistence[DATETIME[) サービスにより、データテーブル実装よりも低コストのストレージオプションが提供されます。このサービスは、ThingWorx データベース内の監査エントリを、監査データ用に設定されたファイルリポジトリ内の AuditArchiveDirectPersistence フォルダにあるファイルにコピーします。
監査サブシステムでは、大量の監査データを必要とする顧客も少量の監査データしか必要としない顧客もサポートされます。データ保持に関する個々のニーズに基づいて、サブシステムを設定する方法についてガイダンスが提供されています。監査サブシステムのコンフィギュレーションを参照してください。
監査サブシステムのサービスの実行を追跡するカテゴリ AUDIT が提供されています。
サブシステムには、カテゴリごとに追加の監査メッセージがあります。直接永続実装の監査メッセージの詳細については、ThingWorx 監査メッセージを参照してください。
サブシステムに用意されている監査カテゴリのセットが組織のすべての要件を満たしていない場合、開発者はカスタム監査カテゴリとカスタム監査メッセージを作成できます。カスタム監査カテゴリ を参照してください。
ベータのみ: 直接永続実装では、監査データをクエリーするための新しいユーザーインタフェースが ThingWorx Composer 内に提供されることで、監査サブシステムの操作性が向上します。この新しい UI は Composer の「監視」セクションにタブとして表示され、クエリーのフィルタオプションや、クエリー結果のページ付けオプションが提供されます。
監査ログには機密データが含まれていることがあります。監査データの完全性を確保するには、ThingWorx のアクセス許可機能を使用してアクセスを制限してください。詳細については、監査アクティビティのセキュリティを参照してください。
監査対象のアクティビティ 
どちらの実装でも、ThingWorx Platform でさまざまなコンポーネントや拡張機能によって生成されたイベントが監視されます。プラットフォームのファイルサブシステムを使用したファイル転送などのアクティビティによってイベントが生成されることがあります。そのようなイベントを購読し、これらを使用してほかの操作をトリガーできます。
ThingWorx では次のタイプの組み込みイベントに対して監査が行われます。
Thing 関連イベント - FileTransfer および RemoteSession
* 
v.9.0.0 の ThingWorx Platform では、ThingStart イベントはデフォルトでは無効になっています。これを有効にするには、コンフィギュレーションファイルplatform-settings.jsonを編集します。有効にした場合、このイベントが監査されます。
セキュリティ監視イベント - LoginSucceededLoginFailedApplicationKeySucceededApplicationKeyFailed。さらに、セキュリティコンテキストの切り替えが監査されます。
* 
ApplicationKeySucceeded および ApplicationKeyFailed イベントは、HTTP/HTTPS REST 接続に対してのみトリガーされます。
サブシステムイベント - サブシステムのコンフィギュレーションに対する更新が監査されます。さらに、アーカイブ、エクスポート、クリーンアップ、パージなどの監査サービスの呼び出しが AUDIT カテゴリで監査されます。
* 
サブシステムでの開始、停止、再起動操作は監査されません。
通常、以下のイベントは ThingWorx 内のエンティティに対する操作によってトリガーされます。
Thing 関連イベントは、ファイル転送サブシステムを使用したファイルの転送やトンネリング (RemoteSession イベント) など、Thing に対して実行可能な操作によってトリガーされます。
セキュリティ監視イベントは、ThingWorx にアクセスするユーザー用です。
監査機能のカスタマイズ 
カスタム監査機能には次のコンポーネントがあります。
カスタム監査カテゴリ
カスタム監査メッセージ
カスタム監査イベント
カスタム監査カテゴリトークンとカスタム監査メッセージトークンを作成するには、次の 2 つの方法があります。
ThingWorx Java SDK を使用して、プラットフォーム用に新規のバックエンド Java 拡張機能を作成。拡張機能を使用したカスタム監査カテゴリの作成を参照してください。拡張機能にはローカライズテーブルが含まれている必要があります。これにより、拡張機能が ThingWorx Platform にインポートされると、監査カテゴリトークンと監査メッセージトークンが追加されたローカライズテーブルがインポートされます。
カスタム監査カテゴリの場合、ThingWorx Composer から ThingWorx ローカライズテーブルを修正。カスタム監査カテゴリ を参照してください。
2 つのアスペクトが必要なので、カスタム監査イベントは拡張機能のコードで定義する必要があります。これらのアスペクトは Composer のユーザーインタフェースには表示されません。つまり、Composer からカスタムイベントを追加することはできません。これらのアスペクトは、イベントを監査する必要があることをプラットフォームに知らせます。以下の図では、この 2 つのアスペクトがハイライトされています。
これは役に立ちましたか?