MSO Cloud · Documentation

Hướng dẫn Super Admin

Source: docs/guides/super-admin.md Updated 2026-09-21
On this page

Toàn bộ khu vực quản trị nền tảng: năm nhóm chia theo mức ảnh hưởng, tổ chức nằm trong đường dẫn, nhật ký kiểm toán, và ba tầng cấu hình kênh thông báo.

Dành cho: nhân sự vận hành nền tảng. Điều kiện trước: tài khoản đã được cấp quyền super admin; mọi trang dưới đây không mở cho vai trò tổ chức.

Super admin là vai trò cấp nền tảng, không gắn với tổ chức nào và không có trong bảng vai trò x loại tổ chức. Toàn bộ /admin gate ở tầng shell trên vai trò này; một tài khoản không phải super admin bị chuyển hướng về dashboard trên mọi trang, mọi nhóm, mọi tab trong cây /admin.

/admin chia theo blast radius — thay đổi này ảnh hưởng một tổ chức, hay cả nền tảng — thành năm nhóm.

Khách hàng#

  • Tổ chức (/admin/orgs) — danh mục tổ chức; tạo tổ chức mới; áp hoặc nâng một gói khởi tạo (bộ plugin và mapping mẫu cho loại tổ chức), có bước dry-run trước khi áp thật; cấu hình subdomain; bật White-label và đăng nhập thư mục cho từng tổ chức; đọc trạng thái hoạt động.
    • Tổ chức đang chạy phiên bản gói cũ hơn bản dựng thì cột Gói khởi tạo hiện một nút mang hai số phiên bản (v2 → v3). Nút đó nâng gói: bộ dữ liệu đã lệch được định nghĩa lại theo bản mới, và thẻ dashboard tổ chức đã tự sửa được giữ nguyên thay vì bị ghi đè. Chi tiết luật giữ thẻ: Bộ dữ liệu và chỉ số.
  • Người dùng (/admin/users) — một bảng mọi tài khoản trên nền tảng, lọc theo bốn nhóm (tất cả, super admin, đã khoá, chưa thuộc tổ chức nào), mở một dòng để xem/sửa các tổ chức người đó tham gia. Nút Mời người dùng tạo tài khoản mới bằng cách gán ngay vào một tổ chức với một vai trò và một phạm vi thương hiệu (toàn bộ hoặc chọn riêng từng thương hiệu), có thể cấp quyền super admin ngay lúc tạo.
  • Phân quyền (/admin/memberships) — tab Thành viên: một người thuộc tổ chức nào với vai trò gì; tab Vai trò và quyền (/admin/orgs/<slug>/roles): ma trận nền tảng cho MỘT tổ chức — tổ chức nằm trong đường dẫn. Chọn một trong bốn vai trò (owner, admin, editor, viewer) để sửa tên/mô tả hiển thị và bật/tắt từng năng lực cùng từng mục menu vai trò đó mang theo; nút Đặt về khuyến nghị nạp lại bộ quyền mặc định của vai trò. owner luôn khoá — được cấp mọi năng lực và mọi mục menu theo thiết kế, không sửa tay được. Công tắc Chi tiết kỹ thuật hiện thêm mã hằng số dưới mỗi tên hiển thị, tắt theo mặc định. Panel Ẩn/hiện menu hàng loạt bên dưới ma trận tắt hoặc bật một mục menu cho mọi vai trò chưa khoá của tổ chức trong một lần, thay vì sửa từng vai trò.

Cấu hình theo khách#

Mọi mục trong nhóm này áp cho tổ chức có mã định danh nằm trong đường dẫn/admin/orgs/<slug>/…. Mở một tổ chức từ danh mục /admin/orgs (nút Mở quản trị trên dòng của tổ chức đó), rồi đi lại trong nhóm này bằng thanh bên. Đang ở một trang bất kỳ trong nhóm này, bấm tên tổ chức trên thanh trên cùng để đổi sang tổ chức khác mà vẫn ở nguyên trang đó.

  • Gói tính năng (/admin/orgs/<slug>/plugins) — bật/tắt plugin cho tổ chức đang chọn; đây là cách một tổ chức có thêm một mảng dữ liệu mới (kết nối marketing, market intelligence, content intelligence…) sau khi đã tạo. Tab thứ hai Menu và điều hướng (/admin/orgs/<slug>/menu) — cùng bộ soạn menu mà org admin dùng ở /settings/menu.
  • Nguồn dữ liệu (/admin/orgs/<slug>/connectors) — cấu hình kết nối cho tổ chức đang chọn.
  • Market Intelligence (/admin/orgs/<slug>/market-intelligence) — cấu hình kết nối market-intelligence dùng chung, và công tắc demo-masking cho các trang market-intelligence.
  • Trợ lý chat (/admin/orgs/<slug>/chat-assistant) — mặc định của trợ lý AI cho tổ chức đang chọn.
  • Token tích hợp (/admin/orgs/<slug>/api-tokens) — cùng bảng token mà owner/admin dùng, cho tổ chức đang chọn.

Trí tuệ nền tảng#

Runtime dùng chung cho mọi tổ chức.

  • Cấu hình AI (/admin/ai) — nhà cung cấp, model, ngân sách AI của nền tảng; tab Prompts (/admin/orgs/<slug>/ai-prompts) sửa mẫu prompt theo vai trò và ngành. Tab Debug (/admin/ai/debug) có hai khối: Xem trước prompt dựng đúng prompt thật mà worker sẽ gửi cho một tổ hợp (vai trò gợi ý — insight cho widget, tóm tắt tab, tóm tắt key —, ngành, ngôn ngữ), và nút Gửi thử bắn prompt đó tới model đang cấu hình rồi trả về câu trả lời, độ trễ và số token thật đã dùng, để xác nhận một bản chỉnh prompt trước khi job kế tiếp chạy. Luồng job AI thời gian thực bên dưới liệt kê từng job (đang chạy, hoàn tất, lỗi, đang chờ) theo loại tạo ra nó (insight widget, tóm tắt tab, tóm tắt key, truy vấn tự do).
  • Thư viện playbook (/admin/orgs/<slug>/mso-playbooks) — thư viện playbook ngành mà playbook cấp tổ chức dùng làm nguồn.

Vận hành#

Mở khi có sự cố.

  • Sức khoẻ hệ thống (/admin/health) — cơ sở dữ liệu, bộ nhớ đệm, tham số bắt buộc và phiên bản dữ liệu của cả nền tảng.
  • Sức khoẻ tổ chức (/admin/orgs/<slug>/health) — hàng đợi job, tác vụ lỗi, thư chết và tình trạng kết nối của riêng tổ chức đó.
  • Nhật ký kiểm toán (/admin/orgs/<slug>/logs) — lịch sử thay đổi vai trò, thành viên và cấu hình của tổ chức đang chọn, có lọc và phân trang.
  • Chính sách thông báo (/admin/notifications) — ba tab: Chính sách (loại thông báo nào đang chạy, gửi qua kênh nào, ai nhận được), Kênh gửi (/admin/notifications/channels, cấu hình từng kênh gửi ngoài mà nền tảng có: web push, email, Telegram, Zalo), Tổ chức (/admin/notifications/orgs, bật một kênh cho từng tổ chức). Ba tab là ba tầng, phải đủ cả ba: nền tảng cấu hình kênh, tổ chức được phép dùng kênh, người nhận tự chọn kênh cho từng loại thông báo. Thêm một kênh mới (Slack, Teams, SMS, webhook riêng của khách) là việc của đội nền tảng — khai báo một dòng trong registry kênh kèm adapter, không phải một thiết lập ở đây (quyết định kiến trúc: ADR 0050, tài liệu nội bộ).
    • Tab Chính sách là trần của nền tảng cho từng loại thông báo: loại đó có bật không, được đi qua những kênh nào, và vai trò nào nhận được. Cột kênh là những kênh nền tảng đang có; thêm kênh mới thì cột tự xuất hiện. Trần chỉ thu hẹp thứ một người được chọn, không tự gửi gì và không bật hộ ai. Tín hiệu hạ tầng và lỗi đồng bộ có đối tượng là nền tảng, không bao giờ vào bản tin buổi sáng của một tổ chức.
    • Tab Kênh gửi là một thẻ cho mỗi kênh, chỉ hỏi đúng trường kênh đó cần: web push cần cặp khoá VAPID sinh ngay trên trang, nửa khoá riêng mã hoá khi lưu và không hiện lại; email cần địa chỉ gửi và khoá API; Telegram cần token bot, secret webhook và tên bot; Zalo OA cần mã OA, app id, app secret và access token. Thẻ chỉ hiện dấu vân tay của giá trị đang lưu, không bao giờ hiện lại bí mật. Nút Gửi thử bắn một tin thật tới chính người quản trị đang thao tác và đánh dấu kênh đã xác minh khi thành công — email dùng luôn địa chỉ đăng nhập, còn web push, Telegram và Zalo đòi người quản trị đã tự liên kết kênh đó vào tài khoản mình trước.
    • Tab Tổ chức là ma trận cho phép theo từng tổ chức, một cột cho mỗi kênh đã cấu hình. Mọi tổ chức bắt đầu ở trạng thái tắt trên mọi kênh ngoài; bật ở đây mới làm kênh đó chọn được trong trang thông báo của tổ chức.
  • Trình duyệt dữ liệu (/admin/orgs/<slug>/data) — xem dữ liệu thô của tổ chức đó dưới RLS. Danh sách bảng chọn được không giống nhau giữa các tổ chức: mặc định trang chỉ liệt kê bảng thuộc mặt phẳng dữ liệu mà tổ chức đang thật sự chạy, cộng các bảng nền tảng không thuộc mặt phẳng nào (kết nối, mức dùng AI, nhật ký kiểm toán). Tổ chức chỉ chạy thảo luận khách hàng và tổ chức chạy thương mại vì thế thấy hai danh sách khác nhau, và một tổ chức chưa chạy mặt phẳng nào chỉ thấy ba bảng nền tảng. Công tắc hiện mọi bảng vẫn còn trên trang khi cần tra ngoài phạm vi đó.
  • Dữ liệu mẫu (/admin/data) — tạo lại hoặc xoá dữ liệu mẫu trên toàn hệ thống: nút này tác động tới mọi tổ chức gắn cờ dữ liệu mẫu, không phải riêng một tổ chức, nên nó nằm ở trang cấp nền tảng chứ không nằm dưới một tổ chức.
    • Mặt phẳng nào đang chạy được suy ra chứ không khai tay: ecom tính theo dữ liệu thật (có kết nối sàn đang hoạt động, hoặc đã có đơn hàng), năm mặt phẳng còn lại tính theo plugin tương ứng đang bật ở /admin/orgs/<slug>/plugins. Loại tổ chức không tham gia phép suy này.
  • Sao lưu và phục hồi (/admin/orgs/<slug>/backup) — sao lưu tự động nhiều tổ chức; khác với bảng sao lưu riêng của một tổ chức tại /settings/backup.

Nhận diện#

Blast radius rộng nhất, ít ghé nhất.

  • Cấu hình chung (/admin/system) — tham số toàn nền tảng.
  • Nhận diện nền tảng (/admin/site-identity) — tên, logo, favicon của cả nền tảng; tab Giao diện (/admin/appearance) cho bảng màu sáng/tối. Khác với theme riêng của một tổ chức tại /settings/organization.

Tổ chức nằm trong đường dẫn#

Mỗi trang quản trị theo tổ chức có mã định danh của tổ chức ngay trong URL: /admin/orgs/<slug>/plugins, /admin/orgs/<slug>/roles, và cứ thế. Đọc URL là biết đang sửa tổ chức nào; sao chép URL là chia sẻ đúng màn hình đó; mở hai tab là mở hai tổ chức, không tab nào đổi tổ chức của tab kia.

Vào một tổ chức từ danh mục /admin/orgs — tìm theo tên hoặc mã định danh rồi bấm Mở quản trị. Đây là một đường dẫn bình thường: mở trong tab mới, sao chép, hay đặt dấu trang đều được.

Đổi tổ chức mà không rời trang: trên mọi trang /admin/orgs/<slug>/…, tên tổ chức ở thanh trên cùng là một ô chọn. Bấm vào đó để có ô tìm kiếm — tìm chạy trên máy chủ, mỗi lần trả về một trang kết quả, và báo rõ khi còn tổ chức khác khớp để thu hẹp từ khoá — kèm mục Gần đây liệt kê các tổ chức trình duyệt này vừa mở. Chọn một tổ chức sẽ sang đúng trang đang xem của tổ chức đó: đang ở /admin/orgs/a/connectors thì sang /admin/orgs/b/connectors. Trang chi tiết của một bản ghi (ví dụ một playbook) không đi theo được — bản ghi thuộc về một tổ chức — nên sẽ về trang danh sách tương ứng. Bàn phím: mũi tên lên/xuống chọn, Enter mở, Esc đóng.

Danh sách thả xuống kiểu cũ trên thanh trên cùng không quay lại: nó nạp sẵn 500 tổ chức rồi lọc trong trình duyệt, nên tổ chức thứ 501 biến mất mà không báo. Ô chọn hiện tại hỏi máy chủ theo từ khoá, nên số tổ chức bao nhiêu cũng tìm được.

Thứ tự quyết định tổ chức: tên miền riêng của tổ chức (nếu đang vào bằng tên miền đó) trước, rồi tới mã định danh trong đường dẫn, cuối cùng mới tới ghi nhớ của trình duyệt về tổ chức vừa mở — ghi nhớ này chỉ dùng cho đường dẫn quản trị kiểu cũ (/admin/plugins), vốn được chuyển hướng vĩnh viễn sang dạng mới; không xác định được tổ chức thì trả về danh mục /admin/orgs.

Tìm trong nhật ký kiểm toán#

/admin/orgs/<slug>/logs lọc ở phía máy chủ, trên toàn bảng, không chỉ trên số dòng đang hiện.

  • Một ô tìm tự do khớp không phân biệt hoa thường với bốn trường cùng lúc: hành động, loại tài nguyên, mã tài nguyên, và email người thực hiện. Ô này có độ trễ gõ và giới hạn độ dài.
  • Hai bộ lọc ngày, từ và đến, đọc theo cạnh ngày giờ Việt Nam: từ ngày 3 tháng 3 nghĩa là từ đầu ngày 3 tháng 3 theo giờ Việt Nam.
  • Kết quả 20 dòng mỗi trang, mới nhất trước; mở một dòng để xem giá trị trước và sau của thay đổi.

Việc thường làm#

  • Tạo một tổ chức mới và áp gói khởi tạo: /admin/orgs.
  • Bật một plugin cho một tổ chức đã có: mở tổ chức từ /admin/orgs, sau đó /admin/orgs/<slug>/plugins.
  • Cấu hình ngân sách và nhà cung cấp AI dùng chung: /admin/ai.
  • Tra lại một thay đổi cấu hình gần đây: /admin/orgs/<slug>/logs.
  • Bật một kênh gửi thông báo và cho phép một tổ chức dùng kênh đó: /admin/notifications/channels, sau đó /admin/notifications/orgs. Người nhận vẫn phải tự liên kết thiết bị hoặc tài khoản ở /settings/notifications với web push, Telegram và Zalo; email thì dùng luôn địa chỉ đăng nhập.
  • Bật LDAP/AD cho một tổ chức trước khi org admin cấu hình kết nối tại /settings/ldap.

Liên quan#