คุณสามารถบังคับใช้โหมดผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์สำหรับโปรเจ็กต์ 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 และ Vertex AI Gemini API
- การตั้งค่านี้มีผลกับคำขอทั้งหมดที่ใช้ เทมเพลตพรอมต์ของเซิร์ฟเวอร์
- การตั้งค่านี้ใช้ไม่ได้ในระดับผู้ใช้ API หรือเทมเพลต
การตั้งค่านี้ไม่ได้บล็อกคำขอ Gemini API ในโปรเจ็กต์ที่ไม่ได้ผ่าน Firebase AI Logic
หากคุณใช้ไฮบริด / ในอุปกรณ์ ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกคำขอไปยังโมเดลที่โฮสต์ในระบบคลาวด์หากผู้ใช้ ไม่ได้รับการตรวจสอบสิทธิ์
- การตั้งค่านี้ไม่บล็อกคำขอไปยังโมเดลในอุปกรณ์ไม่ว่าสถานะการตรวจสอบสิทธิ์ของผู้ใช้จะเป็นอย่างไร
หากคุณใช้ Gemini Live API ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกการใช้งาน Gemini Live API สำหรับเว็บแอปเมื่อ ใช้ Firebase AI Logic แม้แต่สำหรับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ ซึ่งรวมถึงเว็บแอปที่ใช้ Firebase JS SDK หรือแอป Web ของ Flutter
หากคุณใช้ REST API ของ Firebase AI Logic ให้ทำดังนี้
- การตั้งค่านี้จะบล็อกคำขอการอนุมานที่ไม่ส่ง
Firebase Authenticationข้อมูลเข้าสู่ระบบ ซึ่งรวมถึงคำขอเทมเพลตพรอมต์ของเซิร์ฟเวอร์ เช่น
templateGenerateContentหรือtemplateStreamGenerateContent - การตั้งค่านี้ไม่บล็อกคำขอControl Plane (เช่น คำขอสำหรับ การจัดการเทมเพลตและการกำหนดค่า) เนื่องจากได้รับการป้องกันโดย 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 > แท็บการตั้งค่า
ในส่วนโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ให้ปิด บังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
ตรวจสอบกล่องโต้ตอบการยืนยัน แล้วคลิกยืนยัน