จำกัดคำขอให้เฉพาะผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เท่านั้น

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

ก่อนบังคับใช้โหมดผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์

โปรดทราบข้อมูลต่อไปนี้ก่อนบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

  • หากคุณมีแอปเวอร์ชันเดิมที่ไม่ได้ใช้ Firebase Authentication

    • การตั้งค่านี้จะบล็อกคำขอผ่าน Firebase AI Logic จาก แอปเวอร์ชันที่มีอยู่เหล่านั้น
    • ตรวจสอบว่าไคลเอ็นต์ที่ใช้งานอยู่ทั้งหมดได้รับการอัปเดตให้ใช้ Firebase Authentication ก่อนบังคับใช้โหมดผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์
  • ปลั๊กอิน Flutter เวอร์ชันเก่าต้องใช้การเริ่มต้นพิเศษเพื่อส่งFirebase Authentication ข้อมูลเข้าสู่ระบบพร้อมคำขอ

    • หากแอปใช้ปลั๊กอิน Flutter firebase_ai v3.11.0 หรือต่ำกว่า (BoM v4.12.0 หรือต่ำกว่า) และไม่ส่ง Authentication ระหว่างการเริ่มต้น การตั้งค่านี้จะบล็อกคำขอผ่าน Firebase AI Logic แม้แต่สำหรับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์แล้ว
    • โปรดตรวจสอบว่าได้อัปเดตไคลเอ็นต์ที่ใช้งานอยู่ทั้งหมดสำหรับ 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 มีดังนี้

  1. หากยังไม่ได้อ่าน โปรดอ่านข้อควรพิจารณาที่สำคัญสำหรับโหมดผู้ใช้ที่ผ่านการรับรองก่อนหน้านี้ในคู่มือนี้

  2. หากยังไม่ได้ดำเนินการ ให้ตั้งค่า Firebase Authentication ในแอป (ตามที่อธิบายไว้ก่อนหน้านี้ในคู่มือนี้)

  3. บังคับใช้โหมดผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์

    1. ในคอนโซล Firebase ให้ไปที่บริการ AI > ตรรกะ AI > แท็บการตั้งค่า

    2. ในส่วนโหมดผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ ให้เลื่อนปุ่มเปิด/ปิดสำหรับ บังคับใช้โหมดผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เป็นบังคับใช้

    3. ตรวจสอบกล่องโต้ตอบการยืนยัน แล้วคลิกยืนยัน

หยุดการบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

หากหยุดบังคับใช้โหมดผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ โปรดทราบสิ่งต่อไปนี้

  • ระบบจะอนุญาตคำขอผ่าน Firebase AI Logic ที่ไม่ส่งFirebase Authentication ข้อมูลเข้าสู่ระบบ
  • นี่คือการตั้งค่าทั้งโปรเจ็กต์สำหรับ Firebase AI Logic

วิธีหยุดการบังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้วสำหรับโปรเจ็กต์ Firebase มีดังนี้

  1. ในคอนโซล Firebase ให้ไปที่บริการ AI > ตรรกะ AI > แท็บการตั้งค่า

  2. ในส่วนโหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ให้ปิด บังคับใช้โหมดผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

  3. ตรวจสอบกล่องโต้ตอบการยืนยัน แล้วคลิกยืนยัน