เจาะลึกการยืนยันตัวตนด้วย SAML
ทำความเข้าใจ SAML ใน Single Sign-On กับ Salesforce
ในด้านการยืนยันตัวตน SAML (Security Assertion Markup Language) มีบทบาทสำคัญในการทำให้เข้าถึงแอปพลิเคชันต่างๆ ได้อย่างราบรื่น มาลงลึกเรื่อง SAML ทำความเข้าใจความสำคัญของมันใน Single Sign-On (SSO) และสำรวจการ implement กับ Salesforce
วางบริบท
ลองนึกภาพสถานการณ์ที่คุณมี Salesforce Org สองตัว: ผู้ให้บริการตัวตน (IDP) และผู้ให้บริการ (service provider) ผู้ให้บริการมีข้อมูลที่คุณต้องการเข้าถึง แต่แทนที่จะใช้ข้อมูลรับรองหลายชุด คุณต้องการทำได้ด้วยข้อมูลล็อกอินชุดเดียว แนวคิดฟังดูง่าย แต่กลไกเบื้องหลังอาจซับซ้อน

คำศัพท์สำคัญในภาพรวมของ SAML
การเข้าถึงของผู้ใช้: เมื่อผู้ใช้พยายามเข้าถึงทรัพยากรที่ปลอดภัยบนผู้ให้บริการก่อนยืนยันตัวตน
การเปลี่ยนเส้นทาง: ถ้าผู้ใช้ยังไม่ได้ยืนยันตัวตน ผู้ให้บริการจะเปลี่ยนเส้นทางไปยังผู้ให้บริการตัวตนด้วย SAML request ถ้าจำเป็น อาจส่ง relay state (URL ที่ผู้ใช้ตั้งใจจะไปตั้งแต่แรก) ไปด้วย
การยืนยันตัวตนโดย IDP: ผู้ให้บริการตัวตนตรวจสอบตัวตนของผู้ใช้ โดยทั่วไปผ่านชื่อผู้ใช้ รหัสผ่าน หรือการยืนยันตัวตนแบบหลายปัจจัย
SAML Assertion: หลังการยืนยันตัวตน IDP ส่ง SAML assertion ไปยังผู้ให้บริการ
ความไว้วางใจของผู้ให้บริการ: ผู้ให้บริการตรวจสอบ SAML assertion ดึงข้อมูลผู้ใช้ และให้สิทธิ์เข้าถึง ถ้ามี relay state ส่งมาก่อนหน้า ผู้ให้บริการจะนำทางไปยัง URL นั้น

ประโยชน์ของ Single Sign-On
การเข้าถึงที่ง่ายขึ้น: ผู้ใช้ต้องการข้อมูลรับรองแค่ชุดเดียวเพื่อเข้าถึงหลายบริการ
ความปลอดภัย: SAML ใช้ลายเซ็นดิจิทัลเพื่อรับรองความสมบูรณ์ของข้อมูลและป้องกันการปลอมแปลง
การทำงานร่วมกันได้: ในฐานะโปรโตคอลมาตรฐาน SAML เชื่อมต่อกับ IDP และผู้ให้บริการหลากหลายข้ามเทคโนโลยีที่ต่างกันได้
ลงลึก: ตรวจดู SAML Flow
SAML Request: ผู้ให้บริการเริ่มส่งไปยัง IDP เพื่อขอให้ยืนยันตัวตนผู้ใช้

SAML Response: ข้อความจาก IDP หลังการยืนยันตัวตน ที่บรรจุรายละเอียดเกี่ยวกับผู้ใช้

Assertion: คือข้อความจาก IDP เกี่ยวกับผู้ใช้ ครอบคลุมแอตทริบิวต์อย่างชื่อผู้ใช้หรืออีเมล
ลายเซ็นดิจิทัล: ใช้ตรวจสอบ assertion เพื่อให้แน่ใจว่าไม่ได้ถูกแก้ไขโดยมิชอบ
Relay State: URL แบบ deep link ที่ทำให้ผู้ใช้ถูกเปลี่ยนเส้นทางกลับไปยังปลายทางที่ตั้งใจไว้ตั้งแต่แรกหลังการยืนยันตัวตน
เมื่อผู้ใช้เริ่มเข้าถึง SAML request จะถูกส่งไปยัง IDP ซึ่งเมื่อตรวจสอบแล้วจะส่ง SAML assertion กลับมา assertion นี้ เมื่อผู้ให้บริการตรวจสอบแล้ว จะให้สิทธิ์เข้าถึงที่ตั้งใจไว้แก่ผู้ใช้

ด้วยเครื่องมืออย่าง SAML Tracer สำหรับเบราว์เซอร์ คุณมองเห็น flow นี้ได้ ทำให้เห็นกระบวนการยืนยันตัวตนอย่างโปร่งใส ตั้งแต่คำขอแรกไปจนถึงการเปลี่ยนเส้นทางสุดท้ายหลังการยืนยันตัวตน
มาตรการความปลอดภัยใน SAML Assertion
เพื่อรับมือภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้น:
Timestamp ใช้ป้องกัน replay attack ทำให้ SAML assertion ใช้ได้เฉพาะในช่วงเวลาสั้นๆ
ลายเซ็นดิจิทัลรับประกันว่าข้อมูลไม่ได้ถูกปลอมแปลงระหว่างการแลกเปลี่ยน
นอกจากนี้ assertion อาจมีแอตทริบิวต์ของผู้ใช้ เช่น ที่อยู่อีเมลหรือประเภทผู้ใช้ ทำให้ควบคุมการเข้าถึงฝั่งผู้ให้บริการได้ละเอียดขึ้น
บทสรุป
โดยแก่นแท้ SAML คือโปรโตคอลที่อิง XML ซึ่งมีองค์ประกอบสำคัญสำหรับการยืนยันตัวตน แม้อาจดูเหมือนเวทมนตร์ แต่มันคือผลของเทคโนโลยีที่คิดมาอย่างดีเพื่อป้องกันการโจมตีอย่าง ‘man-in-the-middle’ หรือสถานการณ์ replay
ความสามารถในการผสานผู้ให้บริการหลายรายเข้ากับ IDP ที่ใช้เทคโนโลยีต่างกัน ทำให้มันเป็นเสาหลักในโลกของการยืนยันตัวตนดิจิทัล
ติดตามต่อ
เริ่มต้นเส้นทาง Salesforce Identity ของคุณอย่างมั่นใจ! สำหรับมุมมองและเคล็ดลับเพิ่มเติม ติดตามได้ที่ www.SteveTechArc.com และช่อง YouTube @SteveTechArc (opens in a new tab) กดติดตามและเพิ่มความเข้าใจเรื่อง Salesforce Identity ของคุณ
ช่วยเปลี่ยนโลกด้วยการแบ่งปันความรู้ด้านการผสานรวมกับเพื่อนสถาปนิกและผู้ที่อยู่บนเส้นทางสู่การเป็นสถาปนิก!
บทถอดความได้รับความช่วยเหลือจาก AI
STA 3.6