แปลโดย AI ชุมชนยังไม่ได้ตรวจทาน อ่านเป็นภาษาอังกฤษ

บล็อก · 26 กันยายน 2566 · Steve Simpson · ตัวตน

เจาะลึกการยืนยันตัวตนด้วย SAML

ทำความเข้าใจ SAML ใน Single Sign-On กับ Salesforce

ในด้านการยืนยันตัวตน SAML (Security Assertion Markup Language) มีบทบาทสำคัญในการทำให้เข้าถึงแอปพลิเคชันต่างๆ ได้อย่างราบรื่น มาลงลึกเรื่อง SAML ทำความเข้าใจความสำคัญของมันใน Single Sign-On (SSO) และสำรวจการ implement กับ Salesforce

วางบริบท

ลองนึกภาพสถานการณ์ที่คุณมี Salesforce Org สองตัว: ผู้ให้บริการตัวตน (IDP) และผู้ให้บริการ (service provider) ผู้ให้บริการมีข้อมูลที่คุณต้องการเข้าถึง แต่แทนที่จะใช้ข้อมูลรับรองหลายชุด คุณต้องการทำได้ด้วยข้อมูลล็อกอินชุดเดียว แนวคิดฟังดูง่าย แต่กลไกเบื้องหลังอาจซับซ้อน

ไดอะแกรม: single sign-on จาก org ของ Salesforce หนึ่งไปยังอีก org เบราว์เซอร์ถูกส่งไปยัง org ผู้ให้บริการตัวตนพร้อม SAML request และกลับมายัง org ผู้ให้บริการพร้อม SAML assertion แต่ละ org ถือใบรับรองของอีกฝ่าย และผู้ใช้ถูกจับคู่ด้วย Federation ID

คำศัพท์สำคัญในภาพรวมของ SAML

การเข้าถึงของผู้ใช้: เมื่อผู้ใช้พยายามเข้าถึงทรัพยากรที่ปลอดภัยบนผู้ให้บริการก่อนยืนยันตัวตน

การเปลี่ยนเส้นทาง: ถ้าผู้ใช้ยังไม่ได้ยืนยันตัวตน ผู้ให้บริการจะเปลี่ยนเส้นทางไปยังผู้ให้บริการตัวตนด้วย SAML request ถ้าจำเป็น อาจส่ง relay state (URL ที่ผู้ใช้ตั้งใจจะไปตั้งแต่แรก) ไปด้วย

การยืนยันตัวตนโดย IDP: ผู้ให้บริการตัวตนตรวจสอบตัวตนของผู้ใช้ โดยทั่วไปผ่านชื่อผู้ใช้ รหัสผ่าน หรือการยืนยันตัวตนแบบหลายปัจจัย

SAML Assertion: หลังการยืนยันตัวตน IDP ส่ง SAML assertion ไปยังผู้ให้บริการ

ความไว้วางใจของผู้ให้บริการ: ผู้ให้บริการตรวจสอบ SAML assertion ดึงข้อมูลผู้ใช้ และให้สิทธิ์เข้าถึง ถ้ามี relay state ส่งมาก่อนหน้า ผู้ให้บริการจะนำทางไปยัง URL นั้น

สรุป SAML: เวิร์กโฟลว์พื้นฐาน (การเข้าถึงของผู้ใช้ การเปลี่ยนเส้นทาง การยืนยันตัวตน assertion การเปลี่ยนเส้นทางกลับ ได้รับสิทธิ์เข้าถึง) ข้อดี และคำศัพท์สำคัญ

ประโยชน์ของ Single Sign-On

การเข้าถึงที่ง่ายขึ้น: ผู้ใช้ต้องการข้อมูลรับรองแค่ชุดเดียวเพื่อเข้าถึงหลายบริการ

ความปลอดภัย: SAML ใช้ลายเซ็นดิจิทัลเพื่อรับรองความสมบูรณ์ของข้อมูลและป้องกันการปลอมแปลง

การทำงานร่วมกันได้: ในฐานะโปรโตคอลมาตรฐาน SAML เชื่อมต่อกับ IDP และผู้ให้บริการหลากหลายข้ามเทคโนโลยีที่ต่างกันได้

ลงลึก: ตรวจดู SAML Flow

SAML Request: ผู้ให้บริการเริ่มส่งไปยัง IDP เพื่อขอให้ยืนยันตัวตนผู้ใช้

ตัวอย่าง SAML request (AuthnRequest) จาก org ผู้ให้บริการไปยัง org ผู้ให้บริการตัวตน

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

ตัวอย่าง SAML response จากผู้ให้บริการตัวตน พร้อมผู้ออกและลายเซ็นดิจิทัล

Assertion: คือข้อความจาก IDP เกี่ยวกับผู้ใช้ ครอบคลุมแอตทริบิวต์อย่างชื่อผู้ใช้หรืออีเมล

ลายเซ็นดิจิทัล: ใช้ตรวจสอบ assertion เพื่อให้แน่ใจว่าไม่ได้ถูกแก้ไขโดยมิชอบ

Relay State: URL แบบ deep link ที่ทำให้ผู้ใช้ถูกเปลี่ยนเส้นทางกลับไปยังปลายทางที่ตั้งใจไว้ตั้งแต่แรกหลังการยืนยันตัวตน

เมื่อผู้ใช้เริ่มเข้าถึง SAML request จะถูกส่งไปยัง IDP ซึ่งเมื่อตรวจสอบแล้วจะส่ง SAML assertion กลับมา assertion นี้ เมื่อผู้ให้บริการตรวจสอบแล้ว จะให้สิทธิ์เข้าถึงที่ตั้งใจไว้แก่ผู้ใช้

ไดอะแกรมลำดับ: การล็อกอิน SAML ที่ผู้ให้บริการเป็นผู้เริ่ม ผู้ใช้ขอหน้าเพจ ถูกเปลี่ยนเส้นทางไปยังผู้ให้บริการตัวตนเพื่อล็อกอิน กลับมาพร้อม SAML 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