監査アクティビティのセキュリティ
ThingWorx Platform 上のアクティビティは、ユーザーのコンテキスト、特にユーザーのセキュリティコンテキストで実行されます。ユーザーとは、Thing に対するサービスを呼び出した人、または Edge デバイスからの受信メッセージを配信するためにプラットフォームにアクセスしている ThingWorx Connection Server を指します。このどちらのユーザーも、そのユーザーに割り当てられているアクセス許可から成る、定義済みのセキュリティコンテキストで操作を行います。デザインタイムとランタイムのアクセス許可があります。
* 
セキュリティコンテキストでのスイッチの監査については、セキュリティコンテキストの切り替えの監査 を参照してください。
ThingWorx のアクセス許可
ThingWorx ではエンティティのセキュリティを確保するため、以下のアクセス許可を設定します。
デザインタイムアクセス許可 - どのユーザーグループおよびユーザーがエンティティを作成、読み取り、更新、削除できるかを制御します。
ランタイムアクセス許可 - どのユーザーグループおよびユーザーが、データにアクセスし、サービスを実行し、Thing (データテーブル、ストリーム、およびユーザーを含む) に対してイベントをトリガーできるかを制御します。ランタイムアクセス許可は、Thing、Thing Template、またはエンティティコレクションのレベルで設定できます。モデル内の抽象エンティティ、Thing Shape、データシェイプ、ユーザーグループにはランタイムアクセス許可がありません。
表示アクセス許可 - どの組織および組織単位がエンティティを表示するためのアクセス権を持つかを定義します。ある組織または組織単位のメンバーに表示権限がない場合、それらのメンバーはエンティティリストやサーチ結果内のエンティティを表示できません。表示権限内の読み取り、書き込み、購読、およびその他のアクセス許可を割り当てることもできません。
使用例および必要なアクセス許可
使用例、ユーザーが見る必要があるもの、必要なアクセス許可は、以下のとおりです。
管理者と同じようにすべての監査エントリを閲覧する必要があるユーザーは、以下の非管理者が監査サービスを実行するために必要なアクセス許可のセクションで説明する手順に従って作成されたユーザーグループに追加する必要があります。
特定の Thing に関連付けられているすべての監査エントリを閲覧する必要があるユーザーは、監査担当者ユーザーグループに追加し、その Thing の QueryAuditHistory サービスに対するランタイムアクセス許可と、その Thing に対する表示アクセス許可とランタイムアクセス許可を付与する必要があります。
各自のユーザーコンテキスト内の監査エントリだけを閲覧する必要があるユーザーは、その Thing の QueryAuditHistory サービスに対するランタイムアクセス許可と、その Thing に対するランタイムアクセス許可と表示アクセス許可を付与する必要があります。
v.9.0.0 の ThingWorx Platform では、非管理者ユーザーにアクセス許可を割り当てるために、"監査担当者" という名前のユーザーグループが追加されました。詳細については、次のセクションを参照してください。
管理者ユーザーグループと監査担当者ユーザーグループのアクセス許可
管理者グループのユーザーは、デフォルトでは、監査サブシステム、そのサービス、データなど、ThingWorx 内のすべてに対する完全なアクセス許可を持ちます。監査担当者グループのユーザーは、デフォルトでは、Thing の QueryAuditHistiory サービスを実行しているときにほかのユーザーによって作成された監査エントリを閲覧できます。非管理者のユーザーおよびユーザーグループの場合、サービスオーバーライドを使用して、監査サブシステムによって提供されるサービスを呼び出す権限を管理者が付与する必要があります。サービスオーバーライドの使用方法の詳細については、サービスのオーバーライドを参照してください。
管理者グループのユーザーは、デフォルトでは、監査サブシステムに関連する以下のエンティティへのアクセス許可を持ちます。
監査サブシステム: 両方の実装で以下のサービスを公開するシステムオブジェクト。
サービスの実行 - QueryAuditHistory (監査サブシステムに対して実行されます)
サービスの実行 - ArchiveAuditHistory
サービスの実行 - ExportAuditData
サービスの実行 - CleanupOfflineAudit
サービスの実行 - GetAuditEntryCount
サービスの実行 - PurgeAuditData
サービスの実行 - ExportOnlineAuditData
サービスの実行 - ArchiveAuditHistoryDirectPersistence
サービスの実行 - QueryAuditHistoryWithQueryCriteria
サービスの実行 - QueryAuditHistory (Thing に対して実行されます)
AuditArchiveFileRepository: 監査アーカイブに使用される監査サブシステムのファイルリポジトリ。サブシステムの起動時に作成され、リポジトリには現在アクティブな実装のディレクトリがあります。ある実装から別の実装に切り替えると、前のアクティブな実装からの監査データが保持され、現在アクティブな実装用に新規ディレクトリが作成されます。リポジトリの構造は、両方の実装がアクティブになったことがあるインストールでは以下のようになります。
アクティブな実装に応じて、以下の 2 つのスケジューラのいずれかを使用して監査データがアーカイブされます。
AuditArchiveScheduler: データテーブル実装で監査エントリの自動アーカイブを制御する Scheduler Thing。
AuditArchiveSchedulerDirectPersistence: 直接永続実装で監査エントリの自動アーカイブを制御する Scheduler Thing。
AuditPurgeScheduler: オンライン監査エントリの自動パージを制御する Scheduler Thing。
AuditArchiveCleanupScheduler: オフラインのアーカイブされた監査データファイルのクリーンアップをスケジュールします。
AuditArchiveCleanupNotificationScheduler: クリーンアップのリマインダー通知を送信します。
非管理者ユーザーに必要なアクセス許可
以下の表に、ユーザーグループ内の非管理者ユーザーがこれらの監査サブシステムエンティティにアクセスできるようにするために付与可能なアクセス許可を示します。
* 
デザインタイムでオブジェクトを編集するアクセス許可を非管理者ユーザーに付与しないでください。管理者は、デザインタイムでシステムオブジェクトを編集しないでください。デザインタイムで編集した場合、アップグレード中に変更内容が失われるリスクがあります。
非管理者ユーザーグループに必要な監査エンティティへのアクセス許可
エンティティ
非管理者ユーザーグループに対するアクセス許可
監査サブシステム
非管理者ユーザーと非管理者ユーザーグループがサービス QueryAuditHistoryQueryAuditHistoryWithQueryCriteriaArchiveAuditHistoryExportAuditDataExportOnlineAuditDataCleanupOfflineAuditPurgeAuditDataGetAuditEntryCount、および ArchiveAuditHistoryDirectPersistence を呼び出すことを許可するには、以下を付与します。
監査サブシステム - 「デザインタイム」 > 「読み取り」
監査サブシステム - 「ランタイム」 > 「プロパティ、サービス、またはイベントのオーバーライド」。そのグループ内のユーザーによる呼び出しを可能にする各サービスにサービスオーバーライドを定義して、各サービスに「サービスの実行」を追加します。
AuditArchiveFileRepository
監査サブシステムの AuditArchiveFileRepository に対するアクセス許可を非管理者ユーザーまたは非管理者ユーザーグループに付与してはなりません。
AuditArchiveScheduler (データテーブル実装)
管理者グループのユーザーはこの Scheduler Thing にアクセス可能でなければなりません。Scheduler Thing には lastArchivedTime というプロパティがあり、これはアーカイブ操作が正常に実行されるたびに更新されます。可能ではありますが、管理者または非管理者を問わず、ユーザーは決してこのプロパティを更新することはできません。この理由 (および組織によってはその他の理由) により、非管理者ユーザーには Scheduler へのアクセス権を付与しないことをお勧めします。
AuditArchiveSchedulerDirectPersistence
管理者グループのユーザーはこの Scheduler Thing にアクセス可能でなければなりません。Scheduler Thing には lastArchivedTimeDirectPersistence というプロパティがあり、これはアーカイブ操作が正常に実行されるたびに更新されます。可能ではありますが、管理者または非管理者を問わず、ユーザーは決してこのプロパティを更新することはできません。この理由 (および組織によってはその他の理由) により、非管理者ユーザーには Scheduler へのアクセス権を付与しないことをお勧めします。
AuditPurgeScheduler
管理者グループのユーザーだけがこの Scheduler Thing にアクセス可能でなければなりません。非管理者ユーザーにはこの Scheduler へのアクセス権を付与しないことをお勧めします。
AuditArchiveCleanupScheduler
管理者グループのユーザーだけがこの Scheduler Thing にアクセス可能でなければなりません。非管理者ユーザーにはこの Scheduler へのアクセス権を付与しないことをお勧めします。
AuditArchiveCleanupNotificationScheduler
非管理者ユーザーがクリーンアップサービスの通知を実行するためには、以下を行います。
AuditArchiveCleanupNotificationScheduler - 「デザインタイム」 > 「読み取り」
AuditArchiveCleanupNotificationScheduler - 「ランタイム」 > 「プロパティ、サービス、またはイベントのオーバーライド」。このサービスにサービスオーバーライドを定義します (「サービスの実行」)。
一般に、ユーザーグループ内の非管理者ユーザーが監査サブシステムのサービスを呼び出すことができるようにするには、ユーザーグループを作成し、そのユーザーグループに以下のアクセス許可を付与する必要があります。
監査サブシステム - 表示アクセス許可
監査サブシステム - デザインタイムアクセス許可 - 「読み取り」を許可
監査サブシステムランタイムアクセス許可 - そのグループ内のユーザーによる呼び出しを可能にする各サービスにサービスオーバーライドを定義し、「サービスの実行」を許可します。
以下の表に、監査サブシステムでサービスの呼び出しを許可するエンティティに対して付与する必要があるアクセス許可を示します。
非管理者ユーザーが監査サービスを実行するためのアクセス許可
サービス
エンティティタイプ
エンティティ名
表示
デザインタイム
ランタイム
QueryAuditHistory
サブシステム
AuditSubsystem
はい
読み取り
サービス: QueryAuditHistory - サービスの実行
データシェイプ
AuditHistory
はい
読み取り
QueryAuditHistoryWithQueryCriteria
サブシステム
AuditSubsystem
はい
読み取り
サービス: QueryAuditHistoryWithQueryCriteria - サービスの実行
データシェイプ
AuditHistory
はい
読み取り
ArchiveAuditHistory
サブシステム
AuditSubsystem
はい
読み取り
サービス: ArchiveAuditHistory: サービスの実行
Thing
AuditArchiveScheduler
はい
なし
プロパティ LastArchiveTime: プロパティの読み取りとプロパティの書き込み
ArchiveAuditHistoryDirectPersistence
サブシステム
監査サブシステム
はい
読み取り
サービス: ArchiveAuditHistory-DirectPersistence: サービスの実行
Thing
AuditArchiveSchedulerDirectPersistence
はい
なし
プロパティ LastArchiveTimeDirectPersistence: プロパティの読み取りとプロパティの書き込み
ExportAuditData
サブシステム
AuditSubsystem
はい
読み取り
サービス: ExportAuditData: サービスの実行
Thing
AuditArchiveScheduler
はい
なし
プロパティ LastArchivedTime: プロパティの読み取りとプロパティの書き込み
Thing
<ユーザーが作成したファイルリポジトリ>
はい
なし
すべてのサービス: サービスの実行
ExportOnlineAuditData
サブシステム
AuditSubsystem
はい
読み取り
サービス: ExportOnlineAuditData: サービスの実行
Thing
<ユーザーが作成したファイルリポジトリ>
はい
なし
すべてのサービス: サービスの実行
CleanupOfflineAudit
サブシステム
AuditSubsystem
はい
読み取り
サービス CleanupOfflineAudit: サービスの実行
Thing
AuditArchiveCleanupScheduler
はい
なし
プロパティ DaysToArchive: プロパティの読み取りとプロパティの書き込み
Thing
AuditArchiveCleanupNotificationScheduler
はい
なし
プロパティの読み取りとプロパティの書き込み
Thing
<ユーザーが作成したファイルリポジトリ>
はい
なし
すべてのサービス: サービスの実行
PurgeAuditData
サブシステム
AuditSubsystem
はい
読み取り
サービス PurgeAuditData: サービスの実行
Thing
AuditPurgeScheduler
はい
なし
プロパティの読み取りとプロパティの書き込み
GetAuditEntryCount
サブシステム
AuditSubsystem
はい
読み取り
サービス GetAuditEntryCount: サービスの実行
これは役に立ちましたか?