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

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

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

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

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

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

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

บัญชีบริการ

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

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

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

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

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