Bài 1: Tổng quan về Single Sign-On (SSO)
1. SSO là gì?
Single Sign-On (SSO) dịch sát nghĩa là "Đăng nhập một lần". Đây là một cơ chế xác thực cho phép người dùng chỉ cần đăng nhập vào một tài khoản duy nhất để truy cập vào nhiều ứng dụng hoặc hệ thống khác nhau mà không cần phải nhập lại tên đăng nhập và mật khẩu cho từng ứng dụng đó.
2. Tại sao chúng ta cần SSO? (Bài toán thực tế)
Hãy tưởng tượng bạn đang làm việc tại một công ty lớn. Bạn cần truy cập vào:
- Email của công ty.
- Hệ thống quản lý dự án (như Jira/Trello).
- Hệ thống kho vận (WMS).
- Ứng dụng báo cáo kỹ thuật.
Nếu không có SSO, mỗi sáng bạn sẽ phải:
- Đăng nhập vào Email.
- Đăng nhập vào Jira.
- Đăng nhập vào WMS.
- Đăng nhập vào hệ thống báo cáo.
Vấn đề:
- Trải nghiệm người dùng kém: Việc ghi nhớ quá nhiều mật khẩu dẫn đến xu hướng đặt mật khẩu đơn giản, dễ bị lộ.
- Rủi ro bảo mật: Càng nhiều nơi lưu trữ mật khẩu, xác suất bị tấn công càng cao.
- Quản trị phức tạp: Bộ phận IT phải quản lý hàng ngàn tài khoản rải rác trên nhiều hệ thống khác nhau.
3. Nguyên lý cốt lõi
SSO vận hành dựa trên sự tin tưởng (Trust). Thay vì để mỗi ứng dụng tự quản lý việc xác thực, chúng ta tách biệt việc xác thực ra một nơi riêng biệt gọi là Identity Provider (IdP).
Các thành phần chính bao gồm:
- User (Bạn): Người dùng muốn truy cập vào ứng dụng.
- Service Provider (SP): Các ứng dụng/hệ thống mà bạn muốn sử dụng (ví dụ: Google Workspace, Slack, hệ thống AFC của bạn).
- Identity Provider (IdP): "Cơ quan trung ương" giữ nhiệm vụ xác thực danh tính (ví dụ: Okta, Auth0, hoặc một server Identity tự build).
4. Luồng hoạt động cơ bản (Mental Model)
- Truy cập: Bạn truy cập vào một hệ thống (SP).
- Chuyển hướng: Hệ thống SP nhận thấy Hiếu chưa đăng nhập, nó "đẩy" Bạn sang IdP.
- Xác thực: IdP kiểm tra xem Bạn là ai (có thể yêu cầu nhập password hoặc dùng MFA).
- Cấp phép: Nếu đúng, IdP tạo một "thẻ bài" (thường là một token hoặc cookie) và gửi lại cho SP.
- Truy cập: SP nhận "thẻ bài", xác nhận hợp lệ và cho phép Bạn vào hệ thống.
Kết thúc bài 1:
Bạn đã nắm được "nỗi đau" mà SSO giải quyết và các thành phần chính (User, SP, IdP).
Nếu đã sẵn sàng, hãy cho tôi biết để chúng ta tiếp tục Bài 2: Các giao thức phổ biến của SSO (SAML, OIDC, OAuth 2.0) nhé!
All rights reserved