ดูข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์

การตรวจสอบสิทธิ์และการให้สิทธิ์เป็นกลไกที่ใช้เพื่อยืนยันตัวตนและการเข้าถึงทรัพยากรตามลำดับ เอกสารนี้จะระบุคําศัพท์สําคัญที่คุณควรทราบก่อนใช้การตรวจสอบสิทธิ์และการให้สิทธิ์ในแอป

การตรวจสอบสิทธิ์จะระบุผู้ที่ส่งคำขอ การให้สิทธิ์จะระบุทรัพยากรที่ผู้ขอเข้าถึงได้และระดับการเข้าถึงที่ผู้ขอมี การตรวจสอบสิทธิ์เป็นข้อกําหนดเบื้องต้นสําหรับการให้สิทธิ์ คุณจะระบุทรัพยากรที่จะเข้าถึงไม่ได้หากไม่ระบุตัวตนของผู้ขอก่อน ดูคำจำกัดความโดยละเอียดได้ที่ส่วนคำศัพท์สำคัญ

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

ภาพรวมของกระบวนการ

แผนภาพต่อไปนี้แสดงขั้นตอนระดับสูงของการรับรองและการให้สิทธิ์สําหรับ Google Workspace API

ขั้นตอนระดับสูงของการติดตั้งใช้งานการตรวจสอบสิทธิ์และการให้สิทธิ์
รูปที่ 1 ขั้นตอนระดับสูงของการติดตั้งใช้งานการตรวจสอบสิทธิ์และการให้สิทธิ์
  1. กำหนดค่าโปรเจ็กต์และแอป Google Cloud: ในระหว่างการพัฒนา คุณต้องลงทะเบียนแอปในคอนโซล Google Cloud โดยกำหนดขอบเขตการให้สิทธิ์และข้อมูลเข้าสู่ระบบการเข้าถึงเพื่อตรวจสอบสิทธิ์แอปด้วยคีย์ API, ข้อมูลเข้าสู่ระบบของผู้ใช้ปลายทาง หรือข้อมูลเข้าสู่ระบบของบัญชีบริการ

  2. ตรวจสอบสิทธิ์แอปเพื่อเข้าถึง: เมื่อแอปทำงาน ระบบจะประเมินข้อมูลเข้าสู่ระบบการเข้าถึงที่ลงทะเบียนไว้ หากแอปของคุณตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง ระบบอาจแสดงข้อความแจ้งให้ลงชื่อเข้าใช้

  3. ขอทรัพยากร: เมื่อแอปต้องการเข้าถึงทรัพยากรของ Google แอปจะขอสิทธิ์เข้าถึงจาก Google โดยใช้ขอบเขตการเข้าถึงที่เกี่ยวข้องซึ่งคุณลงทะเบียนไว้ก่อนหน้านี้

  4. ขอความยินยอมจากผู้ใช้: หากแอปของคุณตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง Google จะแสดงหน้าจอขอความยินยอมของ OAuth เพื่อให้ผู้ใช้ตัดสินใจว่าจะให้สิทธิ์แอปเข้าถึงข้อมูลที่ขอหรือไม่

  5. ส่งคําขอทรัพยากรที่ได้รับอนุมัติ: หากผู้ใช้ให้ความยินยอมในขอบเขตการเข้าถึง แอปจะรวมข้อมูลเข้าสู่ระบบและขอบเขตการเข้าถึงที่ผู้ใช้อนุมัติไว้ในคําขอ ระบบจะส่งคําขอไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google เพื่อรับโทเค็นการเข้าถึง

  6. Google แสดงผลโทเค็นการเข้าถึง: โทเค็นการเข้าถึงมีรายการขอบเขตการเข้าถึงที่ได้รับ หากรายการขอบเขตที่แสดงผลจํากัดมากกว่าขอบเขตการเข้าถึงที่ขอ แอปจะปิดใช้ฟีเจอร์ที่จำกัดโดยโทเค็น

  7. เข้าถึงทรัพยากรที่ขอ: แอปของคุณใช้โทเค็นการเข้าถึงจาก Google เพื่อเรียกใช้ API ที่เกี่ยวข้องและเข้าถึงทรัพยากร

  8. รับโทเค็นการรีเฟรช (ไม่บังคับ): หากแอปของคุณจำเป็นต้องเข้าถึง Google API เกินอายุของโทเค็นการเข้าถึงรายการเดียว แอปจะได้รับโทเค็นการรีเฟรช

  9. ขอทรัพยากรเพิ่มเติม: หากจำเป็นต้องมีการเข้าถึงเพิ่มเติม แอปจะขอให้ผู้ใช้มอบสิทธิ์เข้าถึงใหม่ ซึ่งจะส่งผลให้มีคำขอใหม่เพื่อรับโทเค็นการเข้าถึง (ขั้นตอนที่ 3-6)

คําศัพท์สําคัญ

ต่อไปนี้คือรายการคําที่เกี่ยวข้องกับการตรวจสอบสิทธิ์และการให้สิทธิ์

การตรวจสอบสิทธิ์

การกระทำที่ยืนยันว่าผู้ใช้หลัก ซึ่งอาจเป็นผู้ใช้หรือแอปที่ดำเนินการในนามของผู้ใช้ เป็นบุคคลที่อ้างว่าเป็น เมื่อเขียนแอป Google Workspace คุณควรทราบการตรวจสอบสิทธิ์ประเภทต่อไปนี้

การตรวจสอบสิทธิ์ของผู้ใช้
การดําเนินการของผู้ใช้ในการตรวจสอบสิทธิ์ (ลงชื่อเข้าใช้) แอปของคุณ โดยปกติแล้วการตรวจสอบสิทธิ์ของผู้ใช้จะดําเนินการผ่านกระบวนการลงชื่อเข้าใช้ ซึ่งผู้ใช้จะใช้ชุดค่าผสมชื่อผู้ใช้และรหัสผ่านเพื่อยืนยันตัวตนกับแอป การตรวจสอบสิทธิ์ของผู้ใช้สามารถผสานรวมเข้ากับแอปได้โดยใช้ฟีเจอร์ลงชื่อเข้าใช้ด้วย Google
การตรวจสอบสิทธิ์แอป
การดําเนินการของแอปในการตรวจสอบสิทธิ์กับบริการของ Google ในนามของผู้ใช้ที่เรียกใช้แอปโดยตรง โดยปกติการตรวจสอบสิทธิ์ของแอปจะดําเนินการโดยใช้ข้อมูลเข้าสู่ระบบที่สร้างไว้ล่วงหน้าในโค้ดของแอป
การให้สิทธิ์

สิทธิ์หรือ "สิทธิ์" ที่ผู้ดําเนินการมีในการเข้าถึงข้อมูลหรือดําเนินการต่างๆ การให้สิทธิ์จะดำเนินการผ่านโค้ดที่คุณเขียนในแอป โค้ดนี้จะแจ้งให้ผู้ใช้ทราบว่าแอปต้องการดำเนินการในนามของผู้ใช้ และหากได้รับอนุญาตก็จะใช้ข้อมูลเข้าสู่ระบบที่ไม่ซ้ำกันของแอปเพื่อรับโทเค็นการเข้าถึงจาก Google เพื่อใช้เข้าถึงข้อมูลหรือดำเนินการต่างๆ

ข้อมูลเข้าสู่ระบบ

รูปแบบการระบุตัวตนที่ใช้ในการรักษาความปลอดภัยของซอฟต์แวร์ ข้อมูลเข้าสู่ระบบมักหมายถึงชื่อผู้ใช้และรหัสผ่านสำหรับการตรวจสอบสิทธิ์ ในแง่ของการให้สิทธิ์สำหรับ Google Workspace API ข้อมูลเข้าสู่ระบบมักจะเป็นรูปแบบการระบุตัวตน เช่น สตริงลับที่ไม่ซ้ำกัน ซึ่งนักพัฒนาแอปและเซิร์ฟเวอร์การตรวจสอบสิทธิ์เท่านั้นที่ทราบ Google รองรับข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ต่อไปนี้ คีย์ API, รหัสไคลเอ็นต์ OAuth 2.0 และบัญชีบริการ

คีย์ API
ข้อมูลเข้าสู่ระบบที่ใช้เพื่อขอสิทธิ์เข้าถึงข้อมูลสาธารณะ เช่น ข้อมูลที่ให้ไว้โดยใช้ Maps API หรือไฟล์ Google Workspace ที่แชร์โดยใช้การตั้งค่า "ทุกคนในอินเทอร์เน็ตที่มีลิงก์นี้" ภายในการตั้งค่าการแชร์ของ Google Workspace
รหัสไคลเอ็นต์ OAuth 2
ข้อมูลเข้าสู่ระบบที่ใช้เพื่อขอสิทธิ์เข้าถึงข้อมูลที่ผู้ใช้เป็นเจ้าของ ซึ่งเป็นข้อมูลเข้าสู่ระบบหลักที่ใช้เมื่อขอสิทธิ์เข้าถึงข้อมูลโดยใช้ Google Workspace API ข้อมูลเข้าสู่ระบบนี้ต้องได้รับความความยินยอมจากผู้ใช้
รหัสลับไคลเอ็นต์
สตริงอักขระที่ควรมีเฉพาะแอปพลิเคชันและเซิร์ฟเวอร์การให้สิทธิ์เท่านั้นที่ทราบ ข้อมูลลับของไคลเอ็นต์จะปกป้องข้อมูลของผู้ใช้โดยให้โทเค็นแก่ผู้ขอที่ได้รับอนุญาตเท่านั้น คุณไม่ควรใส่รหัสลับไคลเอ็นต์ที่ไม่ได้เข้ารหัสไว้ในแอป เราขอแนะนำให้จัดเก็บรหัสลับไคลเอ็นต์อย่างปลอดภัย ดูข้อมูลเพิ่มเติมได้ที่หัวข้อจัดการข้อมูลเข้าสู่ระบบของไคลเอ็นต์อย่างปลอดภัย
คีย์บัญชีบริการ
บัญชีบริการใช้เพื่อรับสิทธิ์เข้าถึงบริการของ Google
บัญชีบริการ
ข้อมูลเข้าสู่ระบบที่ใช้สำหรับการโต้ตอบระหว่างเซิร์ฟเวอร์ เช่น แอปที่ไม่มีหน้าเว็บที่ทำงานเป็นกระบวนการเพื่อเข้าถึงข้อมูลบางอย่างหรือดำเนินการบางอย่าง โดยทั่วไปบัญชีบริการจะใช้เพื่อเข้าถึงข้อมูลและการดำเนินการที่อยู่ในระบบคลาวด์ อย่างไรก็ตาม เมื่อใช้ร่วมกับการมอบสิทธิ์ทั่วทั้งโดเมน ผู้ใช้จะสามารถใช้แอปเพื่อเข้าถึงข้อมูลได้
ขอบเขต

สตริง URI ของ OAuth 2.0 ที่กำหนดระดับการเข้าถึงทรัพยากรหรือการดำเนินการที่แอปได้รับ สำหรับ Google Workspace URI ของขอบเขตการให้สิทธิ์จะมีชื่อแอป Google Workspace, ประเภทข้อมูลที่แอปเข้าถึง และระดับการเข้าถึง ผู้ใช้แอปสามารถตรวจสอบขอบเขตที่ขอและเลือกสิทธิ์เข้าถึงที่จะให้ จากนั้นเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของ Google จะส่งคืนขอบเขตที่ได้รับอนุญาตไปยังแอปของคุณในโทเค็นการเข้าถึง โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อวิธีเลือกขอบเขตสําหรับแอป

เซิร์ฟเวอร์การให้สิทธิ์

เซิร์ฟเวอร์ของ Google สำหรับการให้สิทธิ์เข้าถึงโดยใช้โทเค็นการเข้าถึงสำหรับข้อมูลและการดําเนินการที่แอปขอ

รหัสการให้สิทธิ์

รหัสที่ส่งจากเซิร์ฟเวอร์การให้สิทธิ์ซึ่งใช้รับโทเค็นการเข้าถึง คุณต้องใช้โค้ดก็ต่อเมื่อแอปพลิเคชันประเภทเป็นแอปเซิร์ฟเวอร์เว็บหรือแอปที่ติดตั้ง

โทเค็นการเข้าถึง

โทเค็นที่ให้สิทธิ์เข้าถึง Google Workspace API โทเค็นการเข้าถึงรายการเดียวสามารถให้สิทธิ์เข้าถึง API หลายรายการในระดับต่างๆ ซึ่งเรียกว่าขอบเขต รหัสการให้สิทธิ์ของแอปจะขอโทเค็นการเข้าถึงและใช้โทเค็นดังกล่าวเพื่อเรียกใช้ Google Workspace API

เซิร์ฟเวอร์ทรัพยากร

เซิร์ฟเวอร์ที่โฮสต์ API ที่แอปของคุณต้องการเรียกใช้

เฟรมเวิร์ก OAuth 2.0

มาตรฐานที่แอปของคุณสามารถใช้เพื่อมอบ "การเข้าถึงที่มอบสิทธิ์อย่างปลอดภัย" หรือสิทธิ์เข้าถึงข้อมูลและการดำเนินการในนามของผู้ใช้แอป กลไกการตรวจสอบสิทธิ์และการให้สิทธิ์ที่คุณใช้ในแอปแสดงถึงการใช้งานเฟรมเวิร์ก OAuth 2.0

หลัก

เอนทิตีหรือที่เรียกว่าข้อมูลประจำตัวซึ่งสามารถให้สิทธิ์เข้าถึงแหล่งข้อมูลได้ Google Workspace API รองรับผู้ใช้หลัก 2 ประเภท ได้แก่ บัญชีผู้ใช้และบัญชีบริการ ดูรายละเอียดเพิ่มเติมได้ที่ผู้ใช้หลัก

ประเภทข้อมูล

ในบริบทของการตรวจสอบสิทธิ์และการให้สิทธิ์ ประเภทข้อมูลหมายถึงเอนทิตีที่เป็นเจ้าของข้อมูลที่แอปของคุณพยายามเข้าถึง ประเภทข้อมูลมี 3 ประเภท ได้แก่

ข้อมูลสาธารณสมบัติ
ข้อมูลที่ทุกคนเข้าถึงได้ เช่น ข้อมูล Google Maps บางรายการ โดยปกติแล้ว ระบบจะเข้าถึงข้อมูลนี้โดยใช้คีย์ API
ข้อมูลผู้ใช้ปลายทาง
ข้อมูลของผู้ใช้ปลายทางหรือกลุ่มที่เฉพาะเจาะจง เช่น ไฟล์ Google ไดรฟ์ของผู้ใช้รายหนึ่งๆ โดยปกติแล้ว ประเภทข้อมูลนี้จะเข้าถึงได้โดยใช้รหัสไคลเอ็นต์ OAuth 2 หรือบัญชีบริการ
ข้อมูลระบบคลาวด์
ข้อมูลที่เป็นของโปรเจ็กต์ Google Cloud โดยปกติแล้ว บัญชีบริการจะเข้าถึงข้อมูลประเภทนี้
ความยินยอมของผู้ใช้

ขั้นตอนการให้สิทธิ์ที่กําหนดให้ผู้ใช้แอปของคุณให้สิทธิ์แอปในการเข้าถึงข้อมูลและดําเนินการในนามของผู้ใช้

ประเภทแอปพลิเคชัน

ประเภทแอปที่คุณจะสร้าง เมื่อสร้างข้อมูลเข้าสู่ระบบโดยใช้คอนโซล Google Cloud ระบบจะขอให้คุณเลือกประเภทแอปพลิเคชัน ประเภทแอปพลิเคชัน ได้แก่ เว็บแอปพลิเคชัน (JavaScript), Android, แอป Chrome, iOS, TV และอุปกรณ์อินพุตแบบจำกัด, แอปเดสก์ท็อป (หรือที่เรียกว่า "แอปที่ติดตั้ง") และ Universal Windows Platform (UWP)

บัญชีบริการ

บัญชี Google ประเภทพิเศษที่มีไว้เพื่อแสดงถึงผู้ใช้ที่ไม่ใช่มนุษย์ ซึ่งจำเป็นต้องตรวจสอบสิทธิ์และได้รับอนุญาตให้เข้าถึงข้อมูล แอปพลิเคชันจะสมมติตัวตนของบัญชีบริการเพื่อเรียกใช้ Google APIs ผู้ใช้จึงไม่ต้องมีส่วนเกี่ยวข้องโดยตรง บัญชีบริการไม่สามารถใช้เพื่อเข้าถึงข้อมูลผู้ใช้ได้ ซึ่งเป็นข้อมูลที่เข้าถึงตามปกติโดยใช้ Workspace API อย่างไรก็ตาม บัญชีบริการจะเข้าถึงข้อมูลผู้ใช้ได้โดยใช้การมอบสิทธิ์ทั่วทั้งโดเมน โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการทำความเข้าใจบัญชีบริการ

การมอบสิทธิ์ทั่วทั้งโดเมน

ฟีเจอร์การดูแลระบบที่สามารถให้สิทธิ์แอปพลิเคชันเข้าถึงข้อมูลผู้ใช้ในนามของผู้ใช้ในองค์กร Google Workspace คุณสามารถมอบสิทธิ์ระดับโดเมนเพื่อทำงานเกี่ยวกับข้อมูลผู้ใช้ที่เกี่ยวข้องกับผู้ดูแลระบบ หากต้องการมอบสิทธิ์ในลักษณะนี้ ผู้ดูแลระบบ Google Workspace จะใช้บัญชีบริการที่มี OAuth 2.0 ด้วยเหตุนี้ จึงมีเพียงผู้ดูแลระบบขั้นสูงเท่านั้นที่เปิดใช้การมอบสิทธิ์ทั่วทั้งโดเมนได้ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการมอบสิทธิ์ทั่วทั้งโดเมนให้กับบัญชีบริการ

ขั้นตอนถัดไป

กำหนดค่าหน้าจอขอความยินยอม OAuth ของแอปเพื่อให้ผู้ใช้เข้าใจและอนุมัติสิทธิ์เข้าถึงข้อมูลของตนที่แอปมี