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

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

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

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

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

แผนภาพต่อไปนี้แสดงขั้นตอนระดับสูงของการตรวจสอบสิทธิ์และ การให้สิทธิ์สำหรับ 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 คุณควรทราบข้อมูลต่อไปนี้เกี่ยวกับประเภทการตรวจสอบสิทธิ์

การตรวจสอบสิทธิ์ของผู้ใช้
การที่ผู้ใช้ตรวจสอบสิทธิ์ (ลงชื่อเข้าใช้) ในแอปของคุณ โดยปกติแล้วการตรวจสอบสิทธิ์ผู้ใช้จะดำเนินการผ่านกระบวนการลงชื่อเข้าใช้ ซึ่งผู้ใช้จะใช้ชุดค่าผสมของชื่อผู้ใช้และรหัสผ่านเพื่อยืนยันตัวตนกับแอป คุณสามารถรวมการตรวจสอบสิทธิ์ผู้ใช้ไว้ในแอปได้โดยใช้ 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 ของแอป เพื่อให้ผู้ใช้เข้าใจและอนุมัติสิทธิ์เข้าถึงข้อมูลที่แอปของคุณมี