刘帅
7 天以前 d41e0da5df20d559b0b9b8c180d1bf70ba7c1845
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- 统一账号审计日志。部署到 playpai_other 数据库;该表只追加写入,不提供业务侧更新/删除接口。
CREATE TABLE IF NOT EXISTS `sys_account_audit_log` (
  `id` bigint(20) NOT NULL COMMENT '主键ID(雪花算法生成)',
  `trace_id` varchar(64) DEFAULT NULL COMMENT '链路标识',
  `user_id` bigint DEFAULT NULL COMMENT '账号ID(能够识别时记录)',
  `user_account` varchar(128) DEFAULT NULL COMMENT '账号标识(手机号等脱敏)',
  `source_service` varchar(64) NOT NULL COMMENT '发起服务',
  `source_type` varchar(16) NOT NULL COMMENT 'HTTP、LOGIN、FEIGN',
  `operation_type` varchar(32) NOT NULL COMMENT 'LOGIN、CREATE、UPDATE、DELETE、VIEW_SENSITIVE、STATUS_CHANGE、FEIGN_CALL等',
  `risk_level` varchar(16) NOT NULL DEFAULT 'NORMAL' COMMENT 'NORMAL、SENSITIVE、CRITICAL',
  `operation_name` varchar(255) DEFAULT NULL COMMENT '操作说明',
  `request_method` varchar(16) DEFAULT NULL COMMENT 'HTTP方法',
  `request_uri` varchar(512) DEFAULT NULL COMMENT '请求路径或Feign目标',
  `request_params` text COMMENT '脱敏后的请求参数摘要',
  `before_data` text COMMENT '修改前状态快照(脱敏)',
  `after_data` text COMMENT '修改后状态快照(脱敏)',
  `result` varchar(16) NOT NULL DEFAULT 'SUCCESS' COMMENT 'REQUESTED、SUCCESS、FAIL',
  `error_message` varchar(1000) DEFAULT NULL COMMENT '失败原因(脱敏)',
  `client_ip` varchar(64) DEFAULT NULL COMMENT '客户端IP',
  `duration_ms` bigint DEFAULT NULL COMMENT '请求耗时毫秒',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发生时间',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 0-正常 1-删除',
  PRIMARY KEY (`id`),
  KEY `idx_audit_user_time` (`user_id`, `created_at`),
  KEY `idx_audit_account_time` (`user_account`, `created_at`),
  KEY `idx_audit_operation_time` (`operation_type`, `created_at`),
  KEY `idx_audit_trace_id` (`trace_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='账号使用与关键操作审计日志';
 
-- 回滚(确认不再需要审计记录后执行):
-- DROP TABLE IF EXISTS `sys_account_audit_log`;