Nhúng báo cáo lên web/app bên ngoài
Data Suite hỗ trợ biểu diễn báo cáo trên website hoặc app của khách hàng theo hình thức nhúng code bảo mật (Secured Embedded Report).

Sơ đồ luồng kết nối

Chuẩn bị
Cần có đội ngũ kỹ thuật từ phía khách hàng để tích hợp luồng xác thực và nhúng báo cáo vào website hoặc ứng dụng của khách hàng.
Người thao tác tạo App Token và lấy mã nhúng cần có quyền Admin ở Organization.
Hướng dẫn tích hợp
Tạo Session Token bằng App Key (Yêu cầu code)
Tại project web/app của khách hàng, viết code tạo Session Token bằng cách gọi API của Data Suite.
Input:
App Token để xác thực app.
Email của người dùng đang xem (Current User/Logged In User) để kiểm tra quyền.
Output:
Session Token, dùng để truyền vào URL param của iframe ở bước (4) Nhúng báo cáo.

Gợi ý: Khách hàng có thể tham khảo đoạn code tại Step 2 của Wizard hướng dẫn (tương thích với app ReactJS), hoặc sử dụng cURL tùy nhu cầu.
Lưu ý: Session Token có hiệu lực trong 30 phút. Sau khi đã render thành công báo cáo trong iframe, các tương tác của người dùng cũng, hệ thống Data Suite vẫn sẽ verify Session Token, sau khi hết hiệu lực, giao diện báo cáo sẽ thông báo Token expired và không cho phép thao tác tiếp. Do đó, khách hàng cần chủ động thiết lập thời gian tự động rotate Session Token/reload trang để re-authen trước khi đến hạn.
Nhúng nhiều báo cáo khác nhau
Khách hàng có nhu cầu nhúng nhiều báo cáo khác nhau, không nhất thiết phải viết code tạo Session Token nhiều lần, mà chỉ cần quan tâm request body sẽ gửi trong API call:
Khi Data Suite tạo snippet nhúng, chỉ khác nhau phần body này để định danh báo cáo. Tương tự với iframe sẽ khác nhau ở thuộc tính src:
Phân quyền xem báo cáo nhúng
Báo cáo Data Suite luôn kiểm tra quyền dựa vào người dùng đang truy cập (logged in user), vì vậy khi nhúng báo cáo vào môi trường nằm ngoài Data Suite, bắt buộc phải truyền định danh của người dùng (email) để xác định quyền. Khi đó, người dùng xem báo cáo nhúng trên web/app của khách hàng, cũng giống như chính người dùng đó đang đăng nhập và xem báo cáo trực tiếp trên Data Suite.
Phạm vi phân quyền được áp dụng:
Access Control: Người dùng có quyền xem báo cáo này hay không
Share báo cáo cho từng người dùng (role Viewer trở lên)
Gán role hệ thống cho người dùng (role Viewer trở lên)
Share báo cáo cho nhóm người dùng (User Group) và thêm người dùng vào nhóm
Row-level Security (RLS): Người dùng được xem những dữ liệu nào trên báo cáo này
Gán người dùng vào các Data Role trong Data Model
Đồng bộ danh sách người dùng
Để Embedded Report hoạt động chính xác và hiệu quả, khách hàng cần thêm người dùng (email) vào Organization và Workspace của mình, phân quyền cho người dùng đó trên Data Suite trước khi cho phép người dùng xem báo cáo trên web/app của khách hàng.
Ví dụ 1: Hệ thống khách hàng có 50 user, nếu muốn cho 50 user này xem được báo cáo nhúng, cần thêm 50 user này vào Organization trên Data Suite và phân quyền AC/RLS cho họ.
Ví dụ 2: Trường hợp khách hàng có 50 user, nhưng chỉ có 10 user được quyền xem báo cáo nhúng, thì chỉ cần thêm và phân quyền cho 10 user này.
Quản lý embed session
Tại mục Manage Organization ⇒ App Tokens, khách hàng có thể theo dõi số lượt tải báo cáo thông qua môi trường Embed (iframe).

Trường hợp App Token đã không còn dùng hoặc bị lộ, khách hàng cần revoke ngay để hạn chế rủi ro bảo mật dữ liệu.
Last updated



