監査アクティビティのセキュリティ
ThingWorx Platform 上のアクティビティは、ユーザーのコンテキスト、特にユーザーのセキュリティコンテキストで実行されます。ユーザーとは、Thing に対するサービスを呼び出した人、または Edge デバイスからの受信メッセージを配信するためにプラットフォームにアクセスしている ThingWorx Connection Server を指します。このどちらのユーザーも、そのユーザーに割り当てられているアクセス許可から成る、定義済みのセキュリティコンテキストで操作を行います。デザインタイムとランタイムのアクセス許可があります。
* 
セキュリティコンテキストでのスイッチの監査については、 セキュリティコンテキストの切り替えの監査 を参照してください。
アクセス許可の設定
ThingWorx ではデザインタイムとランタイムの 2 セットのアクセス許可があります。デザインタイムアクセス許可は、エンティティの修正 (作成、読み取り、更新、削除) が許可されるユーザーを管理するためのものです。ランタイムアクセス許可では、Thing (データテーブル、ストリーム、ユーザーを含む) のデータへのアクセス、サービスの実行、イベントのトリガーを行えるユーザーを指定します。
管理者はユーザーグループに対する明示的なアクセス許可や、これらのアクセス許可をオーバーライドする例外を定義できます。たとえば、サービスを実行するアクセス許可を制限してから、特定の 1 つのサービスだけを実行することをユーザーに許可するサービスオーバーライドを定義できます。この柔軟性により、特定のユーザーグループがアクセス可能な Thing プロパティ、イベント、サービスなどを細かく制御できます。デフォルトでは、管理者グループのユーザーだけが監査サブシステムの各コンポーネントに対する完全なアクセス許可を持ちます。したがって、管理者はサービスオーバーライドを使用して、監査サブシステムによって提供されるサービスを呼び出す権限を非管理者ユーザーに付与する必要があります。
デフォルトでは、管理者グループのユーザーは以下の監査コンポーネントに対するアクセス許可を持ちます。
監査サブシステム: サービス QueryAuditHistoryArchiveAuditHistoryExportAuditData、および PurgeAuditData を公開するシステムオブジェクト。
AuditArchiveFileRepository: 監査アーカイブに使用される監査サブシステムのファイルリポジトリ。
AuditArchiveScheduler: 監査エントリの自動アーカイブを制御する Scheduler Thing。
AuditPurgeScheduler: 監査エントリの自動パージを制御する Scheduler Thing。
AuditArchiveCleanupScheduler: アーカイブされているファイルのクリーンアップをスケジュールします。
AuditArchiveCleanupNotificationScheduler: クリーンアップのリマインダー通知を送信します。
以下の表に、ユーザーグループ内の非管理者ユーザーが各コンポーネントにアクセスできるようにするために付与可能なアクセス許可を示します。非管理者ユーザーグループが監査サブシステムのサービスを実行するために必要なアクセス許可については、以下の 非管理者が監査サービスを実行するために必要なアクセス許可のセクションを参照してください。
* 
デザインタイムでオブジェクトを編集するアクセス許可を非管理者ユーザーに付与しないでください。管理者は、デザインタイムでシステムオブジェクトを編集しないでください。デザインタイムで編集した場合、アップグレード中に変更内容が失われるリスクがあります。
コンポーネント
非管理者ユーザーグループに対するアクセス許可
監査サブシステム
非管理者ユーザーと非管理者ユーザーグループがサービス QueryAuditHistoryArchiveAuditHistoryExportAuditData、および PurgeAuditData を呼び出すことを許可するには、以下を行います。
監査サブシステム - 「デザインタイム」 > 「読み取り」
監査サブシステム - 「ランタイム」 > 「プロパティ、サービス、またはイベントのオーバーライド」。そのグループ内のユーザーによる呼び出しを可能にする各サービスにサービスオーバーライドを定義して、各サービスに「サービスの実行」を追加します。
AuditArchiveFileRepository
監査サブシステムの AuditArchiveFileRepository に対するアクセス許可を非管理者ユーザーまたは非管理者ユーザーグループに付与してはなりません。
AuditArchiveScheduler
管理者グループのユーザーはこの Scheduler Thing にアクセス可能でなければなりません。Scheduler Thing には lastArchivedTime というプロパティがあり、これはアーカイブ操作が正常に実行されるたびに更新されます。可能ではありますが、管理者または非管理者を問わず、ユーザーは決してこのプロパティを更新することはできません。この理由 (および組織によってはその他の理由) により、非管理者ユーザーには Scheduler へのアクセス権を付与しないことをお勧めします。
AuditPurgeScheduler
管理者グループのユーザーだけがこの Scheduler Thing にアクセス可能でなければなりません。非管理者ユーザーにはこの Scheduler へのアクセス権を付与しないことをお勧めします。
AuditArchiveCleanupScheduler
非管理者ユーザーがクリーンアップサービスを実行するためには、以下を行います。
AuditArchiveCleanupScheduler - 「デザインタイム」 > 「読み取り」
AuditArchiveCleanupScheduler - 「ランタイム」 > 「プロパティ、サービス、またはイベントのオーバーライド」。このサービスにサービスオーバーライドを定義します (「サービスの実行」)。
AuditArchiveCleanupNotificationScheduler
非管理者ユーザーがクリーンアップサービスの通知を実行するためには、以下を行います。
AuditArchiveCleanupNotificationScheduler - 「デザインタイム」 > 「読み取り」
AuditArchiveCleanupNotificationScheduler - 「ランタイム」 > 「プロパティ、サービス、またはイベントのオーバーライド」。このサービスにサービスオーバーライドを定義します (「サービスの実行」)。
非管理者が監査サービスを実行するために必要なアクセス許可
一般に、ユーザーグループ内の非管理者ユーザーが監査サブシステムのサービスを呼び出すことができるようにするには、ユーザーグループを作成し、そのユーザーグループに以下のアクセス許可を付与する必要があります。
監査サブシステム - 表示アクセス許可
監査サブシステム - デザインタイムアクセス許可 - 「読み取り」を許可
監査サブシステムランタイムアクセス許可 - そのグループ内のユーザーによる呼び出しを可能にする各サービスにサービスオーバーライドを定義し、サービスの実行を許可します。
以下の表に、監査サブシステムでサービスの呼び出しを許可するエンティティに対して付与する必要があるアクセス許可を示します。
サービス
エンティティタイプ
エンティティ名
表示
デザインタイム
ランタイム
QueryAuditHistory
サブシステム
AuditSubsystem
はい
読み取り
サービス: QueryAuditHistory - サービスの実行
データシェイプ
AuditHistory
はい
読み取り
ArchiveAuditHistory
サブシステム
AuditSubsystem
はい
読み取り
サービス: ArchiveAuditHistory: サービスの実行
Thing
AuditArchiveScheduler
はい
なし
プロパティ LastArchiveTime: プロパティの読み取りとプロパティの書き込み
ExportAuditData
サブシステム
AuditSubsystem
はい
読み取り
サービス: ExportAuditData: サービスの実行
Thing
AuditArchiveScheduler
はい
なし
プロパティ LastArchivedTime: プロパティの読み取りとプロパティの書き込み
Thing
<ユーザーが作成したファイルリポジトリ>
はい
なし
すべてのサービス: サービスの実行
PurgeAuditData
サブシステム
AuditSubsystem
はい
読み取り
サービス PurgeAuditData: サービスの実行
Thing
AuditPurgeScheduler
はい
なし
プロパティの読み取りとプロパティの書き込み