TF
T-Fluencers Docs
Quay lại Wiki

Audit Log#

Mục tiêu: Admin tra cứu lịch sử mọi thao tác quan trọng trong hệ thống — phục vụ compliance, điều tra fraud, debug.

Mục tiêu#

  • Xem audit log cho toàn hệ thống hoặc 1 entity cụ thể.
  • Filter theo action, module, actor, date.
  • Export ra CSV cho báo cáo/điều tra.

Điều kiện tiên quyết#

  • Quyền Xem Audit Log (Root, Admin).

Cột audit log#

CộtÝ nghĩa
Hành độngCREATE / UPDATE / DELETE / APPROVE / REJECT / BAN / LOGIN / ...
ModuleEVENT / CONTENT / USER / STAFF / RECONCILIATION / TRANSFER / ...
Người thực hiệnStaff (nếu admin) hoặc User (nếu Influencer)
Đối tượngtargetId (resource ID bị tác động)
Tên đối tượngReadable name của target
Thay đổiJSON: {before: {...}, after: {...}}
Ngày/giờ
IP Address
User AgentBrowser/device

Các bước thực hiện#

1. Vào Audit Log#

  • Global: /audit-log (hoặc tab trong menu).
  • Per entity: từ detail page có nút Audit → drawer mở chỉ log liên quan entity đó.

2. Lọc#

Filter:

  • Action — CREATE, UPDATE, DELETE, APPROVE, REJECT, ...
  • Module — EVENT, CONTENT, USER, ...
  • Actor — chọn staff cụ thể.
  • Date range.
  • Status (tùy implementation).

3. Xem chi tiết#

Click 1 row → mở detail:

  • Full JSON of changes (before/after).
  • IP + User Agent (forensic).
  • Timestamp chính xác (ms).

4. Export CSV#

  1. Bấm Export.
  2. File CSV tạo với max 10.000 rows/lần.
  3. Download.

Chi tiết từng bước#

Các action chính được log#

  • CREATE — tạo record mới.
  • UPDATE — sửa record.
  • DELETE — xóa.
  • APPROVE — duyệt (content, eKYC, transfer).
  • REJECT — từ chối.
  • BAN / UNBAN — ban user.
  • LOGIN / LOGOUT — session events.
  • EXPORT — tạo export job.
  • PERMISSION_CHANGE — đổi role, đổi permission.
  • PASSWORD_CHANGE — đổi mật khẩu.

Actor types#

  • Staff — admin user.
  • User — Influencer.
  • System — cron job hoặc service.

Forensic use cases#

  1. Fraud investigation: "Ai approve content gian lận này?" → filter module=CONTENT, action=APPROVE, targetId=content_id.
  2. Permission audit: "Staff X có change role của ai không?" → actor=staff_id, action=PERMISSION_CHANGE.
  3. Missing data: "Record Y biến mất từ khi nào?" → targetId=Y, action=DELETE.
  4. Login pattern: "Account bị hack không?" → actor=user_id, action=LOGIN, check IP khác thường.

Retention#

Audit log lưu lâu dài (thường ≥ 2 năm) cho compliance. Check policy cụ thể với Legal/Security.

Lỗi thường gặp#

1. Log không xuất hiện cho action vừa làm#

  • Delay 1–2s. Refresh.
  • Một số action minor không được log (tùy config).

2. Changes (before/after) rỗng#

  • Action "read-only" (ví dụ VIEW, LOGIN) không có changes.
  • Hoặc log old code chưa capture đủ.

3. Export bị cut#

  • Quá 10k rows. Narrow filter.
  • Chia export theo tháng.

4. Thấy IP localhost/127.0.0.1#

  • Request qua proxy/loadbalancer chưa forward header đúng.
  • Liên hệ DevOps fix X-Forwarded-For.

5. Actor = null#

  • Action từ cron job hoặc service account.
  • Check system category thay vì staff/user.

Câu hỏi thường gặp (FAQ)#

Log có bị sửa được không?

Không. Write-only + immutable. Nếu thấy bị sửa → security breach nghiêm trọng.

Bao lâu lưu được?

Tùy policy. Thường 2+ năm cho compliance tài chính.

Export có bao gồm sensitive data (password, CCCD)?

Không. Hệ thống auto-mask/redact sensitive fields trước khi log.

Log có chậm hệ thống không?

Async write — không ảnh hưởng response time của action chính.

Có alert khi action nghi ngờ không?

Tùy setup. Có thể config alert cho:

  • Mass delete (> 100 records).
  • Permission change.
  • Login từ IP lạ.

Liên hệ DevOps để setup.

Tôi muốn query phức tạp (SQL)?

Export CSV + analyze trong Excel/Python/SQL. Hoặc xin DevOps quyền read DB audit table.

Liên kết liên quan#


Tham khảo SRS: admin-portal/15-audit