稽核子系統
稽核子系統為系統管理員、應用程式管理員及 IoT 解決方案的稽核者提供內建稽核能力。
為了確保稽核資料的完整性,記錄檔無法修改。此外,稽核記錄檔不包含任何敏感資訊。
若啟用並選取「自動啟動」選項,稽核子系統會在 ThingWorx Platform 啟動時啟動,在實例停止時停止。它支援下列稽核能力:
• 搜尋稽核項目 (使用 QueryAuditHistory 服務)
• 將稽核項目封存至離線儲存區 (預設為每天自動執行)
• 使用針對匯出選取的語言,匯出稽核資料
• 根據稽核資料應保留在線上的指定天數,以及要保留在線上的列數 (二者均在稽核子系統的組態中設定) 清除線上稽核資料。
• 稽核啟動、停止與重新啟動動作
會稽核哪些活動?
ThingWorx Platform 上的活動會產生事件。例如,開始檔案下載會產生一個事件。您可能會想要訂閱此類事件,並使用這些事件觸發其他動作。在 ThingWorx 中,下列類型的內建事件存在稽核:
• 物件相關事件 - ThingStart、FileTransfer 與 RemoteSession。
• 安全性監視事件 - LoginSucceeded、LoginFailed、ApplicationKeySucceeded 與 ApplicationKeyFailed。
• 子系統事件 - 從 ThingWorx Platform v.8.5 開始,會稽核子系統的啟動、停止與重新啟動動作。請注意,重新啟動動作會在稽核記錄檔中顯示重新啟動稽核訊息以及啟動/停止稽核訊息。
|
ApplicationKeySucceeded 與 ApplicationKeyFailed 事件僅針對 HTTP/HTTPS REST 連線觸發。
|
通常,在 ThingWorx 中,這些事件由對實體執行的操作觸發:
• 物件相關事件由可對物件執行的操作觸發,例如啟動與重新啟動物件、使用檔案傳輸子系統傳輸檔案,以及通道傳輸 (RemoteSession 事件)。
• 安全性監視事件適用於存取 ThingWorx 的使用者。
• 啟動、停止或重新啟動子系統時,會觸發子系統事件。
重新啟動子系統時,會根據子系統狀況插入二或三個稽核訊息。請考慮下列情境:
• 情境:如果子系統的狀況為 RUNNING,Restart 操作會插入三個訊息:
◦ System Subsystem "FederationSubsystem" restarted
◦ System Subsystem "FederationSubsystem" stopped
◦ System Subsystem "Federation Subsystem" started
• 情境:如果子系統的目前狀況不是 RUNNING,則 Restart 操作只會插入兩個訊息,因為並未執行 Stop 操作:
◦ System Subsystem "FederationSubsystem" restarted
◦ System Subsystem "Federation Subsystem" started
稽核安全性前後關聯的轉換
從 ThingWorx Platform v.8.5 開始,稽核子系統會稽核安全性前後關聯從一位使用者到另一位使用者的轉換,以及將安全性前後關聯權限提高到進階使用者。安全性前後關聯轉換的一個範例在呼叫 ThingWorx 延伸功能 API 的 SecurityContext.createUserContext(User anotherUser) 方法時發生。此方法可使延伸功能或指令集轉換至另一位使用者的安全性前後關聯。ThingWorx 延伸功能 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__.