คุณสามารถบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วสำหรับโปรเจ็กต์ Firebase ได้ เมื่อบังคับใช้ คำขอ Gemini API ทั้งหมดผ่าน Firebase AI Logic ต้องมาจากผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ของแอป กล่าวโดยเจาะจงคือ ผู้ใช้ปลายทางของแอปต้องได้รับการตรวจสอบสิทธิ์โดยใช้ Firebase Authentication ก่อนที่จะส่งคำขอไปยัง Firebase AI Logic จากแอปของคุณ หากผู้ใช้ปลายทางไม่ได้รับการตรวจสอบสิทธิ์ คำขอจะถูกบล็อก
เมื่อคำขอถูกบล็อก การตอบกลับจะเป็นข้อผิดพลาด 401: unauthenticated
สิ่งสำคัญที่ควรพิจารณา
โปรดคำนึงถึงข้อควรพิจารณาที่สำคัญต่อไปนี้สำหรับโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
เมื่อบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
เมื่อบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว โปรดคำนึงถึงสิ่งต่อไปนี้
การตั้งค่านี้เป็นการตั้งค่าทั้งโปรเจ็กต์สำหรับ Firebase AI Logic
- ซึ่งจะมีผลกับแอปทั้งหมดที่ลงทะเบียนในโปรเจ็กต์
- โดยจะมีผลกับโปรเจ็กต์ที่มีการบังคับใช้เท่านั้น
การตั้งค่านี้จะบล็อกคำขอทั้งหมดผ่าน Firebase AI Logic ที่ไม่ได้ส่งข้อมูลเข้าสู่ระบบ Firebase Authentication
- ผู้ใช้ต้องได้รับการตรวจสอบสิทธิ์ผ่าน Firebase Authentication ก่อนส่งคำขอไปยัง Firebase AI Logic
- การตั้งค่านี้มีผลกับคำขอทั้งหมดผ่าน Firebase AI Logic ไปยังทั้ง Gemini Developer API และ Agent Platform Gemini API (formerly Vertex AI)
- การตั้งค่านี้มีผลกับคำขอทั้งหมดที่ใช้เทมเพลตพรอมต์ของเซิร์ฟเวอร์
- การตั้งค่านี้ไม่สามารถใช้กับผู้ใช้แต่ละราย, API แต่ละรายการ หรือเทมเพลตแต่ละรายการได้
การตั้งค่านี้ไม่บล็อกคำขอ Gemini API ในโปรเจ็กต์ที่ไม่ได้ผ่าน Firebase AI Logic
หากคุณใช้ไฮบริด/ในอุปกรณ์ ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกคำขอไปยังโมเดลที่โฮสต์ในระบบคลาวด์หากผู้ใช้ไม่ได้รับการตรวจสอบสิทธิ์
- การตั้งค่านี้ไม่บล็อกคำขอไปยังโมเดลในอุปกรณ์ ไม่ว่าสถานะการตรวจสอบสิทธิ์ของผู้ใช้จะเป็นอย่างไร
หากคุณใช้ Gemini Live API ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกการใช้ Gemini Live API สำหรับเว็บแอปเมื่อใช้ Firebase AI Logic แม้แต่สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ซึ่งรวมถึงเว็บแอปที่ใช้ Firebase JS SDK หรือเว็บแอป Flutter
หากคุณใช้ Firebase AI Logic REST API ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกคำขอการอนุมานที่ไม่ส่งข้อมูลเข้าสู่ระบบ Firebase Authentication ซึ่งรวมถึงคำขอเทมเพลตพรอมต์เซิร์ฟเวอร์ เช่น
templateGenerateContentหรือtemplateStreamGenerateContent - การตั้งค่านี้ไม่บล็อกคำขอระนาบควบคุม (เช่น คำขอสำหรับการจัดการเทมเพลตและการกำหนดค่า) เนื่องจากได้รับการปกป้องโดย IAM
- การตั้งค่านี้จะบล็อกคำขอการอนุมานที่ไม่ส่งข้อมูลเข้าสู่ระบบ Firebase Authentication ซึ่งรวมถึงคำขอเทมเพลตพรอมต์เซิร์ฟเวอร์ เช่น
การตั้งค่านี้ไม่บล็อกคำขอไปยัง
countTokens(Count Tokens API)
ก่อนบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
โปรดคำนึงถึงสิ่งต่อไปนี้ก่อนบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
หากคุณมีแอปเวอร์ชันที่มีอยู่ซึ่งไม่ได้ใช้ Firebase Authentication ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกคำขอผ่าน Firebase AI Logic จากแอปเวอร์ชันที่มีอยู่เหล่านั้น
- ตรวจสอบว่าไคลเอ็นต์ที่ใช้งานอยู่ทั้งหมดได้รับการอัปเดตให้ใช้ Firebase Authentication ก่อนบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
ปลั๊กอิน Flutter เวอร์ชันเก่าต้องใช้การสร้างอินสแตนซ์พิเศษเพื่อส่งข้อมูลเข้าสู่ระบบ Firebase Authentication พร้อมกับคำขอ
- หากแอปของคุณใช้ปลั๊กอิน Flutter
firebase_aiv3.11.0 หรือต่ำกว่า (BoM v4.12.0 หรือต่ำกว่า) และไม่ได้ส่ง Authentication ระหว่างการสร้างอินสแตนซ์ การตั้งค่านี้จะบล็อกคำขอผ่าน Firebase AI Logic แม้แต่สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว - ตรวจสอบว่าไคลเอ็นต์ที่ใช้งานอยู่ทั้งหมดสำหรับ Flutter ได้รับการอัปเดตเป็นปลั๊กอินเวอร์ชันใหม่กว่าก่อนบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
- หากแอปของคุณใช้ปลั๊กอิน Flutter
ตั้งค่า Firebase Authentication
เอกสารประกอบของ Firebase Authentication มีคำอธิบายและวิธีการติดตั้งใช้งานสำหรับผู้ให้บริการตรวจสอบสิทธิ์ที่รองรับ ซึ่งรวมถึงการใช้รหัสผ่าน หมายเลขโทรศัพท์ ผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ยอดนิยม (เช่น Google, Facebook และ GitHub) และอื่นๆ
หลังจากติดตั้งใช้งาน Firebase Authentication ในแอปแล้ว แอปจะส่งข้อมูลเข้าสู่ระบบ Firebase Authentication สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์แล้วในทุกคำขอไปยัง Firebase AI Logic โดยอัตโนมัติ
โปรดทราบข้อมูลต่อไปนี้เกี่ยวกับผู้ให้บริการตรวจสอบสิทธิ์บางราย
การตรวจสอบสิทธิ์ที่กำหนดเอง: คุณต้องดึงข้อมูลโทเค็นการตรวจสอบสิทธิ์ที่ลงชื่อเพื่อส่งไปพร้อมกับคำขอไปยัง Firebase AI Logic โปรดดูรายละเอียดที่หัวข้อการตรวจสอบสิทธิ์ที่กำหนดเอง
วิธีการตรวจสอบสิทธิ์แบบไม่ระบุตัวตนหรืออีเมล/รหัสผ่าน: ระบบจะถือว่าผู้ใช้เหล่านี้เป็นผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ ดังนั้นคำขอไปยัง Firebase AI Logic จึงไม่ถูกบล็อก
โปรดทราบว่าแม้ว่าวิธีการตรวจสอบสิทธิ์แบบไม่ระบุตัวตนและแบบอีเมล/รหัสผ่านจะกำหนดให้ผู้ใช้ต้องเข้าชมแอปเพื่อสร้างข้อมูลเข้าสู่ระบบ Firebase Authentication แต่วิธีการเหล่านี้ไม่ใช่รูปแบบการตรวจสอบสิทธิ์ที่มีประสิทธิภาพ (โดยเฉพาะสำหรับการปกป้องทรัพยากรแบบชำระเงิน) เนื่องจากโดยค่าเริ่มต้นแล้ว วิธีการเหล่านี้ไม่ได้กำหนดให้ต้องมีการยืนยันตัวตนจากผู้ใช้ หากแอปของคุณใช้การติดตั้งใช้งานเริ่มต้นของวิธีการตรวจสอบสิทธิ์เหล่านี้ การปกป้องอาจมีประสิทธิภาพน้อยลงแม้ว่าคุณจะบังคับใช้โหมดผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์แล้วก็ตาม ตรวจสอบว่าคุณได้บังคับใช้ Firebase App Check ด้วย
จัดการการตั้งค่าโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
คุณสามารถจัดการการตั้งค่าสำหรับโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วได้ในคอนโซล Firebase
สิทธิ์และบทบาท IAM ที่จำเป็น
การจัดการการตั้งค่าโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วต้องใช้สิทธิ์ firebasevertexai.configs.update ซึ่งรวมอยู่โดยค่าเริ่มต้นในบทบาท IAM ต่อไปนี้ ได้แก่ เจ้าของ ผู้แก้ไข ผู้ดูแลระบบ Firebase และผู้ดูแลระบบ Firebase AI Logic
บังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
วิธีบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วสำหรับโปรเจ็กต์ Firebase มีดังนี้
หากยังไม่ได้อ่าน โปรดอ่านข้อควรพิจารณาที่สำคัญสำหรับโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วในส่วนก่อนหน้าของคู่มือนี้
หากยังไม่ได้ดำเนินการ ให้ตั้งค่า Firebase Authentication ในแอป (ตามที่อธิบายไว้ก่อนหน้านี้ในคู่มือนี้)
บังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
ในคอนโซล Firebase ให้ไปที่บริการ AI > ตรรกะ AI > แท็บการตั้งค่า
ในส่วนโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ให้เลื่อนปุ่มสลับสำหรับบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วเป็นบังคับใช้
ตรวจสอบกล่องโต้ตอบการยืนยัน แล้วคลิกยืนยัน
หยุดการบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
หากคุณหยุดการบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว โปรดคำนึงถึงสิ่งต่อไปนี้
- คำขอผ่าน Firebase AI Logic ที่ไม่ส่งข้อมูลเข้าสู่ระบบ Firebase Authentication จะได้รับอนุญาต
- การตั้งค่านี้เป็นการตั้งค่าทั้งโปรเจ็กต์สำหรับ Firebase AI Logic
วิธีหยุดการบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วสำหรับโปรเจ็กต์ Firebase มีดังนี้
ในคอนโซล Firebase ให้ไปที่บริการ AI > ตรรกะ AI > แท็บการตั้งค่า
ในส่วนโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ให้ปิดบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
ตรวจสอบกล่องโต้ตอบการยืนยัน แล้วคลิกยืนยัน