OAuth คืออะไร
เรียนรู้ว่า OAuth คืออะไรและวิธีการใช้เพื่ออนุญาตการเข้าถึงระหว่างแอปและบริการโดยไม่มีการละเมิดข้อมูลที่ละเอียดอ่อน
อธิบาย OAuth
OAuth เป็นมาตรฐานทางเทคโนโลยีที่ช่วยให้คุณสามารถอนุญาตให้แอปหรือบริการหนึ่งลงชื่อเข้าใช้แอปหรือบริการอื่นได้โดยไม่ต้องเปิดเผยข้อมูลส่วนตัว เช่น รหัสผ่าน ถ้าคุณเคยได้รับข้อความ เช่น “ลงชื่อเข้าใช้ด้วย Facebook ใช่หรือไม่” หรือ “อนุญาตให้แอปพลิเคชันนี้เข้าถึงบัญชีของคุณหรือไม่” แสดงว่าคุณเห็น OAuth ทํางานอยู่
OAuth ย่อมาจาก Open Authorization ไม่ใช่ Authentication (การรับรองความถูกต้อง) เนื่องจากอาจจะสันนิษฐานว่าเป็นเช่นนั้น การรับรองความถูกต้องเป็นกระบวนการที่ตรวจสอบข้อมูลประจําตัวของคุณ OAuth เกี่ยวข้องกับข้อมูลประจําตัวของคุณ แต่วัตถุประสงค์คือการให้สิทธิ์ในการเชื่อมต่อกับคุณอย่างราบรื่นกับแอปและบริการต่างๆ โดยที่คุณไม่จําเป็นต้องสร้างบัญชีใหม่ OAuth มอบประสบการณ์การใช้งานที่เรียบง่ายโดยการให้ตัวเลือกแก่คุณในการอนุญาตให้แอปสองแอปแชร์ข้อมูลบางส่วนของคุณโดยไม่ต้องเปิดเผยข้อมูลประจําตัวของคุณ การทำเช่นนี้ทำให้เกิดความสมดุลระหว่างความสะดวกและความปลอดภัย
OAuth ถูกออกแบบมาเพื่อทํางานกับ Hypertext Transfer Protocol (HTTP) ซึ่งใช้โทเค็นการเข้าใช้เพื่อพิสูจน์ข้อมูลประจําตัวของคุณและอนุญาตให้โต้ตอบกับบริการอื่นในนามของคุณ ในกรณีที่บริการที่สองนี้พบกับการรั่วไหลของข้อมูล ข้อมูลประจําตัวของคุณในบริการแรกจะยังคงปลอดภัย OAuth เป็นโพรโทคอลมาตรฐานแบบเปิดและนํามาใช้อย่างกว้างขวาง และนักพัฒนาเว็บไซต์และแอปส่วนใหญ่ใช้งาน
ที่สําคัญ OAuth ไม่อนุญาตให้แอปหรือบริการของบริษัทอื่นเข้าถึงข้อมูลของคุณแบบไม่จํากัด ส่วนหนึ่งของโพรโทคอลคือการระบุข้อมูลที่บริษัทภายนอกได้รับอนุญาตให้เข้าถึงและสิ่งที่สามารถทําได้กับข้อมูลนั้น การตั้งค่าข้อจํากัดดังกล่าวและการปกป้องข้อมูลประจําตัวโดยทั่วไปเป็นสิ่งสําคัญอย่างยิ่งในสถานการณ์ทางธุรกิจที่ผู้คนจํานวนมากมีการเข้าถึงข้อมูลกรรมสิทธิ์และละเอียดอ่อนมากมาย
OAuth ทํางานอย่างไร
โทเค็นการเข้าใช้เป็นสิ่งที่ทําให้ OAuth ปลอดภัยในการใช้งาน โทเค็นการเข้าใช้เป็นส่วนของข้อมูลที่ประกอบด้วยข้อมูลเกี่ยวกับผู้ใช้และทรัพยากรที่มีวัตถุประสงค์สําหรับโทเค็น โทเค็นจะรวมถึงกฎเฉพาะสําหรับการแชร์ข้อมูลด้วย
ตัวอย่างเช่น คุณอาจต้องการแชร์รูปถ่ายจากโปรไฟล์โซเชียลมีเดียของคุณด้วยแอปการตัดต่อรูปถ่าย แต่คุณต้องการให้แอปดังกล่าวมีการเข้าถึงรูปถ่ายบางรูปของคุณเท่านั้น นอกจากนี้แอปดังกล่าวยังไม่จําเป็นต้องเข้าถึงข้อความส่วนตัวหรือรายชื่อเพื่อนของคุณ โทเค็นอนุญาตการเข้าถึงข้อมูลที่คุณอนุมัติเท่านั้น นอกจากนี้อาจมีกฎที่ควบคุมเมื่อแอปพลิเคชันสามารถใช้โทเค็นนั้น ซึ่งอาจเป็นการใช้งานครั้งเดียวหรือสําหรับการใช้งานที่เป็นกิจวัตรและวันหมดอายุ
กระบวนการ OAuth ส่วนใหญ่เป็นการโต้ตอบระหว่างเครื่องกับเครื่องด้วยจุดสัมผัสเพียงไม่กี่จุดสําหรับผู้ใช้ ในบางสถานการณ์ คุณอาจไม่จําเป็นต้องให้การอนุมัติ เนื่องจากซอฟต์แวร์จะจัดการแบบเงียบๆ ในเบื้องหลัง ตัวอย่าง OAuth สองตัวอย่างนี้คือในสถานการณ์การทํางานระดับองค์กร ซึ่งแพลตฟอร์มข้อมูลประจําตัวจะจัดการการเชื่อมต่อระหว่างทรัพยากรเพื่อลดความยุ่งยากด้าน IT สําหรับผู้ใช้จํานวนมาก หรือในการโต้ตอบระหว่างอุปกรณ์อัจฉริยะบางเครื่อง
ตัวอย่างของเทคโนโลยี OAuth
เช่นเดียวกับเทคโนโลยีจำนวนมากที่ลดความยุ่งยาก ในกรณีนี้ การสร้างบัญชีด้วยตนเองในหลายแอป ผู้สร้างแอปก็ได้ปรับใช้ OAuth ในระดับสากล ซึ่งมีกรณีการใช้งานที่หลากหลายสําหรับบุคคลและธุรกิจ
เมื่อให้ตัวอย่าง OAuth หนึ่งตัวอย่าง สมมติว่าคุณกําลังใช้ Microsoft Teams เป็นเครื่องมือการทํางานร่วมกันและต้องการเข้าถึงข้อมูลเพิ่มเติมเกี่ยวกับบุคคลที่คุณทํางานด้วย ทั้งภายในและภายนอกองค์กรของคุณ คุณตัดสินใจที่จะเปิดใช้งานการรวม LinkedIn เพื่อให้คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับบุคคล เมื่อคุณโต้ตอบกับพวกเขาโดยไม่ต้องออกจาก Teams จากนั้น Microsoft และ LinkedIn จะใช้ OAuth เพื่ออนุญาตการเชื่อมโยงบัญชีของคุณกับข้อมูลประจําตัว Microsoft ของคุณ
อีกสถานการณ์หนึ่งที่ใช้ OAuth คือหากคุณดาวน์โหลดแอปการจัดทํางบประมาณเพื่อช่วยให้คุณติดตามการใช้จ่ายของคุณด้วยการแจ้งเตือนและเครื่องมือช่วยเหลือแบบเป็นภาพ เช่น กราฟ เพื่อให้แอปทำงานดังกล่าวได้ แอปจะต้องมีการเข้าถึงข้อมูลธนาคารบางส่วนของคุณ คุณสามารถเริ่มต้นคําขอเพื่อเชื่อมโยงบัญชีธนาคารของคุณกับแอป โดยอนุญาตการเข้าถึงยอดดุลบัญชีและธุรกรรมของคุณเท่านั้น แอปและธนาคารของคุณจะใช้ OAuth แลกเปลี่ยนข้อมูลนี้ในนามของคุณโดยไม่ต้องเปิดเผยข้อมูลประจําตัวการลงชื่อเข้าใช้ธนาคารของคุณในแอป
ตัวอย่าง OAuth อื่นคือถ้าคุณเป็นนักพัฒนาที่ใช้ GitHub และคุณเรียนรู้ว่ามีแอปของบริษัทอื่นที่พร้อมใช้งานที่สามารถรวมกับบัญชีของคุณเพื่อดําเนินการตรวจทานโค้ดอัตโนมัติ คุณไปที่ GitHub Marketplace และดาวน์โหลดแอป จากนั้นจะขอให้คุณอนุญาตการเชื่อมต่อกับแอปโดยใช้ข้อมูลประจําตัว GitHub ของคุณ ซึ่งเป็นกระบวนการที่จะได้รับการจัดการโดยใช้ OAuth แอปการตรวจสอบสามารถเข้าถึงรหัสของคุณได้โดยไม่ต้องให้คุณลงชื่อเข้าใช้ทั้งสองบริการทุกครั้ง
OAuth 1.0 และ OAuth 2.0 แตกต่างกันอย่างไร
OAuth 1.0 เดิมได้รับการพัฒนาสําหรับเว็บไซต์เท่านั้น ซึ่งไม่ได้ใช้อย่างกว้างขวางในวันนี้ เนื่องจาก OAuth 2.0 ได้รับการออกแบบมาสําหรับทั้งแอปและเว็บไซต์ นอกจากนี้ยังรวดเร็วและใช้งานได้ง่ายขึ้น OAuth 1.0 ไม่ได้ปรับขนาดเหมือน OAuth 2.0 และมีโฟลว์การอนุญาตที่เป็นไปได้เพียงสามรายการเมื่อเทียบกับ OAuth 2.0 ที่มีหกรายการ
ถ้าคุณวางแผนที่จะใช้ OAuth คุณควรใช้เวอร์ชัน 2.0 ตั้งแต่ต้น โปรดทราบว่า OAuth 1.0 ไม่สามารถอัปเกรดเป็น OAuth 2.0 ได้ OAuth 2.0 มีวัตถุประสงค์เพื่อเป็นการออกแบบใหม่ที่ดีขึ้นของ OAuth 1.0 และบริษัทเทคโนโลยีหลักหลายบริษัทให้คําติชมเกี่ยวกับการออกแบบ เว็บไซต์สามารถสนับสนุนทั้ง OAuth 1.0 และ OAuth 2.0 แต่ผู้สร้างตั้งใจว่า 2.0 จะแทนที่ 1.0 อย่างสมบูรณ์
OAuth กับ OIDC
OAuth และ Open ID Connect (OIDC) เป็นโพรโทคอลที่เกี่ยวข้องอย่างใกล้ชิด ทั้งสองอย่างนี้คล้ายกันที่มีส่วนในการให้แอปพลิเคชันหนึ่งเข้าถึงทรัพยากรของแอปพลิเคชันอื่นในนามของผู้ใช้ ความแตกต่างคือในขณะที่ OAuth ถูกใช้สําหรับการตรวจสอบเพื่อเข้าถึงทรัพยากร OIDC จะถูกใช้สําหรับการรับรองความถูกต้องข้อมูลประจําตัวของบุคคล ทั้งสองมีบทบาทในการเปิดใช้งานแอปที่ไม่เกี่ยวข้องสองแอปเพื่อแชร์ข้อมูลโดยไม่ละเมิดข้อมูลของผู้ใช้
โดยทั่วไปผู้ให้บริการข้อมูลประจําตัวจะใช้ OAuth 2.0 และ OIDC ร่วมกัน OIDC ได้รับการพัฒนาขึ้นโดยเฉพาะเพื่อปรับปรุงความสามารถของ OAuth 2.0 โดยการเพิ่มเลเยอร์ข้อมูลประจําตัว เนื่องจากสร้างขึ้นตาม OAuth 2.0 ดังนั้น OIDC จึงไม่สามารถใช้งานร่วมกับ OAuth 1.0 ได้
การเริ่มต้นใช้งาน OAuth
การใช้ OAuth 2.0 กับเว็บไซต์และแอปของคุณสามารถปรับปรุงประสบการณ์ใช้งานของผู้ใช้หรือพนักงานของคุณได้อย่างมากโดยการทำให้กระบวนการรับรองความถูกต้องของข้อมูลประจําตัวง่ายขึ้น เมื่อต้องการเริ่มต้นใช้งาน ให้ลงทุนในโซลูชันผู้ให้บริการข้อมูลประจําตัว เช่น Microsoft Entra ที่ปกป้องผู้ใช้และข้อมูลด้วยการรักษาความปลอดภัยในตัว
Microsoft Entra ID (เดิม Azure Active Directory) สนับสนุนโฟลว์ OAuth 2.0 ทั้งหมด นักพัฒนาแอปสามารถใช้ ID เป็นผู้ให้บริการการรับรองความถูกต้องตามมาตรฐานเพื่อช่วยให้พวกเขารวมความสามารถข้อมูลประจําตัวที่ทันสมัยในระดับองค์กรลงในแอป ผู้ดูแลระบบ IT สามารถใช้เพื่อควบคุมการเข้าถึงได้
เรียนรู้เพิ่มเติมเกี่ยวกับ Microsoft Security
-
สำรวจ Microsoft Entra
ปกป้องข้อมูลประจําตัวและการเข้าถึงที่ปลอดภัยในระบบคลาวด์ด้วยกลุ่มโซลูชันแบบองค์รวม
-
Microsoft Entra ID (เดิมคือ Azure Active Directory)
ปกป้องการเข้าถึงทรัพยากรและข้อมูลโดยใช้การการรับรองความถูกต้องที่รัดกุมและการเข้าถึงแบบปรับเปลี่ยนได้ตามความเสี่ยง
-
สร้างความน่าเชื่อถือลงในแอปของคุณ
ใช้ SSO เพื่อให้พนักงานสามารถเข้าถึงทรัพยากรทั้งหมดที่พวกเขาต้องการด้วยข้อมูลประจําตัวเดียว
-
ปรับปรุงประสบการณ์ใช้งานการลงชื่อเข้าใช้
ใช้ SSO เพื่อให้พนักงานสามารถเข้าถึงทรัพยากรทั้งหมดที่พวกเขาต้องการด้วยข้อมูลประจําตัวเดียว
-
ป้องกันการโจมตี
ใช้การรับรองความถูกต้องโดยใช้หลายปัจจัยเพื่อปรับปรุงการป้องกันสําหรับทรัพยากรขององค์กรของคุณ
-
ใช้ OAuth เพื่อลดความซับซ้อนในการเข้าถึงข้อมูลอีเมล
เรียนรู้วิธีการรับรองความถูกต้องการเชื่อมต่อกับแอปพลิเคชันโดยการใช้โพรโทคอลแบบดั้งเดิม
คำถามที่ถามบ่อย
-
OAuth ย่อมาจาก Open Authorization และเป็นมาตรฐานทางเทคโนโลยีที่ช่วยให้คุณสามารถอนุญาตให้แอปหรือบริการหนึ่งลงชื่อเข้าใช้แอปหรือบริการอื่นโดยไม่ต้อง เปิดเผยข้อมูลส่วนตัว เช่น รหัสผ่าน เมื่อแอปขออนุญาตจากคุณเพื่อดูข้อมูลโปรไฟล์ของคุณ แอปจะใช้ OAuth
-
OAuth ทํางานโดยการแลกเปลี่ยนโทเค็นการเข้าใช้ ซึ่งเป็นส่วนของข้อมูลที่มีข้อมูลเกี่ยวกับผู้ใช้และทรัพยากรที่มีวัตถุประสงค์สําหรับโทเค็น แอปหรือเว็บไซต์หนึ่งแลกเปลี่ยนข้อมูลที่เข้ารหัสลับกับอีกรายการอื่นเกี่ยวกับผู้ใช้ และมีกฎเฉพาะสําหรับการแชร์ข้อมูล นอกจากนี้ อาจมีกฎที่ควบคุมเวลาที่แอปพลิเคชันสามารถใช้โทเค็นนั้นและวันหมดอายุ กระบวนการ OAuth ส่วนใหญ่เป็นการโต้ตอบระหว่างเครื่องกับเครื่องด้วยจุดสัมผัสเพียงไม่กี่จุดสําหรับผู้ใช้ ถ้ามี
-
หลายบริษัทใช้ OAuth เพื่อลดความซับซ้อนในการเข้าถึงแอปและเว็บไซต์ของบริษัทอื่นโดยไม่ต้องเปิดเผยรหัสผ่านของผู้ใช้หรือข้อมูลที่ละเอียดอ่อน Google, Amazon, Microsoft, Facebook และ Twitter ทั้งหมดใช้เพื่อแชร์ข้อมูลเกี่ยวกับบัญชีของพวกเขาเพื่อวัตถุประสงค์ที่หลากหลาย รวมถึงทําให้การซื้อง่ายขึ้น แพลตฟอร์มข้อมูลประจําตัวของ Microsoft ใช้ OAuth เพื่ออนุญาตสิทธิ์สําหรับบัญชีที่ทํางานและโรงเรียน บัญชีส่วนบุคคล บัญชีโซเชียล และบัญชีการเล่นเกม
-
OAuth และ Open ID Connect (OIDC) เป็นโพรโทคอลที่เกี่ยวข้องอย่างใกล้ชิด ทั้งสองอย่างนี้คล้ายกันที่มีส่วนในการให้แอปพลิเคชันหนึ่งเข้าถึงทรัพยากรของแอปพลิเคชันอื่นในนามของผู้ใช้ แต่ความแตกต่างคือ OAuth ใช้สําหรับการตรวจสอบเพื่อเข้าถึงทรัพยากรในขณะที่ OIDC ใช้สําหรับการรับรองความถูกต้องของข้อมูลประจําตัวของบุคคล ทั้งสองอย่างนี้มีบทบาทในการเปิดใช้งานแอปที่ไม่เกี่ยวข้องสองแอปเพื่อแชร์ข้อมูลโดยไม่ละเมิดข้อมูลของผู้ใช้
-
มีความแตกต่างมากมายระหว่าง OAuth 1.0 และ OAuth 2.0 เนื่องจาก OAuth 2.0 ถูกออกแบบมาให้มีการออกแบบใหม่ที่ดีขึ้นจาก OAuth 1.0 ซึ่งล้าสมัย OAuth 1.0 ได้รับการพัฒนาสําหรับเว็บไซต์เท่านั้น ในขณะที่ OAuth 2.0 ได้รับการออกแบบมาสําหรับทั้งแอปและเว็บไซต์ OAuth 2.0 รวดเร็วและใช้งานง่ายกว่า สามารถปรับขนาดได้ และมีโฟลว์การอนุญาตที่เป็นไปได้หกรายการเมื่อเทียบกับ OAuth 1.0 ที่มีสามรายการ
ติดตาม Microsoft 365