Vấn đề của chúng ta
- Ngày nay khi đang trong thời kỳ các ứng dụng web, các dịch vụ dựa trên đám mây khác nhau đã lan rộng và trở nên tiện lợi hơn, các vấn đề liên quan đến ID và mật khẩu đã phát sinh. Như hình mình hoạ trên bạn có thể dễ dàng nhận ra vấn đề hiện tại là gì. Giả sử bạn đang sử dụng 3 dịch vụ và mỗi dịch vụ đều yêu cầu bạn phải có một tài khoản để có thể sử dụng. Vì vậy bạn cần phải có 3 tài khoản cho 3 dịch vụ đó. Và bạn sử dụng càng nhiều dịch vụ thì số tài khoản bạn cần có sẽ tăng dần lên. Điều này dẫn đến việc quản lý tài khoản của bạn sẽ khó khăn hơn. Vì có quá nhiều tài khoản nên có sẽ có lúc bạn không nhớ ra mật khẩu tài khoản của bạn là gì đúng vậy không nhỉ.
- Vậy có cách nào để cải thiện điều đó không ?
- Dưới đây với mình sẽ có 2 cách.
- Tất cả các dịch vụ đều đăng ký với ID và password giống hệt nhau. ( mỗi lần tạo tài khoản cũng mất thời gian đấy nhỉ )
- SSO (Single Sign-On) được sinh ra từ vấn đề khi các nhà cung cấp dịch vụ muốn người dùng có thể sử dụng các dịch vụ khác nhau mà chỉ cần đăng nhập vào một chỗ duy nhất.
- Dưới đây với mình sẽ có 2 cách.
SAML là gì
- Vậy SAML là gì ?
- SAML là viết tắt của Security Assertion Markup Language
- SAML là một tiêu chuẩn dựa trên XML (ngôn ngữ đánh dấu) để xác thực người dùng trên các miền Internet. Nó thường được sử dụng như một tiêu chuẩn để thực hiện đăng nhập một lần cho phép bạn đăng nhập vào nhiều dịch vụ chỉ bằng một lần đăng nhập duy nhất.
- Khi đăng nhập bằng xác thực SAML, không chỉ xác thực người dùng mà cả thông tin thuộc tính cũng có thể được xác thực, do đó nó có tính năng giới hạn phạm vi truy cập của người dùng.
- Nói cách khác, ngoài việc đạt được đăng nhập một lần bằng cách sử dụng xác thực SAML, còn có thể kiểm soát quyền truy cập, chẳng hạn như chỉ cho phép các phòng ban (trong công ty) cụ thể truy cập vào một số chức năng.
SAML hoạt động như thế nào
Trong xác thực SAML, thông tin xác thực được trao đổi giữa User (người dùng), SP( nhà cung cấp dịch vụ) và IdP (nhà cung cấp dịch vụ đăng nhập một lần). - Giả dụ bạn truy cập vào 1 dịch vụ nào đó ( service A ), và dịch vụ đó cho phép bạn đăng nhập bằng tài khoản Google thì: SP (Service A), IdP (Google)
Sau đây chúng ta sẽ tìm hiểu về cách SAML hoạt động.
- Người dùng truy cập SP
- SP tạo yêu cầu xác thực SAML và trả lời người dùng
- Người dùng gửi yêu cầu xác thực SAML nhận được từ SP tới IdP
- Màn hình xác thực IdP được hiển thị và người dùng nhập ID đăng nhập và mật khẩu để xác thực với IdP
- IdP đưa ra phản hồi xác thực SAML sau khi xác thực thành công
- Người dùng gửi phản hồi xác thực SAML nhận được từ IdP tới SP
- Bạn có thể đăng nhập khi SP nhận được phản hồi xác thực SAML