OIDC / SSO — đăng nhập qua nhà cung cấp danh tính
PremiumOpenID Connect (OIDC), xây dựng trên nền OAuth2, cho phép người dùng của bạn đăng nhập vào Omniscol bằng tài khoản của tổ chức thay vì bằng một mật khẩu Omniscol riêng. Ba lợi ích: chỉ một mật khẩu cần nhớ, việc mở và cắt quyền truy cập được quản lý tập trung khi một người vào làm hay nghỉ việc, và chính sách bảo mật (MFA, độ dài mật khẩu, thời hạn…) do bộ phận công nghệ thông tin quy định được áp dụng tự động.
Trang này mô tả SSO cho người dùng: việc các cá nhân đăng nhập vào Omniscol qua nhà cung cấp danh tính của bạn. Trường hợp ngược lại — Omniscol đóng vai trò máy chủ OAuth2 / OIDC để các dịch vụ bên thứ ba kết nối vào, cùng màn hình quản lý ứng dụng khách của nó — được trình bày ở OAuth2 / OIDC (nhà cung cấp).
Các nhà cung cấp được hỗ trợ
Omniscol hỗ trợ:
- Google Workspace,
- Microsoft Entra ID (trước đây là Azure AD),
- Keycloak,
- một nhà cung cấp OIDC tổng quát qua issuer / discovery URL của nó (mọi nhà cung cấp tuân thủ OIDC).
Cấu hình phía Omniscol
Trong Quản trị → Thông số, mục Bảo mật, nút Cấu hình mở màn hình cấu hình OIDC, nơi bạn khai báo nhà cung cấp:
- Tên hiển thị — nhãn sẽ xuất hiện trên nút đăng nhập (ví dụ
Tiếp tục với Google). - Loại nhà cung cấp — Google, Microsoft Entra ID (Azure AD), Keycloak hoặc OIDC tổng quát.
- Tenant / issuer — tenant Microsoft cho Entra ID, hoặc URL issuer cho Keycloak và các nhà cung cấp OIDC tổng quát. Siêu dữ liệu OIDC sau đó được ứng dụng tự phát hiện.
- Client ID và Client secret — lấy được khi tạo một ứng dụng ở phía nhà cung cấp (xem tài liệu của nhà cung cấp).
- Scopes — mặc định là
openid profile email. Thêm các scope riêng của nhà cung cấp nếu cần. - Miền được phép — danh sách tùy chọn các miền thư điện tử được chấp nhận khi đăng nhập SSO; nếu để trống thì không áp dụng bộ lọc theo miền nào.
- URL chuyển hướng — Omniscol cho bạn giá trị chính xác cần chép vào cấu hình phía nhà cung cấp (cùng với URL chuyển hướng sau khi đăng xuất nếu nhà cung cấp yêu cầu).
- Chỉ cho phép đăng nhập bằng SSO — khi SSO đã chạy tốt, tùy chọn này từ chối việc đăng nhập bằng mật khẩu Omniscol, trừ các tài khoản dự phòng mô tả dưới đây.
Cấu hình SSO hiện hành được đặt ở cấp tài khoản trường.
Truy cập dự phòng (break-glass)
Ở chế độ Chỉ cho phép đăng nhập bằng SSO, việc đăng nhập bằng mật khẩu Omniscol bị từ chối: mọi người đều đi qua nhà cung cấp danh tính. Nếu nhà cung cấp đó ngừng hoạt động — sự cố, client secret hết hạn, cấu hình sai — thì quyền truy cập vào Omniscol sẽ bị chặn với tất cả mọi người.
Tài khoản dự phòng (“break-glass”) là hàng rào bảo vệ trước tình huống đó: một tài khoản quản trị viên được phép đăng nhập bằng mật khẩu Omniscol ngay cả khi chế độ chỉ dùng SSO đang bật.
- Trong hồ sơ của một tài khoản quản trị viên, khi tùy chọn Chỉ cho phép đăng nhập bằng SSO đang bật, một ô Break-glass (SSO only) sẽ xuất hiện. Đánh dấu ô này cho phép tài khoản đó đăng nhập bằng mật khẩu nếu nhà cung cấp danh tính không dùng được. Chỉ tài khoản quản trị viên mới được đặt làm tài khoản dự phòng.
- Ngoài ra, bộ phận hỗ trợ của Omniscol vẫn giữ một đường truy cập dự phòng độc lập.
Hãy chỉ định ít nhất một tài khoản dự phòng trước khi bật chế độ chỉ dùng SSO, và cất mật khẩu của tài khoản đó ở nơi an toàn: đó là tấm lưới an toàn của bạn nếu nhà cung cấp danh tính gặp sự cố.
Cấu hình phía nhà cung cấp (ví dụ)
Google Workspace
- Bảng điều khiển Google Cloud > APIs & Services > Credentials.
- Tạo một mã định danh OAuth 2.0, loại Ứng dụng Web.
- Dán URL chuyển hướng do Omniscol cung cấp vào Authorized redirect URIs.
- Lấy Client ID và Client secret để dán vào Omniscol.
Microsoft Entra ID
- Cổng Azure > Entra ID > App registrations.
- New registration, loại Web, URL chuyển hướng của Omniscol.
- Certificates & secrets > tạo một client secret.
- API permissions > thêm
openid,profile,email. - Lấy Application (client) ID và client secret.
Keycloak
- Realm > Clients > Create client, loại OpenID Connect.
- Valid redirect URIs: URL do Omniscol cung cấp.
- Credentials > lấy client secret.
Khớp với các tài khoản Omniscol
Khi một người dùng bấm vào nút SSO, Omniscol:
- Chuyển hướng người đó tới nhà cung cấp,
- Lấy địa chỉ e-mail của họ sau khi xác thực,
- Tìm một tài khoản Omniscol có cùng địa chỉ e-mail.
Nếu tài khoản tồn tại và đang hoạt động, người dùng được đăng nhập. Nếu không, quyền truy cập bị từ chối. Hệ quả: muốn SSO chạy được, người dùng phải tồn tại trong Omniscol với đúng địa chỉ e-mail — mặc định Omniscol không tự tạo tài khoản.
Tự động tạo tài khoản
Việc tự động tạo tài khoản ngay lần đăng nhập SSO đầu tiên
(just-in-time provisioning) không phải là hành vi mặc định của màn hình
cấu hình. Nếu bạn cần chế độ này, hãy thống nhất phạm vi với Omniscol.
Hướng dẫn
Cấu hình một nhà cung cấp OIDC / SSO
-
OIDC / SSO cho phép người dùng của bạn đăng nhập bằng tài khoản của tổ chức (Google Workspace, Microsoft Entra ID, Keycloak, Okta…). Phần việc phía nhà cung cấp thì tùy theo từng nhà cung cấp.
-
Ở phía nhà cung cấp, trước hết hãy tạo một ứng dụng OIDC loại Ứng dụng Web: lấy Client ID và Client secret, chép URL chuyển hướng do Omniscol cung cấp vào mục Authorized redirect URIs của nhà cung cấp.
-
Ở phía Omniscol, mở phần thông số rồi vào cấu hình OIDC. Điền tên hiển thị (nhãn của nút đăng nhập), loại nhà cung cấp, issuer hoặc tenant tùy trường hợp, Client ID, Client secret và các scope (mặc định:
openid profile email). -
Bấm Kiểm tra. Xác nhận rằng cấu hình hoạt động. Omniscol thực hiện một lượt đi-về OIDC; nếu có lỗi discovery, lỗi client secret hay lỗi chuyển hướng, thông báo lỗi sẽ nói rõ.
-
Lưu lại. Nút đăng nhập SSO xuất hiện trên trang đăng nhập khi cấu hình đang hoạt động.
-
Quan trọng: các tài khoản phải tồn tại sẵn trong Omniscol với đúng địa chỉ e-mail. Đăng nhập SSO khớp theo e-mail; mặc định không có việc tự động tạo tài khoản.