अनुरोधों को सिर्फ़ पुष्टि किए गए उपयोगकर्ताओं तक सीमित करें

अपने 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 के ज़रिए की जानी चाहिए.
    • यह सेटिंग, Gemini Developer API और Agent Platform Gemini API (formerly Vertex AI) दोनों के लिए Firebase AI Logic के ज़रिए भेजे गए सभी अनुरोधों पर लागू होती है.
    • यह सेटिंग, सभी अनुरोधों पर लागू होती है जो सर्वर प्रॉम्प्ट टेंप्लेट का इस्तेमाल करते हैं.
    • यह सेटिंग, हर उपयोगकर्ता, हर एपीआई या हर टेंप्लेट के हिसाब से लागू नहीं की जा सकती.
  • यह सेटिंग, आपके प्रोजेक्ट में ब्लॉक नहीं करती Gemini API उन अनुरोधों को जो नहीं भेजे जाते Firebase AI Logic के ज़रिए.

  • अगर हाइब्रिड / उपयोगकर्ता के डिवाइस पर का इस्तेमाल किया जा रहा है, तो:

    • अगर उपयोगकर्ता की पुष्टि नहीं की गई है, तो यह सेटिंग, क्लाउड पर होस्ट किए गए मॉडल के अनुरोधों को ब्लॉक करती है.
    • उपयोगकर्ता की पुष्टि की स्थिति चाहे जो भी हो, यह सेटिंग, उपयोगकर्ता के डिवाइस पर मॉडल के अनुरोधों को ब्लॉक नहीं करती.
  • अगर Gemini Live API का इस्तेमाल किया जा रहा है, तो:

    • Firebase AI Logic का इस्तेमाल करतेFirebase AI Logic समय, यह सेटिंग ब्लॉक करती है वेब ऐप्लिकेशन के लिए Gemini Live API के इस्तेमाल को. भले ही, उपयोगकर्ता की पुष्टि की गई हो. इसमें, 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 कंसोल में, एआई सेवाएं > एआई लॉजिक > सेटिंग टैब पर जाएं.

    2. **पुष्टि किए गए उपयोगकर्ताओं का मोड** में जाकर, **पुष्टि किए गए उपयोगकर्ताओं का मोड लागू करें** के टॉगल को **लागू किया गया** पर स्लाइड करें.

    3. पुष्टि करने वाले डायलॉग की समीक्षा करें. इसके बाद, पुष्टि करें पर क्लिक करें.

पुष्टि किए गए उपयोगकर्ताओं के मोड को लागू करना बंद करना

पुष्टि किए गए उपयोगकर्ताओं के मोड को लागू करना बंद करने पर, इन बातों का ध्यान रखें:

  • Firebase AI Logic के ज़रिए भेजे गए उन अनुरोधों की अनुमति दी जाएगी जिनमें Firebase Authentication क्रेडेंशियल नहीं भेजे जाते.
  • यह सेटिंग, पूरे प्रोजेक्ट पर Firebase AI Logic के लिए लागू होती है.

अपने Firebase प्रोजेक्ट के लिए, पुष्टि किए गए उपयोगकर्ताओं के मोड को लागू करना बंद करने का तरीका यहां दिया गया है:

  1. Firebase कंसोल में, एआई सेवाएं > एआई लॉजिक > सेटिंग टैब पर जाएं.

  2. पुष्टि किए गए उपयोगकर्ताओं का मोड में जाकर, पुष्टि किए गए उपयोगकर्ताओं का मोड लागू करें को बंद करें.

  3. पुष्टि करने वाले डायलॉग की समीक्षा करें. इसके बाद, पुष्टि करें पर क्लिक करें.