审计子系统
“审计子系统”为系统管理员、应用程序管理员和组织 IoT 解决方案的审计员提供了内置审计功能。默认情况下,审计子系统在平台启动时处于禁用状态。您必须将其启用。
审计子系统旨在提供回答以下问题所需的信息:
我们是否满足合规性要求?
恶意员工对系统做了哪些手脚?
谁在什么时间做了哪些更改?
* 
请切记,审计日志并非是另一种调试日志。审计日志提供了谁在什么时间做了哪些更改的信息,以及出于合规性原因可能需要捕获的任何其他信息。
直接久存实现提供了更为可靠、强大的审计工具。为实现向后兼容,数据表实现是启用审计子系统时所使用的默认实现。在配置审计子系统时,可切换至直接久存实现。
* 
PTC 强烈建议您使用直接久存实现,因为在未来的 ThingWorx Platform 版本中,数据表实现将被弃用。此外,QueryAuditHistory 服务将被弃用,取而代之的是 QueryAuditHistoryWithQueryCriteria 服务。
如果先前使用了数据表实现,则在执行升级时将保留您的数据。升级后,建议在切换至直接久存实现前存档所有在线审计数据。
以下各部分提供了有关两个实现的已审计活动以及审计子系统功能的详细信息。单击章节标题可显示其内容。要隐藏内容,请再次单击标题。
审计子系统功能,数据表实现 
数据表实现支持以下审计功能:
搜索审计条目
将在线审计条目存档至离线存储
使用为导出选择的语言导出在线和离线审计数据
清除在线审计数据并清理已存档 (离线) 审计数据
启用审计子系统并选择“自动启动”选项后,审计子系统会在 ThingWorx Platform 启动时启动,并在该平台停止时停止。
自 ThingWorx Platform v.8.5 起,审计子系统会在安全上下文从一个用户切换到另一个用户时以及在将安全上下文提升到超级用户时进行审计。有关详细信息,请参阅审计安全上下文的切换
* 
对于必须收集和保留大量审计数据的组织而言,强烈建议使用直接久存实现以获得最佳性能和附加功能。
默认情况下,对新安装或升级禁用审计子系统。此外,还会启用数据表实现,并禁用直接久存实现。
如果您是系统管理员并已启用审计子系统,则可更改审计子系统配置,以从数据表实现切换为直接久存实现。请参阅 审计子系统的配置
ThingWorx Platform 中的审计子系统,直接久存 
直接久存实现不但提供了数据表实现的所有审计功能,而且还提供了许多额外功能。审计子系统提供了以下性能和可扩展性功能:
审计数据的持久化方案将借助 ThingWorx Platform 的持久化方案提供工具实现。此实现可与用作 ThingWorx Platform 实例持久化方案提供工具的 PostgreSQL 或 MSSQL 数据库配合使用。
* 
不能通过审计子系统的配置页面来更改平台持久化方案提供工具的配置。
查询性能更佳。
可配置查询以适应不同组织的需求和用例。查询服务接受查询类别参数的本地化标记。
在直接久存实现中使用数据库可增强查询功能。除了数据表实现中可用的筛选和排序外,还可在使用直接久存实现提供的 QueryAuditHistoryQueryAuditDataWithQueryCriteria 服务时指定分页属性。
* 
QueryAuditHistoryQueryAuditHistoryWithQueryCriteria 服务不执行任何可见性检查。对于具有执行此服务权限的用户而言,所有内容均处于可见状态。可直接从审计子系统的“服务”页面运行查询服务。还可通过使用审计日志间接运行查询,该日志可通过 ThingWorx Composer 用户界面中的“监控”获得。具有相应访问权限的用户可从 ThingWorx Composer 中手动运行服务。开发人员可以使用 ThingWorx REST API 以编程方式运行服务。
另一个 QueryAuditHistory 服务可通过事物级别获得。此服务仅将查询的数据限制为当前事物和当前用户。如果执行此服务的用户位于 Auditors 组中,则用户可以查看所有其他用户的操作,但仅限于针对该事物的操作。
ExportAuditData 服务外,直接久存实现还提供了 ExportOnlineAuditData 服务。有关此服务的详细信息,请参阅导出在线审计数据
同具有 ArchiveAuditHistoryDirectPersistence[DATETIME[) 服务的数据表实现相比,直接久存实现还提供了成本较低的存储选项。此服务将 ThingWorx 数据库中的审计条目复制到 AuditArchiveDirectPersistence 文件夹下已配置审计数据文件信息库中的文件。
审计子系统可为具有较大和较小审计数据需求的客户提供技术支持。根据特定的数据保留需求提供有关子系统配置方法的指南。请参阅审计子系统的配置
提供了名为 AUDIT 的用于跟踪审计子系统服务执行的类别。
子系统具有类别的其他审计消息。有关直接久存实现审计消息的详细信息,请参阅 ThingWorx 审计消息
如果子系统中提供的审计类别集不符合组织的所有需求,则开发人员可创建自定义审计类别和消息。请参阅自定义审计类别
仅限测试版:直接久存实现还通过在 ThingWorx Composer 中提供用于查询审计数据的新用户界面来提高审计子系统的可用性。这个可用作 ThingWorx Composer“监控”部分选项卡的新用户界面提供了查询筛选选项和查询结果分页选项。
审计日志可能包含敏感数据。要确保审计数据的完整性,请务必使用 ThingWorx 权限功能来限制访问权限。有关详细信息,请参阅审计活动的安全
哪些活动需要审计? 
这两种实现均可监控 ThingWorx Platform 中由各种组件和扩展生成的事件。使用平台的文件子系统传输文件等活动可生成事件。您可能想要订阅此类事件,并使用这些事件触发其他操作。
ThingWorx 的以下内置事件类型存在审计:
事物相关事件 - FileTransferRemoteSession
* 
要启用 ThingStart 事件,请编辑配置文件 platform-settings.json。启用后,将对该事件进行审计。
安全监控事件 - LoginSucceededLoginFailedApplicationKeySucceededApplicationKeyFailed。此外,还会审计安全上下文的切换
* 
ApplicationKeySucceededApplicationKeyFailed 事件仅对 HTTP/HTTPS REST 连接触发。
子系统事件 - 审计子系统配置的更新。此外,还会在 AUDIT 类别中审计对于审计服务的调用,如存档、导出、清理和清除等。
* 
子系统的启动、停止和重新启动操作不在审计范围内。
通常,下列事件由 ThingWorx 中有关实体的操作触发:
由可对事物执行的操作触发的事物相关事件,例如使用“文件传输子系统”传输文件和隧道 (RemoteSession 事件)。
安全监控事件针对的是访问 ThingWorx 的用户。
自定义审计功能 
自定义审计功能具有以下组件:
自定义审计类别
自定义审计消息
自定义审计事件
创建自定义审计类别和自定义审计消息令牌的方法有两种:
通过使用 ThingWorx Java SDK 为平台新建后端 Java 扩展。请参阅 使用扩展创建自定义审计类别。扩展应包括本地化表,以便在将扩展导入到 ThingWorx Platform 时会同时导入已添加审计类别令牌和审计消息令牌的本地化表。
对于自定义审计类别,通过 ThingWorx Composer 修改 ThingWorx 本地化表。请参阅 自定义审计类别
自定义审计事件必须在扩展的代码中定义,因为定义需要两方面内容。而这两个方面内容不会显示在 Composer 用户界面中,这就意味着无法从 Composer 中添加自定义事件。这些方面会指示平台应审计此事件。下图重点介绍了这两个方面:
这对您有帮助吗?