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

अपने Firebase प्रोजेक्ट के लिए, पुष्टि किए गए उपयोगकर्ताओं के लिए मोड लागू किया जा सकता है. लागू होने पर, Firebase AI Logic के ज़रिए किए गए सभी Gemini API अनुरोध, आपके ऐप्लिकेशन के पुष्टि किए गए उपयोगकर्ताओं से आने चाहिए. खास तौर पर, आपके ऐप्लिकेशन के असली उपयोगकर्ता की पुष्टि Firebase Authentication का इस्तेमाल करके की जानी चाहिए. इसके बाद ही, वह आपके ऐप्लिकेशन से Firebase AI Logic को अनुरोध भेज सकता है. अगर असली उपयोगकर्ता की पुष्टि नहीं की गई है, तो अनुरोध को ब्लॉक कर दिया जाता है.

अनुरोध ब्लॉक होने पर, जवाब में 401: unauthenticated गड़बड़ी दिखेगी.

ज़रूरी बातें

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

'पुष्टि किए गए उपयोगकर्ता' मोड लागू होने पर

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

  • यह सेटिंग, Firebase AI Logic के लिए पूरे प्रोजेक्ट पर लागू होती है.

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

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

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

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

    • यह सेटिंग, Firebase AI Logic का इस्तेमाल करने पर वेब ऐप्लिकेशन के लिए Gemini Live API के इस्तेमाल को ब्लॉक कर देती है. भले ही, उपयोगकर्ताओं की पुष्टि हो चुकी हो. इसमें Firebase JS SDK या Flutter वेब ऐप्लिकेशन का इस्तेमाल करने वाले वेब ऐप्लिकेशन शामिल हैं.
  • अगर Firebase AI Logic REST API का इस्तेमाल किया जा रहा है, तो:

    • यह सेटिंग, अनुमान लगाने के उन अनुरोधों को ब्लॉक करती है जो Firebase Authentication क्रेडेंशियल नहीं भेजते. इसमें templateGenerateContent या templateStreamGenerateContent जैसे सर्वर प्रॉम्प्ट टेंप्लेट के अनुरोध शामिल हैं.
    • यह सेटिंग, कंट्रोल-प्लेन के अनुरोधों को ब्लॉक नहीं करती. जैसे, टेंप्लेट और कॉन्फ़िगरेशन को मैनेज करने के अनुरोध. ऐसा इसलिए होता है, क्योंकि उन्हें आईएएम से सुरक्षित किया जाता है.
  • यह सेटिंग, 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 AI Logic को भेजे जाने वाले हर अनुरोध में, पुष्टि किए गए उपयोगकर्ता के लिए Firebase Authentication क्रेडेंशियल अपने-आप भेज देगा.

पुष्टि करने की सेवा देने वाली कुछ कंपनियों के बारे में यहां दी गई जानकारी पर ध्यान दें:

  • कस्टम ऑथराइज़ेशन: आपको Firebase AI Logic को अनुरोध के साथ भेजने के लिए, हस्ताक्षर किया गया ऑथराइज़ेशन टोकन फ़ेच करना होगा. ज़्यादा जानकारी के लिए, कस्टम ऑथेंटिकेशन देखें.

  • बिना नाम बताए या ईमेल/पासवर्ड से पुष्टि करने के तरीके: इन उपयोगकर्ताओं को पुष्टि किए गए उपयोगकर्ता माना जाता है. इसलिए, Firebase AI Logic के लिए उनके अनुरोधों को ब्लॉक नहीं किया जाता.

    ध्यान दें कि भले ही, बिना नाम बताए और ईमेल/पासवर्ड से पुष्टि करने के तरीकों के लिए, उपयोगकर्ताओं को Firebase Authentication क्रेडेंशियल बनाने के लिए आपके ऐप्लिकेशन पर जाना पड़ता है, लेकिन ये पुष्टि करने के मज़बूत तरीके नहीं हैं (खास तौर पर, पैसे चुकाकर इस्तेमाल किए जाने वाले संसाधन की सुरक्षा के लिए). ऐसा इसलिए है, क्योंकि इनमें डिफ़ॉल्ट रूप से उपयोगकर्ता की पहचान की पुष्टि करने की ज़रूरत नहीं होती. अगर आपका ऐप्लिकेशन, पुष्टि करने के इन तरीकों के डिफ़ॉल्ट सेटअप का इस्तेमाल करता है, तो हो सकता है कि पुष्टि किए गए उपयोगकर्ताओं के मोड को लागू करने के बाद भी, कम सुरक्षा मिले. पक्का करें कि आपने Firebase App Check को भी लागू किया हो.

पुष्टि किए गए उपयोगकर्ताओं के मोड की सेटिंग मैनेज करना

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

ज़रूरी IAM अनुमतियां और भूमिकाएं

पुष्टि किए गए उपयोगकर्ताओं के मोड की सेटिंग को मैनेज करने के लिए, आपके पास firebasevertexai.configs.update अनुमति होनी चाहिए. यह अनुमति, आईएएम की इन भूमिकाओं में डिफ़ॉल्ट रूप से शामिल होती है: मालिक, एडिटर, 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. पुष्टि करने वाले डायलॉग बॉक्स को देखें. इसके बाद, पुष्टि करें पर क्लिक करें.