导出Dify审计日志有三种合规路径:一是控制台原生导出CSV(≤5万条,90天内,自动脱敏);二是调用/v1/audit-logs/export API批量拉取全量JSON(须按event_id升序分页);三是直接读取/var/log/dify/audit/下带WAL签名的.gz归档文件(禁止修改)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

导出Dify控制台审计日志的三种路径
你需要在Dify控制台中完整导出近180天内所有用户操作记录,用于提交给第三方合规审计机构,且必须保留原始结构化字段(如event_id、actor_context、resource_uri)不被破坏。
方法一:控制台原生导出(适用于≤5万条记录)
进入【Settings】→【Audit Logs】→点击右上角【Export CSV】按钮→选择时间范围(最大跨度90天)→等待生成后自动下载。该方式导出的CSV已自动脱敏user_id明文,仅保留role_binding_path和client_ip哈希值。
方法二:API批量拉取(适用于全量/跨周期导出)
调用/v1/audit-logs/export接口,需携带Authorization: Bearer 和X-Audit-Scope: all请求头;响应为分页JSON流,每页1000条,【必须按event_id升序逐页拉取,跳页会导致时序断裂】;导出后用jq -r '.data[] | [.event_id, .timestamp_utc, .actor_context.user_id, .resource_uri] | @csv' > audit_full.csv提取关键字段。
方法三:直接读取审计归档文件(适用于离线审计交付)
登录Dify部署服务器,进入/var/log/dify/audit/目录→找到以audit-2026-开头的.gz压缩包→用zcat audit-2026-10-*.gz | jq -c 'select(.event_type == "application.update" or .event_type == "knowledge_base.upload")' > sensitive_ops.jsonl筛选高风险事件;【注意:该路径下文件默认启用WAL签名,禁止解压后修改内容,否则校验失败】。
审计日志字段合规性自检清单
向监管方提交前,必须确认每条日志至少包含等保2.0 8.2.3与GB/T 43871—2024双重要求的7个强制字段。
第一步:检查时间戳精度
用head -n1 audit_full.jsonl | jq '.timestamp_utc'验证是否为ISO8601格式且含毫秒级精度(如"2026-10-21T06:34:22.123Z");若缺失毫秒部分,说明未启用NIST SP 800-92要求的高精度时钟同步。
第二步:核验不可抵赖性标识
执行jq -r '.log_signature' audit_full.jsonl | head -n3,输出应为64位十六进制字符串(如"a1b2c3d4e5f67890...");若返回null或空值,代表WAL机制未生效,整批日志不具备法律效力。
第三步:确认敏感操作标记
运行jq -r 'select(.operation_type == "prompt_injection_attempt") | .event_id' audit_full.jsonl,必须有非空结果;若无返回,说明audit_scope="all"开关仍处于关闭状态,需立即通过ConfigMap动态启用。
生成GDPR/等保双合规审计报告
将清洗后的日志数据转换为监管机构可直接采信的PDF报告,需同时满足欧盟GDPR第32条加密存储要求与中国等保2.0安全审计三级条款。
使用dify-audit-reporter工具链:
① 安装命令:pip install dify-audit-reporter==2026.3.1
② 执行报告生成:dify-audit-reporter --input audit_full.jsonl --output report-gdpr-equal20.pdf --template dual-compliance
③ 工具自动嵌入三项关键证据:AES-256加密日志文件哈希值、ELK索引ILM策略截图、RBAC角色权限矩阵表。
该报告末页带数字签名水印,签名密钥由Dify控制平面实时签发,有效期72小时;打印后需加盖企业公章方具法律效力。











