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

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

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

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

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

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

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

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

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

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

  5. ส่งคำขอทรัพยากรที่ได้รับอนุมัติ: หากผู้ใช้ยินยอมให้ใช้ขอบเขตการเข้าถึง App Bundle ของข้อมูลเข้าสู่ระบบและขอบเขตการเข้าถึงที่ผู้ใช้อนุมัติไว้ในคำขอ คำขอจะส่งไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ 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 หรือบัญชีบริการ
ข้อมูลใน Cloud
ข้อมูลที่เป็นของโปรเจ็กต์ Google Cloud ปกติแล้วข้อมูลประเภทนี้ จะเข้าถึงได้โดยบัญชีบริการ
ความยินยอมของผู้ใช้

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

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

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

บัญชีบริการ

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

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

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

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

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