- vừa được xem lúc

SAML là gì ? Cách hoạt động của SAML như thế nào ?

0 0 30

Người đăng: Trung nguyễn văn

Theo Viblo Asia

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.

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.

  1. Người dùng truy cập SP
  2. SP tạo yêu cầu xác thực SAML và trả lời người dùng
  3. 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
  4. IdP đưa ra phản hồi xác thực SAML sau khi xác thực thành công
  5. Người dùng gửi phản hồi xác thực SAML nhận được từ IdP tới SP
  6. Bạn có thể đăng nhập khi SP nhận được phản hồi xác thực SAML

Tham khảo

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hướng dẫn cấu hình đăng nhập Cognito AWS thông qua OAuth2 Azure

Sơ lược về Cognito: Amazon Cognito là dịch vụ của Amazon Web Services cung cấp xác thực, ủy quyền và quản lý người dùng cho các ứng dụng web và di động của bạn. Người dùng có thể đăng nhập trực tiếp b

0 0 43

- vừa được xem lúc

[UseCase - 003] Authentication và Authorization với AWS API Gateway

Tiếp tục với series AWS UseCase, chủ đề lần này sẽ là các phương pháp triển khai Authentication/Authorization với AWS API Gateway. .

0 0 37

- vừa được xem lúc

Single Sign-On trên Viblo Platform hoạt động ra sao?

Bối cảnh. Với nền móng là dịch vụ Viblo được ra mắt ngày 03.

0 0 14

- vừa được xem lúc

SAML Hacking (phần 1) - Giới thiệu về SAML

Đây là bài mở đầu của series SAML Hacking mà mình tìm hiểu được trong thời gian vừa qua, bài đầu tiên sẽ giới thiệu về SAML và cách thức hoạt động của nó. SAML (Security Assertion Markup Language) là

0 0 24

- vừa được xem lúc

SAML Hacking (phần 2) - XML Signatures

Ở phần trước (nếu bạn nào chưa đọc phần 1 thì có thể tìm và đọc tại đây https://viblo.asia/p/saml-hacking-phan-1-gioi-thieu-ve-saml-Ny0VGd384PA) mình có nói về cách thức hoạt động của SAML.

0 0 32

- vừa được xem lúc

Calling an API from a Web App

Ở bài Web Sign-In with OpenID Connect chúng ta đã tìm hiểu về kịch bản sử dụng OIDC để xử lý đăng nhập. Trong bài này hãy tìm hiểu nốt một nửa còn lại liên quan đến việc uỷ quyền và gọi APIs.

0 0 7