54
个编辑
Xinye.wang(讨论 | 贡献) |
Xinye.wang(讨论 | 贡献) |
||
| 第1行: | 第1行: | ||
== 术语解释 == | |||
* 审计日志:在进行一些操作时,需要留下操作日志,并且该日志必须与某一操作人进行绑定。此种操作日志由电子签名来保护,只有持有操作人本人的私钥,才可以生成。且一经生成,无法修改。审计日志包含'''内容'''与'''电子签名'''两部分: | * 审计日志:在进行一些操作时,需要留下操作日志,并且该日志必须与某一操作人进行绑定。此种操作日志由电子签名来保护,只有持有操作人本人的私钥,才可以生成。且一经生成,无法修改。审计日志包含'''内容'''与'''电子签名'''两部分: | ||
| 第12行: | 第12行: | ||
** 可以用公钥来验证,审计日志的内容是否是有效的(未被篡改)。 | ** 可以用公钥来验证,审计日志的内容是否是有效的(未被篡改)。 | ||
** 验证:使用公钥,对审计日志的内容与电子签名做验证的运算,可以知道此内容与此签名是否匹配。匹配则说明,此电子签名是由该公钥的对应的私钥所生成。而私钥对应于某一操作员,那就可以认定,该审计日志确实是由该操作员所生成。 | ** 验证:使用公钥,对审计日志的内容与电子签名做验证的运算,可以知道此内容与此签名是否匹配。匹配则说明,此电子签名是由该公钥的对应的私钥所生成。而私钥对应于某一操作员,那就可以认定,该审计日志确实是由该操作员所生成。 | ||
== 何种操作会被记入审计日志 == | |||
* 在画面组态时,设定被记入审计日志的操作 | |||
* 一切对用户和用户组进行修改的操作 | |||
== 审计日志的字段 == | |||
{| class="wikitable" | |||
|+ | |||
!字段名 | |||
!含义 | |||
!说明 | |||
|- | |||
|signature_timestamp | |||
|日期 | |||
|生成的日期 | |||
|- | |||
|operator_id | |||
|操作人的ID | |||
|操作人的数据库主键 | |||
|- | |||
|operator_name | |||
|操作人姓名 | |||
|在本日志生成时,操作人的姓名 | |||
|- | |||
|operator_key_id | |||
|私钥ID | |||
|签名所使用私钥的主键 | |||
|- | |||
|private_key_fingerprint | |||
|私钥指纹 | |||
|签名所使用的私钥的指纹 | |||
|- | |||
|category | |||
|类别 | |||
|在组态时设定的审计追踪,类别为<code>user_action</code>。由系统自动记录的审计日志,分别有他们自己的类别 | |||
|- | |||
|action | |||
|动作 | |||
|何种操作的详细描述 | |||
|- | |||
|target_id | |||
|关联记录ID | |||
|与<code>target_type</code>一起,可以定位到一条与该审计日志相关联的记录。由组态生成的审计日志,此项与<code>target_type</code>为空 | |||
|- | |||
|target_type | |||
|关联记录类型 | |||
|见<code>target_id</code> | |||
|- | |||
|extra | |||
|额外信息 | |||
|对本操作有帮助的额外信息,以键值对形式存储。组态时可以将一些变量的当前值存在这里,以备今后查阅 | |||
|- | |||
|remark | |||
|操作备注 | |||
|在生成审计日志时,由操作员记录的可选信息。 | |||
|- | |||
|nonce | |||
|随机数 | |||
|为避免完全相同的审计日志出现,加入一个随机数 | |||
|- | |||
|signature | |||
|电子签名 | |||
|以上除本字段,均为审计日志的'''内容''',是生成电子签名,与验证电子签名的主体 | |||
|} | |||
== 审计追踪的操作事项 == | |||
* 一个项目需要在项目属性里开启审计追踪,才可以启用审计追踪的功能。 | |||
* 项目在开发模式下,可以任意添加和编辑用户。这些操作不产生审计日志。 | |||
* 在项目预览时,第一次执行需要审计日志的操作之前,会要求进行审计日志初始化。 | |||
* '''审计追踪初始化''',在用户管理模块中进行。进行这个操作,会要求设置当前操作员的操作密码。之后,之前所有的,在开发模式下建立的用户、权限等信息,都被视为由该初始化用户所建立。 | |||
** 该用户的私钥,也会一并初始化 | |||
* 非初始化用户,在第一次触发需要使用审计日志的操作时,会要求设置操作密码。此时私钥也将生成 | |||
* 如果在开发预览模式下,初始化过审计日志,此时如果再在开发模式下添加、编辑用户,这些操作也不会记入审计日志。因此如果审查审计日志的完整性,将会出现问题,例如某用户找不到创建对应的审计日志,或其编辑历史与其当前状态不符合。这是正常现象。 | |||
* 在部署时,在部署的机器上,仍然需要'''审计追踪初始化'''。此时不会有开发模式进行编辑用户,因此审计日志是严格的。 | |||
== 审计日志的展示、导出与验证 == | |||
在'''审计日志'''组态模块中,可以直接浏览与搜索审计日志。同时审计日志支持以Excel与PDF格式进行导出。PDF格式仅能查看,但是普通手段无法修改。Excel虽然理论上可以在输出后修改,但是可以支持进行'''审计日志验证'''。任何修改都会导致该条审计日志签名验证失败,即无效。 | |||