การลงชื่อเพียงครั้งเดียว (SSO) ทำให้ผู้ใช้เข้าถึงแอปพลิเคชันหลายรายการได้โดยไม่ต้องป้อนชื่อผู้ใช้และรหัสผ่านสำหรับแต่ละแอปพลิเคชัน ภาษามาร์กอัปเพื่อยืนยันความปลอดภัย (SAML) เป็นมาตรฐาน XML ที่อนุญาตให้โดเมนของเว็บที่ปลอดภัยแลกเปลี่ยนการตรวจสอบสิทธิ์ของผู้ใช้และข้อมูลการให้สิทธิ์ได้
บทบาทของผู้ให้บริการและผู้ให้บริการข้อมูลประจําตัว
Google มีบริการ SSO ที่ใช้ SAML ซึ่งช่วยให้บริษัทที่เป็นพาร์ทเนอร์สามารถให้สิทธิ์และตรวจสอบสิทธิ์ผู้ใช้ที่โฮสต์ซึ่งพยายามเข้าถึงเนื้อหาที่ปลอดภัย Google ทำหน้าที่เป็นผู้ให้บริการออนไลน์และให้บริการต่างๆ เช่น Google ปฏิทินและ Gmail ส่วนพาร์ทเนอร์ของ Google ทำหน้าที่เป็นผู้ให้บริการข้อมูลประจำตัวออนไลน์และควบคุมชื่อผู้ใช้ รหัสผ่าน และข้อมูลอื่นๆ ที่ใช้ระบุตัวตน ตรวจสอบสิทธิ์ และให้สิทธิ์ผู้ใช้กับเว็บแอปพลิเคชันที่ Google โฮสต์
ผู้ให้บริการข้อมูลประจำตัวแบบโอเพนซอร์สและแบบพาณิชย์หลายรายจะช่วยให้คุณใช้งาน SSO กับ Google ได้
ไคลเอ็นต์บนเดสก์ท็อปยังคงต้องมีการเข้าสู่ระบบ
โปรดทราบว่าโซลูชัน SSO จะใช้ได้กับเว็บแอปพลิเคชันเท่านั้น คุณสามารถอนุญาตให้ผู้ใช้เข้าถึงบริการของ Google ด้วยไคลเอ็นต์บนเดสก์ท็อป เช่น หากต้องการให้สิทธิ์เข้าถึง Gmail แบบ POP โดยใช้ Outlook คุณต้องให้รหัสผ่านที่ใช้งานได้แก่ผู้ใช้และซิงค์รหัสผ่านเหล่านั้นกับฐานข้อมูลผู้ใช้ภายในโดยใช้ Directory API ของ Admin SDK เมื่อซิงค์ข้อมูลรหัสผ่าน คุณควรเข้าใจวิธีตรวจสอบสิทธิ์ผู้ใช้โดยใช้ URL สำหรับเข้าสู่ระบบแผงควบคุมของผู้ดูแลระบบ
ทำความเข้าใจเกี่ยวกับ SSO แบบ SAML ที่พาร์ทเนอร์เป็นผู้ดำเนินการ
รูปที่ 1 แสดงขั้นตอนที่ผู้ใช้ลงชื่อเข้าใช้แอปพลิเคชัน Google เช่น Gmail ผ่านบริการ SSO ที่ใช้ SAML ซึ่งดำเนินการโดยพาร์ทเนอร์ ส่วนรายการที่เรียงลำดับเลขใต้ภาพนั้นจะอธิบายรายละเอียดของแต่ละขั้นตอน
สำคัญ: ก่อนกระบวนการนี้จะเริ่มขึ้น พาร์ทเนอร์จะต้องให้ URL สำหรับบริการ SSO ของตนแก่ Google รวมทั้งคีย์สาธารณะที่ Google ควรใช้เพื่อยืนยันการตอบสนอง SAML
รูปที่ 1: แสดงขั้นตอนการลงชื่อเข้าใช้ Google โดยใช้บริการ SSO แบบ SAML
ภาพนี้แสดงขั้นตอนดังนี้
- ผู้ใช้พยายามเข้าถึงแอปพลิเคชัน Google ที่โฮสต์ เช่น Gmail, Google ปฏิทิน หรือบริการอื่นๆ ของ Google
- Google สร้างคำขอการตรวจสอบสิทธิ์ SAML ซึ่งมีการเข้ารหัสและฝังลงใน URL สำหรับบริการ SSO ของพาร์ทเนอร์ พารามิเตอร์ RelayState ที่ประกอบด้วย URL ที่เข้ารหัสของแอปพลิเคชัน Google ที่ผู้ใช้พยายามเข้าถึงจะฝังลงใน URL ของ SSO ด้วยเช่นกัน พารามิเตอร์ RelayState นี้เป็นตัวระบุแบบทึบที่ส่งกลับไปโดยไม่มีการแก้ไขหรือตรวจสอบ
- Google ส่งการเปลี่ยนเส้นทางไปยังเบราว์เซอร์ของผู้ใช้ URL การเปลี่ยนเส้นทางนี้จะรวมคำขอการตรวจสอบสิทธิ์ SAML ที่เข้ารหัสไว้ซึ่งควรส่งไปให้บริการ SSO ของพาร์ทเนอร์
- เบราว์เซอร์จะเปลี่ยนเส้นทางไปยัง URL ของ SSO
- พาร์ทเนอร์ถอดรหัสคำขอ SAML และแยกข้อมูล URL สำหรับทั้ง ACS (Assertion Consumer Service) ของ Google และ URL ปลายทาง (พารามิเตอร์ RelayState) ของผู้ใช้
- จากนั้นพาร์ทเนอร์จะตรวจสอบสิทธิ์ของผู้ใช้ โดยสามารถดำเนินการโดยขอข้อมูลรับรองการเข้าสู่ระบบที่ใช้งานได้หรือตรวจสอบคุกกี้ของเซสชันที่ยังใช้งานได้
- พาร์ทเนอร์สร้างการตอบสนอง SAML ที่มีชื่อผู้ใช้ของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ตามข้อกำหนดของ SAML v2.0 คำตอบนี้จะได้รับการลงนามแบบดิจิทัลด้วยคีย์สาธารณะและคีย์ DSA/RSA ส่วนตัวของพาร์ทเนอร์
- พาร์ทเนอร์เข้ารหัสการตอบสนอง SAML และพารามิเตอร์ RelayState แล้วส่งข้อมูลกลับไปที่เบราว์เซอร์ของผู้ใช้ พาร์ทเนอร์มีกลไกที่ให้เบราว์เซอร์ส่งต่อข้อมูลไปยัง ACS ของ Google ได้ เช่น พาร์ทเนอร์อาจฝังการตอบสนอง SAML และ URL ปลายทางในแบบฟอร์มและมีปุ่มที่ให้ผู้ใช้คลิกเพื่อส่งแบบฟอร์มมายัง Google นอกจากนี้ พาร์ทเนอร์ยังอาจรวม JacaScript ในหน้าที่ส่งแบบฟอร์มมายัง Google อีกด้วย
- เบราว์เซอร์จะส่งคำตอบกลับไปยัง ACS URL ACS ของ Google ยืนยันการตอบสนอง SAML โดยใช้คีย์สาธารณะของพาร์ทเนอร์ หากคำตอบได้รับการยืนยันเรียบร้อยแล้ว ACS จะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL ปลายทาง
- ผู้ใช้ลงชื่อเข้าใช้แอป Google แล้ว