Đặc tả Tính năng: Kiểm toán & Tuân thủ
1. Tổng quan & Tầm nhìn
Kiểm toán & Tuân thủ là bộ nhớ bất biến của nền tảng. Nó ghi lại tất cả các sự kiện nhạy cảm về bảo mật và các thay đổi hành chính trên toàn bộ nền tảng, cung cấp một dấu vết chống giả mạo cho việc kiểm toán tuân thủ, xử lý sự cố và điều tra số.
2. Các Vai trò & Bên liên quan
| Vai trò | Mục tiêu |
|---|---|
| Cán bộ Bảo mật | Xem xét các mẫu truy cập và điều tra các sự cố bảo mật. |
| Quản trị viên Tổ chức | Kiểm toán các thay đổi được thực hiện bởi các quản trị viên khác (ví dụ: xóa thành viên). |
| Quản trị viên Hệ thống | Giám sát các thay đổi cấu hình trên toàn nền tảng và sức khỏe hệ thống. |
3. Câu chuyện Người dùng (User Stories)
- Với tư cách là cán bộ bảo mật, tôi muốn xem mọi địa chỉ IP đã cố gắng đăng nhập với quyền Admin đêm qua.
- Với tư cách là quản trị viên, tôi muốn biết ai đã xóa một thư mục dự án quan trọng.
4. Yêu cầu Chức năng (FR)
- REQ-AUD-001: Ghi nhật ký tập trung cho tất cả các thao tác "Ghi" (Write) và "Xóa" (Delete).
- REQ-AUD-002: Thu thập siêu dữ liệu của tác nhân (User ID, IP, User-Agent).
- REQ-AUD-003: Trình xem nhật ký kiểm toán trong ứng dụng với bộ lọc nâng cao.
- REQ-AUD-004: Xuất dữ liệu (CSV/JSON) cho các báo cáo tuân thủ bên ngoài.
5. Yêu cầu Phi chức năng (NFR)
- Tính bất biến: Bản ghi kiểm toán KHÔNG ĐƯỢC PHÉP xóa hoặc sửa đổi, ngay cả bởi quản trị viên.
- Duy trì: Thời gian lưu trữ mặc định 1 năm cho tất cả dữ liệu kiểm toán.
- Hiệu năng: Chi phí ghi nhật ký phải < 5ms cho mỗi thao tác.
6. Logic & Quy tắc Nghiệp vụ
- Lược đồ Sự kiện: Mỗi sự kiện bao gồm
timestamp,actor,action,resource,status, vàpayload_diff. - Mức độ nghiêm trọng: INFO (Thay đổi cấu hình), WARNING (Đăng nhập thất bại), CRITICAL (Leo thang quyền hạn).
- Tự động lưu trữ: Các nhật ký cũ hơn 365 ngày được chuyển sang kho lưu trữ lạnh (S3).
7. Giao diện Người dùng (UI/UX)
- Bảng "Dấu vết Kiểm toán" với sắp xếp theo thời gian.
- Chế độ xem chi tiết cho các sự kiện riêng lẻ hiển thị ảnh chụp nhanh "Trước" và "Sau".
- Bộ lọc nhanh cho "Chỉ mức Nghiêm trọng" và các module cụ thể.
8. Kiến trúc Thông tin
- Nằm trong phần "Cài đặt Tổ chức -> Bảo mật" của Shell.
- Nhật ký toàn nền tảng có thể truy cập qua cổng Quản trị hệ thống.
9. Mô hình Dữ liệu & Lưu trữ
- Bảng:
audit_log(Được tối ưu hóa cho hiệu năng ghi thêm). - Lưu trữ: PostgreSQL cho các nhật ký đang hoạt động; S3 cho lưu trữ lâu dài.
10. Lớp API & Dịch vụ
GET /api/admin/auditPOST /internal/audit-event(Chỉ dành cho S2S)
11. Các Mẫu Tích hợp
- Middleware Ghi nhật ký: Tự động thu thập các hành động của controller ở backend.
- Bus chéo dịch vụ: Các ứng dụng satellite gửi sự kiện đến Dịch vụ Kiểm toán của Shell qua Connect/gRPC.
12. Bảo mật & Quyền hạn
- Chỉ các vai trò
Security OfficerhoặcOwnermới có thể xem nhật ký kiểm toán. - Bản thân dịch vụ kiểm toán chạy trong một ngữ cảnh bảo mật được cô lập nghiêm ngặt.
13. Xử lý Lỗi & Khả năng Phục hồi
- Fail-safe: Nếu dịch vụ kiểm toán không hoạt động, các thao tác ghi quan trọng PHẢI thất bại (Zero-trust).
- Đệm: Bộ đệm bộ nhớ cục bộ cho các nhật ký tần suất cao.
14. Hiệu năng & Khả năng Mở rộng
- Tối ưu hóa đánh chỉ mục trên
timestampvàorganization_id. - Hỗ trợ hàng triệu sự kiện trên mỗi tổ chức.
15. Toàn cầu hóa & Bản địa hóa
- Mô tả sự kiện được tiêu chuẩn hóa và bản địa hóa.
16. Khả năng Tiếp cận (a11y)
- Trình xem nhật ký có độ tương phản cao để dễ đọc hơn.
17. Khả năng Quan sát & Phân tích
- Phát hiện bất thường (ví dụ: "Số lần đăng nhập thất bại tăng đột biến").
- Phân tích các tác nhân hàng đầu và các tài nguyên được sửa đổi nhiều nhất.
18. Kiểm thử & Chất lượng
- Kiểm thử tích hợp đảm bảo rằng các thao tác
DELETEluôn được ghi lại. - Kiểm thử xâm nhập để xác minh tính bất biến của nhật ký.
19. Các Ràng buộc & Giả định
- Giả định các ứng dụng satellite triển khai middleware kiểm toán hoặc gọi API kiểm toán một cách tường minh.
20. Các Cải tiến Tương lai
- Tích hợp SIEM thời gian thực (ví dụ: Splunk, Datadog).
- Cảnh báo Webhook cho các sự kiện bảo mật nghiêm trọng.