감사 하위 시스템
감사 하위 시스템은 IoT 솔루션의 감사자, 시스템 관리자 및 응용 프로그램 관리자에 대한 기본 제공 감사 기능을 제공합니다.
감사 데이터의 무결성을 보장하기 위해 로그는 수정할 수 없습니다. 또한 감사 로그에는 민감한 데이터가 포함되지 않습니다.
활성화하고 자동 시작 옵션을 선택하면 감사 하위 시스템이 ThingWorx Platform이 시작될 때 시작되고 인스턴스가 중지될 때 중지됩니다. 이 시스템은 다음 감사 기능을 지원합니다.
감사 항목 검색(QueryAuditHistory 서비스 사용)
오프라인 스토리지에 감사 항목 보관(기본적으로 매일 자동 수행됨)
내보내기에 대해 선택된 언어를 사용하여 감사 데이터 내보내기
감사 데이터를 온라인으로 유지해야 할 지정된 일 수와 온라인으로 유지할 행 수를 기준으로(둘 다 감사 하위 시스템 구성에서 설정됨) 온라인 감사 데이터 제거
시작, 중지 및 재시작 작업 감사
ThingWorx Platform v.8.5부터는 감사 하위 시스템에서 사용자 간 보안 컨텍스트 전환 및 슈퍼 사용자로 보안 컨텍스트 올리기를 감사합니다. 자세한 내용은 보안 컨텍스트 전환 감사 항목을 참조하십시오.
* 
기본값으로, 신규 설치 또는 업그레이드의 경우 감사 하위 시스템이 비활성화되어 있습니다. 시스템 관리자인 경우 하위 시스템 활성화 방법을 알아보려면 감사 하위 시스템 활성화를 참조하십시오.
감사 대상이 되는 활동
ThingWorx Platform의 활동이 이벤트를 생성할 수 있습니다. 예를 들어, 파일 다운로드 시작이 이벤트를 생성합니다. 이러한 이벤트를 구독하고 이를 통해 다른 작업을 트리거할 수 있습니다. ThingWorx에서는 다음 유형의 기본 제공 이벤트에 대한 감사가 존재합니다.
사물 관련 이벤트 - ThingStart, FileTransferRemoteSession
보안 모니터링 이벤트 - LoginSucceeded, LoginFailed, ApplicationKeySucceededApplicationKeyFailed
하위 시스템 이벤트 - ThingWorx Platform 8.5.0부터는 하위 시스템에서 수행되는 시작, 중지 및 재시작 작업이 감사됩니다. 재시작 작업은 감사 로그에 재시작 감사 메시지 및 시작/중지 감사 메시지를 표시합니다.
* 
ApplicationKeySucceededApplicationKeyFailed 이벤트는 HTTP/HTTPS REST 연결에 대해서만 트리거됩니다.
일반적으로 이러한 이벤트는 ThingWorx에서 엔티티에 대한 작업에 의해 트리거됩니다.
사물 관련 이벤트는 사물 시작 및 재시작, 파일 전송 하위 시스템을 통한 파일 전송, 터널링(RemoteSession 이벤트) 등 사물에 대해 수행될 수 있는 작업에 의해 트리거됩니다.
보안 모니터링 이벤트는 ThingWorx에 액세스하는 사용자를 위한 것입니다.
하위 시스템 이벤트는 하위 시스템이 시작, 중지 또는 재시작될 때 발생합니다.
* 
사용자 정의(사용자 지정) 이벤트 감사는 지원되지 않습니다.
하위 시스템이 재시작되면 하위 시스템 상태에 따라 두 개 또는 세 개의 감사 메시지가 삽입됩니다. 다음 시나리오를 고려하십시오.
시나리오: 하위 시스템의 상태가 RUNNING이면 Restart 작업은 세 개의 메시지를 삽입합니다.
System Subsystem "FederationSubsystem" restarted
System Subsystem "FederationSubsystem" stopped
System Subsystem "Federation Subsystem" started
시나리오: 하위 시스템의 현재 상태가 RUNNING이 아니면 Stop 작업이 수행되지 않으므로 Restart 작업은 두 개의 메시지만 삽입합니다.
System Subsystem "FederationSubsystem" restarted
System Subsystem "Federation Subsystem" started
보안 컨텍스트 전환 감사
ThingWorx Platform v.8.5부터는 감사 하위 시스템에서 사용자 간 보안 컨텍스트 전환 및 슈퍼 사용자로 보안 컨텍스트 올리기를 감사합니다. 보안 컨텍스트 전환의 한 가지 예는 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__.