Chương 2: Các gi i pháp Single sign on (SSO) ả 2.1 Các lo i Single sign onạ
2.2.5. Security Assertion Markup Language (SAML) SAML là gì:
SAML là gì:
SAML hoặc “Ngôn ngữ đánh dấu xác nhận bảo mật” là một trong những giao thức web được sử dụng phổ biến nhất cho phép đăng nhập một lần (SSO). Nó được hầu hết mọi người dùng internet và các tổ chức sử dụng hàng ngày. Đây là một giao thức phổ quát giúp giảm khoảng cách giữa miền cục bộ và bất kỳ ứng dụng / dịch vụ web bên ngoài nào cần biết thông tin đăng nhập, do đó loại bỏ sự gia tăng mật khẩu không an toàn. Ví dụ: bạn có thể coi xác thực SAML như một chứng minh thư: một cách đơn giản, cởi mở và được tiêu chuẩn hóa để cho biết ai đó là ai. Bạn không cần phải tiến hành một loạt các xét nghiệm DNA để tìm ra danh tính của ai đó. Tất cả những gì bạn phải làm là nhìn vào thẻ ID của họ.
Ngoài ra, một trong những thách thức lớn trong tính toán và mạng là khả năng tương tác; đưa các hệ thống khác nhau với các thông số kỹ thuật khác nhau do các nhà cung cấp khác nhau xây dựng để hoạt động song song. Xác thực SAML là một tiêu chuẩn có thể tương tác và được chấp nhận rộng rãi bởi nhiều ngành công nghiệp, cơ quan chính phủ và doanh nghiệp lớn để triển khai danh tính liên kết.
Cách thức hoạt động của SAML
Quy trình xác thực SAML điển hình bao gồm ba thành phần (hình 9):
Chủ đề: Đây luôn là người dùng hoặc nhân viên đang cố gắng truy cập vào
dịch vụ được lưu trữ trên đám mây.
Nhà cung cấp danh tính (IdP): Dịch vụ phần mềm đám mây lưu trữ và kiểm
tra danh tính người dùng, thường thông qua quy trình đăng nhập. Về cơ bản, công việc của IdP là nói, “Tôi biết cá nhân này, và đây là những điều họ được phép làm”. Trên thực tế, một hệ thống SAML có thể tách rời khỏi IdP và hoạt động như một đại diện của IdP.
Nhà cung cấp dịch vụ (SDP): Ứng dụng được lưu trữ trên đám mây hoặc dịch
vụ web mà người dùng muốn sử dụng. Ví dụ: các nền tảng email đám mây như 64
Gmail hoặc Microsoft Outlook, các dịch vụ lưu trữ đám mây như AWS s3 hoặc Google Drive và các ứng dụng liên lạc như Skype hoặc Slack. Thông thường người dùng sẽ đăng nhập trực tiếp vào các ứng dụng này. Tuy nhiên, trong trường hợp SAML, người dùng đăng nhập vào SAML để cấp cho họ quyền truy cập cần thiết thay vì đăng nhập trực tiếp.
Hình 11: Quy trình xác thực SAML
● Nếu người dùng cố gắng truy cập tài nguyên trên máy chủ, nhà cung cấp dịch vụ sẽ kiểm tra xem người dùng có được xác thực trong hệ thống hay không. Nếu đúng, bạn chuyển sang bước 7 và nếu không, nhà cung cấp dịch vụ sẽ bắt đầu quá trình xác thực.
● Nhà cung cấp dịch vụ xác định nhà cung cấp danh tính thích hợp cho bạn và chuyển hướng yêu cầu đến nhà cung cấp danh tính.
● Một yêu cầu xác thực đã được gửi đến dịch vụ SSO (SINGLE SIGN- ON) và dịch vụ SSO nhận dạng bạn.
● Dịch vụ SSO trả về cùng với tài liệu XHTML, chứa thông tin xác thực do nhà cung cấp dịch vụ yêu cầu trong tham số SAMLResponse.
● Tham số SAMLResponse được chuyển tới Dịch vụ người tiêu dùng xác nhận (ACS) tại nhà cung cấp dịch vụ.
● Nhà cung cấp dịch vụ xử lý yêu cầu và tạo bối cảnh bảo mật; bạn đã tự động đăng nhập.
● Sau khi đăng nhập, bạn có thể yêu cầu một tài nguyên mà bạn muốn.
● Cuối cùng, tài nguyên được trả lại cho bạn.