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

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