Bài này chúng ta sẽ tìm hiểu chi tiết về SAML là gì? và các tính năng hữu ích của nó trong Amazon Web Services.
Nội dung chính
1. SAML là gì?
- SAML là viết tắt của Security Assertion Markup language(ngôn ngữ Đánh dấu xác nhận bảo mật).
- Nói chung, người dùng cần nhập tên người dùng và mật khẩu để đăng nhập vào bất kỳ ứng dụng nào.
- SAML là một kỹ thuật đạt được Single Sign-On – Đăng nhập một lần (SSO) .
- Security Assertion Markup Language (SAML) là một khuôn khổ dựa trên Xml cho phép nhà cung cấp danh tính cung cấp thông tin xác thực ủy quyền cho nhà cung cấp dịch vụ.
- Với SAML, bạn cần nhập một thuộc tính bảo mật để đăng nhập vào ứng dụng
- SAML là liên kết giữa xác thực danh tính của người dùng và ủy quyền sử dụng dịch vụ.
- SAML cung cấp một dịch vụ được gọi là Đăng nhập một lần có nghĩa là người dùng phải đăng nhập một lần và có thể sử dụng cùng thông tin xác thực để đăng nhập vào nhà cung cấp dịch vụ khác.
2. Tại sao dùng SAML?
- Với SAML, cả nhà cung cấp dịch vụ và nhà cung cấp danh tính(tài khoản) đều tồn tại riêng biệt, nhưng tập trung hóa việc quản lý người dùng và cung cấp quyền truy cập vào các giải pháp SaaS.
- Xác thực SAML chủ yếu được sử dụng để xác minh thông tin đăng nhập của người dùng từ danh tính của nhà cung cấp.
2.1 Ưu điểm của SAML:
- SAML SSO (ĐĂNG NHẬP DUY NHẤT): SAML cung cấp bảo mật bằng cách loại bỏ mật khẩu cho ứng dụng và thay thế chúng bằng mã thông báo bảo mật. Vì chúng ta không yêu cầu bất kỳ mật khẩu nào cho thông tin đăng nhập SAML, nên không có rủi ro thông tin xác thực bị đánh cắp bởi người dùng trái phép. Nó cung cấp quyền truy cập nhanh hơn, dễ dàng hơn và đáng tin cậy vào các ứng dụng đám mây.
- Open Standard SINGLE SIGN-ON: Triển khai SAML xác nhận theo tiêu chuẩn mở. Do đó, nó không bị giới hạn ở một nhà cung cấp danh tính duy nhất. Tiêu chuẩn mở này cho phép bạn chọn nhà cung cấp SAML.
- Bảo mật mạnh mẽ: SAML sử dụng danh tính được liên kết và mã thông báo an toàn để biến SAML trở thành một trong những hình thức bảo mật tốt nhất để xác thực dựa trên web.
- Cải thiện trải nghiệm trực tuyến cho người dùng cuối: SAML cung cấp SINGLE SIGN-ON (SSO) để xác thực tại nhà cung cấp danh tính và nhà cung cấp danh tính sẽ gửi xác thực đến nhà cung cấp dịch vụ mà không cần thông tin xác thực bổ sung.
- Giảm chi phí quản lý cho nhà cung cấp dịch vụ: Sử dụng xác thực một lần nhiều lần cho nhiều dịch vụ có thể giảm chi phí quản trị để duy trì thông tin tài khoản.
- Chuyển giao rủi ro: SAML đã giao trách nhiệm xử lý danh tính cho nhà cung cấp danh tính.
3. Các loại nhà cung cấp SAML
Nhà cung cấp SAML là một thực thể trong hệ thống giúp người dùng truy cập các dịch vụ mà họ muốn.
Có hai loại nhà cung cấp SAML:
- Nhà cung cấp dịch vụ(Service provider)
- Nhà cung cấp danh tính(Identity provider)
3.1 Nhà cung cấp dịch vụ
- Nó là một thực thể trong hệ thống cung cấp dịch vụ cho người dùng để họ dùng cho xác thực.
- Nhà cung cấp dịch vụ yêu cầu xác thực từ nhà cung cấp danh tính cấp quyền truy cập cho người dùng nào đó.
- Salesforce và các CRM khác là những nhà cung cấp dịch vụ phổ biến.
3.2 Nhà cung cấp danh tính
- Nhà cung cấp danh tính là một thực thể trong hệ thống gửi xác thực đến nhà cung cấp dịch vụ về việc họ là ai cùng với quyền truy cập của người dùng.
- Nó duy trì một thư mục của người dùng và cung cấp cơ chế xác thực.
- Microsoft Active Directory và Azure là những nhà cung cấp danh tính chung.
4. Xác nhận SAML là gì?
Xác nhận SAML là tài liệu XML mà nhà cung cấp danh tính gửi đến nhà cung cấp dịch vụ có chứa ủy quyền người dùng.
Xác nhận SAML có ba loại:
- Xác thực(Authentication)
- Nó chứng minh nhận dạng của người dùng
- Nó cung cấp thời gian mà người dùng đăng nhập.
- Nó cũng xác định phương pháp xác thực nào đã được sử dụng.
- Thuộc tính(Attribute)
- Xác nhận thuộc tính được sử dụng để chuyển các thuộc tính SAML để nhà cung cấp dịch vụ nơi thuộc tính chứa một phần dữ liệu cho việc xác thực người dùng.
- Quyết định ủy quyền(Authorization decision)
- Quyết định ủy quyền xác định xem người dùng được ủy quyền sử dụng dịch vụ hay nhà cung cấp danh tính đã từ chối yêu cầu do lỗi mật khẩu.
5. Hoạt động của 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.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Tài liệu từ cafedev:
- Full series tự học Amazon Web Services(AWS)từ cơ bản tới nâng cao tại đây nha.
- Ebook về AWS tại đây.
- Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!