การตรวจสอบสิทธิ์และการให้สิทธิ์เป็นกลไกที่ใช้เพื่อยืนยันตัวตนและ เข้าถึงทรัพยากรตามลำดับ เอกสารนี้ระบุคำศัพท์สำคัญที่คุณควรรู้ก่อนที่จะติดตั้งใช้งานการตรวจสอบสิทธิ์และการให้สิทธิ์ในแอป
การตรวจสอบสิทธิ์จะระบุผู้ที่ส่งคำขอ การให้สิทธิ์จะระบุว่าผู้ขอมีสิทธิ์เข้าถึงทรัพยากรใด และมีสิทธิ์เข้าถึงในระดับใด การตรวจสอบสิทธิ์เป็นข้อกำหนดเบื้องต้นสำหรับการให้สิทธิ์ คุณไม่สามารถกำหนดทรัพยากรที่จะเข้าถึงได้หากไม่ได้ สร้างตัวตนของผู้ขอเสียก่อน ดูคำจำกัดความโดยละเอียดเพิ่มเติมได้ที่ส่วนคำศัพท์สำคัญ
ลองดูตัวอย่างการจองโรงแรมแบบง่ายๆ ต่อไปนี้ เมื่อคุณ มาถึงโรงแรม พนักงานที่แผนกต้อนรับจะขอให้คุณแสดงบัตรประจำตัวเพื่อยืนยัน การจอง บัตรประจำตัวจะยืนยันตัวตนของคุณกับโรงแรม พนักงานที่แผนกต้อนรับ มอบบัตรของโรงแรมให้คุณ คีย์นี้ช่วยให้คุณเข้าถึงแหล่งข้อมูลบางอย่างในโรงแรม เช่น ห้องพัก ฟิตเนส และศูนย์ธุรกิจ คีย์โรงแรมจะให้สิทธิ์คุณเข้าถึงทรัพยากรเหล่านั้น
ภาพรวมของกระบวนการ
แผนภาพต่อไปนี้แสดงขั้นตอนระดับสูงของการตรวจสอบสิทธิ์และ การให้สิทธิ์สำหรับ Google Workspace API
กำหนดค่าโปรเจ็กต์และแอป Google Cloud: ในระหว่างการพัฒนา คุณต้องลงทะเบียนแอปในคอนโซล Google Cloud โดยกำหนดขอบเขตการให้สิทธิ์และข้อมูลเข้าสู่ระบบการเข้าถึงเพื่อตรวจสอบสิทธิ์แอปด้วยคีย์ API, ข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง หรือข้อมูลเข้าสู่ระบบบัญชีบริการ
ตรวจสอบสิทธิ์แอปเพื่อเข้าถึง: เมื่อแอปทำงาน ระบบจะประเมินข้อมูลเข้าสู่ระบบการเข้าถึงที่ลงทะเบียนไว้ หากแอปของคุณกำลังตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง ระบบอาจแสดงข้อความแจ้งให้ลงชื่อเข้าใช้
ขอทรัพยากร: เมื่อแอปของคุณต้องการเข้าถึงทรัพยากรของ Google แอปจะขอจาก Google โดยใช้ขอบเขตการเข้าถึงที่เกี่ยวข้องซึ่งคุณลงทะเบียนไว้ก่อนหน้านี้
ขอความยินยอมจากผู้ใช้: หากแอปของคุณทำการตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง Google จะแสดงหน้าจอขอความยินยอม OAuth เพื่อให้ผู้ใช้ตัดสินใจได้ว่าจะให้สิทธิ์แอปของคุณเข้าถึงข้อมูลที่ขอหรือไม่
ส่งคำขอที่ได้รับอนุมัติสำหรับทรัพยากร: หากผู้ใช้ยินยอมให้เข้าถึงขอบเขต แอปจะรวมข้อมูลเข้าสู่ระบบและขอบเขตการเข้าถึงที่ผู้ใช้อนุมัติ ไว้ในคำขอ ระบบจะส่งคำขอไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google เพื่อรับโทเค็นเพื่อการเข้าถึง
Google แสดงโทเค็นเพื่อการเข้าถึง: โทเค็นเพื่อการเข้าถึงมีรายการขอบเขตการเข้าถึงที่ได้รับอนุญาต หากรายการขอบเขตที่ส่งคืนมีการจำกัดมากกว่าขอบเขตที่ขอของสิทธิ์เข้าถึง แอปจะปิดใช้ฟีเจอร์ที่โทเค็นจำกัด
เข้าถึงทรัพยากรที่ขอ: แอปของคุณใช้โทเค็นเพื่อการเข้าถึงจาก Google เพื่อ เรียกใช้ API ที่เกี่ยวข้องและเข้าถึงทรัพยากร
รับโทเค็นการรีเฟรช (ไม่บังคับ): หากแอปของคุณต้องการเข้าถึง Google API นอกเหนือจากอายุการใช้งานของโทเค็นเพื่อการเข้าถึงรายการเดียว แอปจะขอรับโทเค็นการรีเฟรชได้
ขอทรัพยากรเพิ่มเติม: หากต้องการสิทธิ์เข้าถึงเพิ่มเติม แอปจะขอให้ผู้ใช้ อนุญาตขอบเขตการเข้าถึงใหม่ ซึ่งส่งผลให้มีการขอโทเค็นเพื่อการเข้าถึงใหม่ (ขั้นตอนที่ 3-6)
คำศัพท์สำคัญ
รายการต่อไปนี้ระบุคำที่เกี่ยวข้องกับการตรวจสอบสิทธิ์และการให้สิทธิ์
- การตรวจสอบสิทธิ์
การดำเนินการเพื่อให้มั่นใจว่าผู้ใช้หลัก ซึ่งอาจเป็นผู้ใช้หรือแอปที่ดำเนินการ ในนามของผู้ใช้ เป็นบุคคลที่ระบุตัวตน เมื่อเขียนแอป Google Workspace คุณควรทราบข้อมูลต่อไปนี้เกี่ยวกับประเภทการตรวจสอบสิทธิ์
- การตรวจสอบสิทธิ์ของผู้ใช้
- การที่ผู้ใช้ตรวจสอบสิทธิ์ (ลงชื่อเข้าใช้) ในแอปของคุณ โดยปกติแล้วการตรวจสอบสิทธิ์ผู้ใช้จะดำเนินการผ่านกระบวนการลงชื่อเข้าใช้ ซึ่งผู้ใช้จะใช้ชุดค่าผสมของชื่อผู้ใช้และรหัสผ่านเพื่อยืนยันตัวตนกับแอป คุณสามารถรวมการตรวจสอบสิทธิ์ผู้ใช้ไว้ในแอปได้โดยใช้ Sign In With Google
- การตรวจสอบสิทธิ์แอป
- การที่แอปตรวจสอบสิทธิ์กับบริการของ Google โดยตรงในนามของ ผู้ใช้ที่เรียกใช้แอป โดยปกติแล้วการตรวจสอบสิทธิ์ของแอปจะดำเนินการโดยใช้ ข้อมูลเข้าสู่ระบบที่สร้างไว้ล่วงหน้าในโค้ดของแอป
- การให้สิทธิ์
สิทธิ์หรือ "อำนาจ" ที่ผู้ใช้หลักมีในการเข้าถึงข้อมูลหรือดำเนินการ แอปของคุณขอการให้สิทธิ์โดยแจ้งให้ผู้ใช้ทราบว่าแอป ต้องการดำเนินการในนามของผู้ใช้ หากผู้ใช้ยอมรับคำขอ แอปจะใช้ข้อมูลเข้าสู่ระบบที่ไม่ซ้ำกันเพื่อรับโทเค็นเพื่อการเข้าถึงจาก Google
- ข้อมูลเข้าสู่ระบบ
รูปแบบการระบุตัวตนที่ใช้ในการรักษาความปลอดภัยของซอฟต์แวร์ ในแง่ของ การตรวจสอบสิทธิ์ ข้อมูลเข้าสู่ระบบมักจะเป็นชุดค่าผสมของชื่อผู้ใช้และรหัสผ่าน ในแง่ของการให้สิทธิ์สำหรับ Google Workspace API โดยปกติแล้ว ข้อมูลเข้าสู่ระบบจะเป็นรูปแบบการระบุตัวตนบางอย่าง เช่น สตริงลับที่ไม่ซ้ำกัน ซึ่งทราบเฉพาะระหว่างนักพัฒนาแอปกับเซิร์ฟเวอร์การตรวจสอบสิทธิ์ Google รองรับข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ต่อไปนี้ ได้แก่ คีย์ API, รหัสไคลเอ็นต์ OAuth 2.0 และบัญชีบริการ
- คีย์ API
- ข้อมูลเข้าสู่ระบบที่ใช้เพื่อขอสิทธิ์เข้าถึงข้อมูลสาธารณะ เช่น ข้อมูลที่ระบุโดยใช้ Maps API นอกจากนี้ยังเข้าถึงไฟล์ Google Workspace สาธารณะที่แชร์โดยใช้การตั้งค่า "ทุกคนบนอินเทอร์เน็ตที่มีลิงก์นี้" ได้ด้วย แม้ว่าข้อมูลส่วนใหญ่ใน Google Workspace จะต้องใช้ OAuth 2.0 ก็ตาม
- รหัสไคลเอ็นต์ OAuth 2
- ข้อมูลเข้าสู่ระบบที่ใช้เพื่อขอสิทธิ์เข้าถึงข้อมูลที่ผู้ใช้เป็นเจ้าของ นี่คือ ข้อมูลเข้าสู่ระบบหลักที่ใช้เมื่อขอสิทธิ์เข้าถึงข้อมูลโดยใช้ Google Workspace API โดยข้อมูลเข้าสู่ระบบนี้ต้องได้รับความยินยอมจากผู้ใช้
- รหัสลับไคลเอ็นต์
- สตริงอักขระที่ควรมีเพียงแอปพลิเคชันและเซิร์ฟเวอร์การให้สิทธิ์เท่านั้นที่ทราบ Client Secret จะปกป้องข้อมูลของผู้ใช้โดยการให้โทเค็นแก่ผู้ขอที่ได้รับอนุญาตเท่านั้น คุณไม่ควรใส่รหัสลับไคลเอ็นต์ที่ไม่ได้เข้ารหัสในแอป เราขอแนะนำให้จัดเก็บรหัสลับไคลเอ็นต์อย่างปลอดภัย ดูข้อมูลเพิ่มเติมได้ที่ จัดการข้อมูลเข้าสู่ระบบของไคลเอ็นต์อย่างปลอดภัย
- คีย์ของบัญชีบริการ
- ใช้โดยบัญชีบริการเพื่อรับการให้สิทธิ์เข้าถึงบริการของ Google
- บัญชีบริการ
- ข้อมูลเข้าสู่ระบบที่ใช้สำหรับการโต้ตอบระหว่างเซิร์ฟเวอร์ เช่น แอปพลิเคชัน ที่ไม่มีอินเทอร์เฟซผู้ใช้ซึ่งทำงานเป็นกระบวนการเพื่อเข้าถึงข้อมูลหรือดำเนินการ โดยปกติแล้วจะใช้บัญชีบริการเพื่อเข้าถึงข้อมูลและการดำเนินการบนระบบคลาวด์ อย่างไรก็ตาม เมื่อใช้ร่วมกับการมอบสิทธิ์ทั่วทั้งโดเมน คุณจะใช้เพื่อ เข้าถึงข้อมูลผู้ใช้ได้
- ขอบเขต
สตริง URI ของ OAuth 2.0 ที่กำหนดระดับการเข้าถึงทรัพยากรหรือการดำเนินการ ที่มอบให้แอป สำหรับ Google Workspace นั้น URI ของขอบเขตการให้สิทธิ์ จะมีชื่อแอป Google Workspace, ประเภทข้อมูลที่เข้าถึง และระดับการเข้าถึง ผู้ใช้แอปของคุณสามารถตรวจสอบขอบเขตที่ขอและ เลือกสิทธิ์เข้าถึงที่จะให้ จากนั้นเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของ Google จะส่งคืน ขอบเขตที่ได้รับอนุญาตไปยังแอปของคุณในโทเค็นเพื่อการเข้าถึง โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อ วิธีเลือกขอบเขตสำหรับแอป
- เซิร์ฟเวอร์การให้สิทธิ์
เซิร์ฟเวอร์ของ Google สำหรับการให้สิทธิ์เข้าถึงโดยใช้โทเค็นการเข้าถึงไปยังข้อมูลและการดำเนินการที่แอป ขอ
- รหัสการให้สิทธิ์
รหัสที่ส่งจากเซิร์ฟเวอร์การให้สิทธิ์ซึ่งใช้เพื่อรับโทเค็นเพื่อการเข้าถึง โค้ดจะจำเป็นก็ต่อเมื่อประเภทแอปพลิเคชันเป็นแอปเว็บเซิร์ฟเวอร์หรือ แอปที่ติดตั้งแล้วเท่านั้น
- โทเค็นเพื่อการเข้าถึง
โทเค็นที่ให้สิทธิ์เข้าถึง Google Workspace API โทเค็นเพื่อการเข้าถึงรายการเดียวสามารถให้สิทธิ์การเข้าถึง API หลายรายการในระดับต่างๆ ซึ่งเรียกว่าขอบเขต รหัสการให้สิทธิ์ของแอปจะขอโทเค็นเพื่อการเข้าถึงและใช้โทเค็นดังกล่าวเพื่อเรียกใช้ API ของ Google Workspace
- เซิร์ฟเวอร์ทรัพยากร
เซิร์ฟเวอร์ที่โฮสต์ API ที่แอปต้องการเรียก
- เฟรมเวิร์ก OAuth 2.0
มาตรฐานที่แอปใช้เพื่อให้ "สิทธิ์เข้าถึงที่ได้รับมอบหมายอย่างปลอดภัย" หรือสิทธิ์เข้าถึงข้อมูลและการดำเนินการในนามของผู้ใช้แอป กลไกการตรวจสอบสิทธิ์ และการให้สิทธิ์ที่คุณใช้ในแอปแสดงถึงการติดตั้งใช้งานเฟรมเวิร์ก OAuth 2.0
- Principal
เอนทิตีหรือที่เรียกว่าข้อมูลประจำตัวที่สามารถให้สิทธิ์เข้าถึง ทรัพยากรได้ API ของ Google Workspace รองรับหลัก 2 ประเภท ได้แก่ บัญชีผู้ใช้และบัญชีบริการ ดูรายละเอียดเพิ่มเติมได้ที่ หลักการ
- ประเภทข้อมูล
ในบริบทของการตรวจสอบสิทธิ์และการให้สิทธิ์ ประเภทข้อมูลหมายถึงเอนทิตีที่เป็นเจ้าของข้อมูลที่แอปของคุณพยายามเข้าถึง โดยมี ประเภทข้อมูล 3 ประเภท ได้แก่
- ข้อมูลสาธารณสมบัติ
- ข้อมูลที่ทุกคนเข้าถึงได้ เช่น ข้อมูลบางอย่างใน Google Maps โดยปกติแล้วจะเข้าถึงข้อมูลนี้ได้โดยใช้คีย์ API
- ข้อมูลผู้ใช้ปลายทาง
- ข้อมูลที่เป็นของผู้ใช้ปลายทางหรือกลุ่มที่เฉพาะเจาะจง เช่น ไฟล์ใน Google ไดรฟ์ของผู้ใช้รายหนึ่ง โดยปกติแล้ว ระบบจะเข้าถึงข้อมูลประเภทนี้โดยใช้รหัสไคลเอ็นต์ OAuth 2 หรือบัญชีบริการ
- ข้อมูลในระบบคลาวด์
- ข้อมูลที่เป็นของโปรเจ็กต์ Google Cloud โดยปกติแล้ว ข้อมูลประเภทนี้จะเข้าถึงได้โดยบัญชีบริการ
- ความยินยอมของผู้ใช้
ขั้นตอนการให้สิทธิ์ที่กำหนดให้ผู้ใช้แอปของคุณต้องให้สิทธิ์แอป ในการเข้าถึงข้อมูลและดำเนินการในนามของผู้ใช้
- ประเภทแอปพลิเคชัน
ประเภทแอปที่คุณจะสร้าง เมื่อสร้างข้อมูลเข้าสู่ระบบโดยใช้ คอนโซล Google Cloud ระบบจะขอให้คุณเลือกประเภทแอปพลิเคชัน ประเภทแอปพลิเคชัน ได้แก่ เว็บแอปพลิเคชัน (JavaScript), Android, แอป Chrome, iOS, ทีวีและอุปกรณ์ที่มีการป้อนข้อมูลแบบจำกัด, แอปเดสก์ท็อป (หรือที่เรียกว่า "แอปที่ติดตั้ง แล้ว") และ Universal Windows Platform (UWP)
- บัญชีบริการ
บัญชี Google ประเภทพิเศษที่สร้างขึ้นเพื่อเป็นตัวแทนของผู้ใช้ที่ไม่ใช่มนุษย์ซึ่งต้องได้รับการตรวจสอบสิทธิ์และได้รับอนุญาตให้เข้าถึงข้อมูล แอปพลิเคชันของคุณจะใช้ข้อมูลประจำตัวของบัญชีบริการเพื่อเรียกใช้ Google APIs เพื่อให้ผู้ใช้ไม่ต้องมีส่วนเกี่ยวข้องโดยตรง บัญชีบริการไม่สามารถใช้เพื่อเข้าถึงข้อมูลผู้ใช้ที่เข้าถึงตามปกติโดยใช้ Google Workspace API ได้ อย่างไรก็ตาม บัญชีบริการสามารถเข้าถึงข้อมูลผู้ใช้ได้โดยการใช้การมอบสิทธิ์ระดับโดเมน โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อทำความเข้าใจบัญชีบริการ
- การมอบสิทธิ์ทั่วทั้งโดเมน
ฟีเจอร์การดูแลระบบที่สามารถให้สิทธิ์แอปพลิเคชันเข้าถึงข้อมูลผู้ใช้ในนามของผู้ใช้ในองค์กร Google Workspace การมอบสิทธิ์ทั่วทั้งโดเมนใช้เพื่อทำงานที่เกี่ยวข้องกับผู้ดูแลระบบในข้อมูลผู้ใช้ได้ หากต้องการมอบสิทธิ์ในลักษณะนี้ ผู้ดูแลระบบ Google Workspace จะใช้ บัญชีบริการที่มี OAuth 2.0 เนื่องจากฟีเจอร์นี้มีประสิทธิภาพสูง จึงมีเพียงผู้ดูแลระบบขั้นสูงเท่านั้นที่เปิดใช้การมอบสิทธิ์ทั่วทั้งโดเมนได้ ดูรายละเอียดเพิ่มเติมได้ที่ การมอบสิทธิ์ระดับโดเมนให้กับบัญชีบริการ
ขั้นตอนถัดไป
กำหนดค่าหน้าจอขอความยินยอม OAuth ของแอป เพื่อให้ผู้ใช้เข้าใจและอนุมัติสิทธิ์เข้าถึงข้อมูลที่แอปของคุณมี