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