审计

审计是一种 Alfresco 功能,允许用户在 ECM 平台使用期间跟踪和记录某些特定事件。

启用审核

要启用审核,你必须在 alfresco-global.properties 文件中添加一些配置行,该文件位于 tomcat/shared/classes/

audit.enabled = true
audit.alfresco-access.enabled=true

你必须保存对 alfresco-global.properties 文件的更改并重新启动 Alfresco 服务器才能启用审核。

审核默认配置

这里是可以覆盖修改 alfresco-global.properties 文件的配置属性的完整列表:

# Audit configuration                                                                                                                                                                       
audit.enabled=true
audit.tagging.enabled=true
audit.alfresco-access.enabled=false
audit.alfresco-access.sub-actions.enabled=false
audit.cmischangelog.enabled=false
audit.dod5015.enabled=false

# Setting this flag to true will force startup failure when invalid audit configurations are detected                                                                                       
audit.config.strict=false

# Audit map filter for AccessAuditor - restricts recorded events to user driven events. In this case it neglect events issued by a System or a null user, the content or folder path is under /sys:archivedItem or under /ver: and the node type is not cm:folder, cm:content or st:site                                                                                                     
audit.filter.alfresco-access.default.enabled=false
audit.filter.alfresco-access.transaction.user=~System;~null;.*
audit.filter.alfresco-access.transaction.type=cm:folder;cm:content;st:site
audit.filter.alfresco-access.transaction.path=~/sys:archivedItem;~/ver:;.*

#The default to preserve all cm:auditable data on a node when the process is not directly driven by a user action                                                                                        
system.auditableData.preserve=${system.preserve.modificationData}

#Specific control of how the FileFolderService treats cm:auditable data when performing moves                                                                                                            
system.auditableData.FileFolderService=${system.auditableData.preserve}

#Specific control of whether ACL changes on a node trigger the cm:auditable aspect                                                                                                                       
system.auditableData.ACLs=${system.auditableData.preserve}   

像往常一样,你必须保存对 alfresco-global.properties 文件的更改并重新启动 Alfresco 服务器,以便启用这些修改。

审核过滤器

审计过滤器是指定用于通过使用特定正则表达式来包含或排除事件来过滤审计事件的策略的属性。自定义和默认审核筛选器都可以添加为 alfresco-global.properties 配置文件中的覆盖。

审计过滤器属性的解剖结构如下:

audit.filter.<data_producer>.<path>

其中 <data-producer> 是 Alfresco 内置数据生成器之一:

  1. alfresco-access:一组广泛的高级事件,例如登录(成功和失败),属性更新,节点上的 CRUD,内容读取/更新,方面添加和删除,版本控制,签入/签出操作
  2. alfresco-node
  3. alfresco-api:通过调用低级 API 方法和服务发出的事件。例如,它可用于列出 SearchServices 搜索列表参数,使用 PropertyServices 列出的属性,使用 NodeServices 的节点上的操作等。

path 是要过滤的真实路径值。

属性名称有一个 audit.filter。*前缀并使用’。’ 作为分隔符,其中审计映射中的 rootPath 和键的组件使用’/’。

列表从左到右进行评估,如果列表末尾没有匹配,则拒绝该值。如果没有给定值的属性或定义了空列表,则接受任何值。

列表中的每个正则表达式用分号(’;’)分隔。包含分号的表达式可以使用’‘进行转义。

请注意,如果 audit.config.strict 标志设置为 true,则在检测到配置无效的情况下,Alfresco 启动将失败。

'~'开头的表达式表示应拒绝任何匹配值。如果表达式的第一个字符需要是'~',则可以使用'\'进行转义。

在过滤器末尾添加 .*将包括尚未明确排除的所有值

过滤器可以是以下之一:

transaction.user - 指定将/将不会审核哪些用户的操作。例如:将审核除系统以外的所有用户的操作

transaction.type - 将审核针对指定文档类型执行的操作。

default.path - 将审计在指定路径中的文档上发生的操作

transaction.action - 指定将审核哪些操作,哪些操作不会被审核。可以使用此属性启用或禁用的某些审核事件包括:READ,MOVE,COPY,CHECK IN,CHECK OUT,CANCHEL CHECK OUT,CREATE VERSION,readContent,addNodeAspect,deleteNodeAspect,updateNodeProperties。

有关审核筛选器的更多信息:

https://github.com/tsgrp/OpenContent/wiki/Alfresco-Audit-Configuration

http://docs.alfresco.com/5.1/concepts/audit-example-filter.html