ADR 0008Đề xuất
ADR 0008. Vòng đời finding ở Access Hub, inventory ở secmatch
- Trạng thái: Đề xuất
- Ngày: 2026-10-02
Bối cảnh
Inventory lớn (đích 10.000 máy x 3.000 gói, khoảng 30 triệu dòng) và secmatch cần nó để so khớp lại mỗi ngày. Finding có vòng đời nghiệp vụ (ngoại lệ, SLA, người duyệt, thông báo, audit, quyền) và là thứ người dùng lọc, xuất. Access Hub Collector đã đặt tiền lệ: dữ liệu khối lượng lớn ở data plane, dữ liệu nghiệp vụ nhỏ ở MySQL của Access Hub (ADR 0004 của Collector), truy vấn qua API nội bộ có company_id bắt buộc.
Quyết định
- Secmatch giữ inventory mới nhất mỗi máy trong kho riêng (không dùng chung MySQL của Access Hub), khóa có
company_id, cung cấp API nội bộ tra gói và tìm máy theo gói. - Access Hub giữ
security_findingsvà mọi bảng vòng đời (08mục 2), tínhrisk,priority, SLA từ dữ liệu secmatch gửi cộng thuộc tínhServer. - Secmatch gửi delta qua outbox, idempotent; Access Hub có thể yêu cầu phát lại (
resync). - Không mã hóa ứng dụng cho cả hai kho (ENC-2 chỉ áp cho bí mật).
Hệ quả
- MySQL của Access Hub không chịu khối lượng gói; trang danh sách finding vẫn nhanh với chỉ mục theo công ty.
- Tra gói phụ thuộc secmatch sẵn sàng; giao diện xử lý "Không có dữ liệu" như với Collector.
- Xóa máy, công ty phải gọi cả hai nơi (HUB-SEC-13).
- Cần chọn hệ quản trị cho kho secmatch (Q4).
Phương án đã cân nhắc
| Phương án | Lý do không chọn |
|---|---|
| Mọi thứ trong MySQL của Access Hub | Secmatch phải kéo inventory từ Access Hub mỗi lần so khớp lại; tải ghi lớn lên ứng dụng nghiệp vụ |
| Mọi thứ trong secmatch, Access Hub chỉ hiển thị | Ngoại lệ, quyền, thông báo, audit đều là chức năng sẵn có của Access Hub; nhân bản ở secmatch là thừa và khó cô lập |