Đi sâu vào xác thực SAML
Hiểu SAML trong đăng nhập một lần với Salesforce
Trong lĩnh vực xác thực, SAML (Security Assertion Markup Language) đóng vai trò then chốt trong việc đảm bảo truy cập liền mạch giữa các ứng dụng. Hãy đi sâu vào SAML, hiểu tầm quan trọng của nó trong đăng nhập một lần (SSO), và khám phá cách hiện thực nó với Salesforce.
Bối cảnh
Hãy tưởng tượng một tình huống bạn có hai Org Salesforce: một nhà cung cấp danh tính (IDP) và một nhà cung cấp dịch vụ. Nhà cung cấp dịch vụ có dữ liệu bạn muốn truy cập, nhưng thay vì dùng nhiều thông tin đăng nhập, bạn muốn làm điều đó chỉ với một bộ thông tin đăng nhập. Khái niệm nghe đơn giản, nhưng cơ chế phía sau có thể rất phức tạp.

Các thuật ngữ then chốt trong SAML
Truy cập của người dùng: Khi một người dùng cố tiếp cận một tài nguyên được bảo vệ trên nhà cung cấp dịch vụ trước khi xác thực.
Chuyển hướng: Nếu người dùng chưa được xác thực, nhà cung cấp dịch vụ sẽ chuyển hướng họ đến nhà cung cấp danh tính bằng một SAML request. Nếu cần, một relay state (URL mà người dùng định truy cập ban đầu) có thể được gửi kèm.
Xác thực tại IDP: Nhà cung cấp danh tính xác minh danh tính người dùng, thường qua tên người dùng, mật khẩu hoặc xác thực đa yếu tố.
SAML assertion: Sau khi xác thực, IDP gửi một SAML assertion đến nhà cung cấp dịch vụ.
Sự tin cậy của nhà cung cấp dịch vụ: Nhà cung cấp dịch vụ xác thực SAML assertion, trích xuất thông tin người dùng và cấp quyền truy cập. Nếu trước đó có relay state, nhà cung cấp dịch vụ điều hướng đến URL cụ thể đó.

Lợi ích của đăng nhập một lần
Truy cập đơn giản: Người dùng chỉ cần một bộ thông tin đăng nhập để truy cập nhiều dịch vụ.
Bảo mật: SAML dùng chữ ký số để đảm bảo tính toàn vẹn dữ liệu và ngăn chặn giả mạo.
Khả năng tương tác: Là một giao thức chuẩn, SAML có thể giao tiếp với nhiều IDP và nhà cung cấp dịch vụ trên các nền tảng công nghệ khác nhau.
Đi sâu hơn: xem xét các luồng SAML
SAML request: Do nhà cung cấp dịch vụ khởi tạo gửi đến IDP, yêu cầu nó xác thực một người dùng.

SAML response: Một thông điệp từ IDP sau khi xác thực, chứa thông tin về người dùng.

Assertion: Đây là những tuyên bố của IDP về người dùng, bao gồm các thuộc tính như tên người dùng hay email.
Chữ ký số: Được dùng để xác minh các assertion, đảm bảo chúng không bị sửa đổi trái phép.
Relay state: Một URL liên kết sâu đảm bảo người dùng được chuyển hướng trở lại đích đến dự định ban đầu sau khi xác thực.
Khi một người dùng bắt đầu truy cập, một SAML request được gửi đến IDP, và sau khi xác minh, IDP gửi lại một SAML assertion. Assertion này, khi được nhà cung cấp dịch vụ xác thực, cấp cho người dùng quyền truy cập như mong muốn.

Dùng các công cụ như SAML Tracer cho trình duyệt, ta có thể hình dung luồng này. Nó cho một cái nhìn minh bạch về quy trình xác thực, từ yêu cầu ban đầu đến lần chuyển hướng cuối cùng sau khi xác thực.
Các biện pháp bảo mật trong SAML assertion
Để chống lại các mối đe dọa bảo mật tiềm ẩn:
Dấu thời gian được dùng để ngăn tấn công phát lại, đảm bảo SAML assertion chỉ hợp lệ trong một khoảng thời gian ngắn.
Chữ ký số bảo đảm dữ liệu không bị giả mạo trong quá trình trao đổi.
Ngoài ra, assertion có thể chứa các thuộc tính người dùng, như địa chỉ email hay loại người dùng, cho phép kiểm soát truy cập chi tiết hơn ở phía nhà cung cấp dịch vụ.
Kết luận
Về cốt lõi, SAML là một giao thức dựa trên XML chứa các thành phần then chốt cho việc xác thực. Dù có vẻ như phép màu, nó là kết quả của công nghệ được suy tính kỹ lưỡng, được thiết kế để chặn đứng các cuộc tấn công như “kẻ đứng giữa” hay các kịch bản phát lại.
Khả năng tích hợp nhiều nhà cung cấp dịch vụ với nhiều nền tảng công nghệ IDP khác nhau khiến nó trở thành nền tảng của thế giới xác thực số.
Hãy đón xem
Hãy tự tin bắt đầu hành trình Salesforce Identity của bạn! Để có thêm góc nhìn và mẹo hay, hãy theo dõi tại www.SteveTechArc.com và kênh YouTube @SteveTechArc (opens in a new tab). Hãy đăng ký và nâng cao hiểu biết của bạn về Salesforce Identity.
Góp phần thay đổi thế giới bằng cách chia sẻ kiến thức tích hợp với các kiến trúc sư đồng nghiệp và những ai đang trên hành trình trở thành kiến trúc sư!
Bản ghi lời thoại được AI hỗ trợ
STA 3.6