ADR 0007Chấp nhận
ADR 0007: Token mờ cho agent và đồng bộ registry
Trạng thái: Chấp nhận. Ngày: 2026-09-30.
Bối cảnh
Mỗi request ingest phải được xác thực nhanh (hàng trăm request/giây) và phải thu hồi được nhanh. Danh tính (công ty, máy chủ) phải đáng tin và không do agent tự khai.
Lựa chọn
- JWT tự chứa (không cần tra cứu).
- Token mờ, tra cứu registry.
- mTLS bắt buộc.
Quyết định
Token mờ (256 bit, tiền tố ahat_), hash SHA-256 lưu phía Access Hub, registry trong Redis phục vụ ingest. Access Hub là nguồn sự thật, đẩy thay đổi xuống collector, kèm đối soát định kỳ và tra cứu dự phòng khi cache miss (có cache âm). mTLS là tùy chọn GĐ 3.
Lý do
- Thu hồi tức thì (JWT tự chứa khó thu hồi trước hạn nếu không có danh sách đen, tức là lại cần tra cứu).
- Danh tính lấy từ registry nên không thể giả mạo bằng nội dung payload.
- Lộ token của một agent chỉ ảnh hưởng một agent.
- Triển khai đơn giản cho hàng nghìn máy, không cần hạ tầng PKI ngay từ đầu.
Hệ quả
- Cần Redis và cơ chế đồng bộ, có nhiều lớp cache (bộ nhớ, Redis) để giữ hiệu năng.
- Thu hồi có độ trễ tối đa (mục tiêu 60 giây) nếu đẩy thất bại, được bảo đảm bởi đối soát.
- Xoay token có thời gian chồng lấn 24 giờ.
- Ingest phải chịu được Access Hub tạm mất (dùng cache, không tra ngược ồ ạt).