打开主菜单
首页
随机
登录
设置
关于先虑百科
免责声明
先虑百科
搜索
查看“审计追踪”的源代码
←
审计追踪
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
审计追踪,可以对系统进行关键操作的时候,留下审计日志,以备今后查看。审计日志受到电子签名的保护,生成之后无法篡改。同时,所有的用户相关操作,会自动计入审计日志,以确保审计日志的生成者,是有迹可循的。审计追踪模块符合美国FDA [https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/CFRSearch.cfm?CFRPart=11 Title 21 CFR Part 11]的相关法律法规的规定。 == 术语解释 == * 审计日志:在进行一些操作时,需要留下操作日志,并且该日志必须与某一操作人进行绑定。此种操作日志由电子签名来保护,只有持有操作人本人的私钥,才可以生成。且一经生成,无法修改。审计日志包含'''内容'''与'''电子签名'''两部分: ** 内容:即记录的信息本身,如某操作员在某时刻做了何种操作。 ** 电子签名:用验证内容是否被修改的一段信息。 * 私钥:私钥是用来生成电子签名的一段信息,与某一操作员一一对应。使用私钥对某一审计日志生成电子签名,则在法律上视为该操作员的手动签名,具有法律效力。 ** 私钥属于敏感信息,存储时以操作密码加密保存。拿到了私钥,意味着可以以某位操作员的身份生成审计日志。 ** 私钥可以推导出与之为唯一对应的'''公钥''',可以用来验证电子签名。 * 公钥:与私钥一一对应,可以由私钥推导出来。可以用于验证电子签名。如其所名,公钥是可以公开的信息。 * 电子签名:由用户的私钥,对审计日志的内容进行运算,所生成的一段信息。 ** 原始内容是二进制信息,打印输出时,采用base58<ref>[https://tools.ietf.org/id/draft-msporny-base58-01.html#rfc.section.1.1 base58]是一种可以将任意二进制数据,映射为数字1-9,以及英文字母A-Z的编码,且去除有歧义的字符,例如数字0、字母O,小写字母l等。此种编码是为了让任意二进制数据,可以由人类进行阅读。它与二进制数据可以互相转化。</ref>编码进行输出,目的是方便人类阅读,其实质是与底层二进制完全一样的,可以互相转化。 ** 可以用公钥来验证,审计日志的内容是否是有效的(未被篡改)。 ** 验证:使用公钥,对审计日志的内容与电子签名做验证的运算,可以知道此内容与此签名是否匹配。匹配则说明,此电子签名是由该公钥的对应的私钥所生成。而私钥对应于某一操作员,那就可以认定,该审计日志确实是由该操作员所生成。 == 何种操作会被记入审计日志 == * 在画面组态时,设定被记入审计日志的操作 * 一切对用户和用户组进行修改的操作 == 审计日志的字段 == {| 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虽然理论上可以在输出后修改,但是可以支持进行'''审计日志验证'''。任何修改都会导致该条审计日志签名验证失败,即无效。
返回至“
审计追踪
”。