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

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