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

กําหนดค่าโปรเจ็กต์และแอป Google Cloud: ในระหว่างการพัฒนา คุณลงทะเบียนแอปใน Google Cloud Console การกําหนดขอบเขตการให้สิทธิ์ และข้อมูลเข้าสู่ระบบเพื่อตรวจสอบสิทธิ์แอปด้วยคีย์ API, ข้อมูลรับรองของผู้ใช้ปลายทาง หรือข้อมูลเข้าสู่ระบบบัญชีบริการ
ตรวจสอบสิทธิ์ของแอปสําหรับการเข้าถึง: เมื่อแอปทํางาน ระบบจะประเมินข้อมูลรับรองการเข้าถึงที่ลงทะเบียน หากแอปตรวจสอบสิทธิ์เป็นผู้ใช้ปลายทาง ระบบอาจแสดงข้อความแจ้งให้ลงชื่อเข้าใช้
ขอทรัพยากร: เมื่อแอปต้องการเข้าถึงทรัพยากรของ Google แอปจะถาม Google โดยใช้ขอบเขตการเข้าถึงที่เกี่ยวข้องซึ่งคุณได้ลงทะเบียนไว้ก่อนหน้านี้
ขอความยินยอมจากผู้ใช้: หากแอปตรวจสอบสิทธิ์ในฐานะผู้ใช้ปลายทาง Google จะแสดงหน้าจอคํายินยอม OAuth เพื่อให้ผู้ใช้ตัดสินใจได้ว่าจะให้สิทธิ์แอปในการเข้าถึงข้อมูลที่ขอหรือไม่
ส่งคําขอทรัพยากรที่ได้รับอนุมัติ: หากผู้ใช้ยินยอมให้เข้าถึงขอบเขต แอปของคุณจะรวมข้อมูลรับรองและขอบเขตการเข้าถึงที่ผู้ใช้อนุมัติในคําขอ ระบบจะส่งคําขอไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google เพื่อรับโทเค็นเพื่อการเข้าถึง
Google แสดงโทเค็นเพื่อการเข้าถึง: โทเค็นเพื่อการเข้าถึงจะแสดงรายการขอบเขตการเข้าถึง หากรายการขอบเขตที่ส่งกลับมีการจํากัดมากกว่าขอบเขตการเข้าถึงที่ขอ แอปจะปิดใช้งานฟีเจอร์ที่จํากัดของโทเค็น
เข้าถึงทรัพยากรที่ร้องขอ: แอปของคุณใช้โทเค็นเพื่อการเข้าถึงจาก Google เพื่อเรียก API ที่เกี่ยวข้องและเข้าถึงทรัพยากร
รับโทเค็นการรีเฟรช (ไม่บังคับ): หากแอปของคุณต้องมีสิทธิ์เข้าถึง Google API ตลอดอายุการใช้งานโทเค็นเพื่อการเข้าถึงครั้งเดียว แอปจะรับโทเค็นการรีเฟรชได้
ขอทรัพยากรเพิ่มเติม: หากจําเป็นต้องเข้าถึงเพิ่มเติม แอปจะขอให้ผู้ใช้ให้ขอบเขตการเข้าถึงใหม่ ซึ่งส่งผลให้เกิดคําขอใหม่ในการรับโทเค็นเพื่อการเข้าถึง (ขั้นตอนที่ 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 Console ระบบจะขอให้คุณเลือกประเภทแอปพลิเคชัน ประเภทแอปพลิเคชันได้แก่ เว็บแอปพลิเคชัน (JavaScript), แอนดรอยด์, แอป Chrome, iOS, ทีวี และอุปกรณ์อินพุตที่จํากัด แอปบนเดสก์ท็อป (หรือที่เรียกว่า "แอปที่ติดตั้ง") และ Universal Windows Platform (UWP)
- บัญชีบริการ
บัญชี Google ประเภทพิเศษที่มุ่งหมายให้เป็นตัวแทนของผู้ใช้ที่ไม่ใช่มนุษย์ซึ่งต้องตรวจสอบสิทธิ์และได้รับอนุญาตให้เข้าถึงข้อมูล แอปพลิเคชันของคุณจะใช้ข้อมูลประจําตัวของบัญชีบริการเพื่อเรียกใช้ Google API เพื่อไม่ให้ผู้ใช้มีส่วนร่วมโดยตรง บัญชีบริการเพียงอย่างเดียวไม่สามารถใช้เพื่อเข้าถึง ข้อมูลของผู้ใช้ได้ สามารถเข้าถึงข้อมูลที่กําหนดเองโดยใช้ Workspace API ได้ อย่างไรก็ตาม บัญชีบริการจะเข้าถึงข้อมูลผู้ใช้ได้โดยใช้การมอบสิทธิ์ทั่วทั้งโดเมน โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการทําความเข้าใจบัญชีบริการ
- การมอบสิทธิ์ทั่วทั้งโดเมน
คุณลักษณะการดูแลระบบที่สามารถให้สิทธิ์แอปพลิเคชันเข้าถึงข้อมูลผู้ใช้ในนามของผู้ใช้ในองค์กร Google Workspace คุณสามารถใช้การมอบสิทธิ์ทั่วทั้งโดเมนเพื่อทํางานที่เกี่ยวกับผู้ดูแลระบบในข้อมูลผู้ใช้ หากต้องการมอบสิทธิ์ด้วยวิธีนี้ ผู้ดูแลระบบ Google Workspace จะใช้บัญชีบริการกับ OAuth 2.0 เนื่องจากฟีเจอร์นี้ใช้งานได้ ดังนั้นผู้ดูแลระบบขั้นสูงเท่านั้นจึงจะเปิดใช้การมอบสิทธิ์ทั่วทั้งโดเมนได้ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการมอบสิทธิ์ทั่วทั้งโดเมนไปยังบัญชีบริการ
ขั้นตอนถัดไป
กําหนดค่าหน้าจอคํายินยอม OAuth ของแอป เพื่อให้มั่นใจว่าผู้ใช้สามารถทําความเข้าใจและอนุมัติสิทธิ์เข้าถึงข้อมูลของแอปได้