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

คุณสามารถบังคับใช้โหมดผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์สำหรับโปรเจ็กต์ 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 หรือแอป Web ของ Flutter
  • หากคุณใช้ Firebase AI Logic REST API ให้ทำดังนี้

    • การตั้งค่านี้จะบล็อกคำขอการอนุมานที่ไม่ส่ง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. ตรวจสอบกล่องโต้ตอบการยืนยัน แล้วคลิกยืนยัน