जब किसी मोबाइल या वेब ऐप्लिकेशन से सीधे तौर पर किसी एपीआई को कॉल किया जाता है, तो एपीआई का गलत इस्तेमाल किया जा सकता है. उदाहरण के लिए, जनरेटिव एआई मॉडल को ऐक्सेस करने की अनुमति देने वाले एपीआई. ऐसा उन क्लाइंट की वजह से हो सकता है जिनके पास एपीआई को कॉल करने की अनुमति नहीं है. इन एपीआई को सुरक्षित रखने के लिए, Firebase App Check का इस्तेमाल किया जा सकता है. इससे यह पुष्टि की जा सकती है कि एपीआई कॉल, आपके ऐप्लिकेशन से किए गए हैं.
Firebase AI Logic एक प्रॉक्सी गेटवे उपलब्ध कराता है. इसकी मदद से, Firebase App Check के साथ इंटिग्रेट किया जा सकता है. साथ ही, आपके मोबाइल और वेब ऐप्लिकेशन से कॉल किए गए जनरेटिव एआई मॉडल एपीआई को सुरक्षित रखा जा सकता है. App Check के साथ Firebase AI Logic SDK टूल का इस्तेमाल करने पर, हमारे सभी कॉन्फ़िगरेशन काम करते हैं:
यह "Gemini API" की सुविधा देने वाली दोनों कंपनियों: Gemini Developer API और Vertex AI Gemini API के डेटा की सुरक्षा करता है.
यह सुविधा, Gemini और Imagen, दोनों तरह के मॉडल के साथ काम करती है.
App Check के काम करने के तरीके के बारे में खास जानकारी
App Check की मदद से, आपके ऐप्लिकेशन का इस्तेमाल करने वाले डिवाइस, ऐप्लिकेशन या डिवाइस की पुष्टि करने वाली सेवा का इस्तेमाल करते हैं. यह सेवा, इनमें से किसी एक या दोनों की पुष्टि करती है:
- अनुरोध आपके भरोसेमंद ऐप्लिकेशन से किए गए हों
- अनुरोध, किसी ऐसे डिवाइस से किए गए हों जिसमें कोई बदलाव न किया गया हो
यह पुष्टि, आपके ऐप्लिकेशन की ओर से Firebase AI Logic एसडीके का इस्तेमाल करके किए गए हर अनुरोध से जुड़ी होती है. App Check लागू करने पर, बिना मान्य पुष्टि वाले क्लाइंट के अनुरोध अस्वीकार कर दिए जाएंगे. साथ ही, ऐसे ऐप्लिकेशन या प्लैटफ़ॉर्म से किए गए अनुरोध भी अस्वीकार कर दिए जाएंगे जिन्हें आपने अनुमति नहीं दी है.
हमारा सुझाव है कि App Check सेट अप करते समय, बेहतर सुरक्षा की आने वाली सुविधा के लिए तैयारी करें. इस सुविधा को रिप्ले सुरक्षा के नाम से जाना जाता है.
App Check के बारे में ज़्यादा जानकारी इसके दस्तावेज़ में देखी जा सकती है. इसमें कोटा और सीमाएं भी शामिल हैं.
उपलब्ध प्रोवाइडर और लागू करने के निर्देश
App Check दस्तावेज़ में, पुष्टि करने वाली कंपनियों के बारे में जानकारी दी गई है. साथ ही, इसे लागू करने के निर्देश भी दिए गए हैं.
डिफ़ॉल्ट सेवा देने वाली कंपनी चुनें. इसके बाद, यहां दिए गए लिंक पर जाकर, लागू करने से जुड़े निर्देशों का पालन करें:
- Apple प्लैटफ़ॉर्म: DeviceCheck या App Attest
- Android: Play Integrity
- वेब: reCAPTCHA Enterprise
- Flutter: ऊपर दिए गए सभी डिफ़ॉल्ट प्रोवाइडर के साथ काम करता है
साथ ही, पक्का करें कि आपने Flutter और App Check के लिए, खास इंस्टैंटिएशन से जुड़ी ज़रूरी शर्तों का पालन किया हो. - Unity: यह ऊपर दिए गए सभी डिफ़ॉल्ट प्रोवाइडर के साथ काम करता है
ध्यान दें कि अगर डिफ़ॉल्ट रूप से उपलब्ध कोई भी प्रोवाइडर आपकी ज़रूरतों को पूरा नहीं करता है, तो कस्टम प्रोवाइडर लागू किया जा सकता है. यह तीसरे पक्ष के अटेस्टेशन प्रोवाइडर या आपकी खुद की अटेस्टेशन तकनीकों का इस्तेमाल करता है.
(सुझाया गया) App Check से मिलने वाली बेहतर सुरक्षा के लिए तैयारी करें (इसे रिप्ले सुरक्षा के नाम से जाना जाता है).
(ज़रूरी है) असल उपयोगकर्ताओं के लिए अपना ऐप्लिकेशन रिलीज़ करने से पहले, App Check को लागू करने की सुविधा चालू करें.
Flutter के लिए खास इंस्टैंटिएशन ज़रूरी है
इस पेज पर, Gemini API उपलब्ध कराने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, उस कंपनी पर क्लिक करें. |
Flutter ऐप्लिकेशन में Firebase AI Logic के साथ App Check का इस्तेमाल करते समय, आपको इंस्टैंटिएशन के दौरान App Check को साफ़ तौर पर पास करना होगा. जैसे:
// ...
final ai = await FirebaseAI.googleAI(
appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly
);
// ...
बेहतर सुरक्षा मोड के लिए तैयारी करना
फ़िलहाल, सीमित इस्तेमाल वाले टोकन का इस्तेमाल सिर्फ़ Apple प्लैटफ़ॉर्म (v12.2.0+), Android (v17.2.0+, BoM v34.2.0+) और वेब (v12.3.0+) के लिए उपलब्ध है. अन्य प्लैटफ़ॉर्म के लिए यह सुविधा, अगले कुछ हफ़्तों में उपलब्ध होगी. |
डिफ़ॉल्ट रूप से, App Check सेशन टोकन का इस्तेमाल करता है. इनके लिए, टाइम टू लिव (टीटीएल) को कॉन्फ़िगर किया जा सकता है. यह
आने वाले समय में, App Check, Firebase AI Logic के लिए रीप्ले सुरक्षा चालू करने का विकल्प जोड़ेगा. यह सुविधा, App Check की ओर से पहले से ही कुछ अन्य संसाधनों के लिए उपलब्ध कराई जा रही है. रिप्ले सुरक्षा की सुविधा चालू होने पर, सुरक्षा को इन तरीकों से बेहतर बनाया जाता है:
App Check सिर्फ़ उन अनुरोधों को अनुमति देगा जिनके साथ खास तरह का टोकन मौजूद हो. इसे सीमित इस्तेमाल वाला टोकन कहा जाता है.
सीमित तौर पर इस्तेमाल किए जाने वाले टोकन की पुष्टि हो जाने के बाद, टोकन का इस्तेमाल कर लिया जाता है, ताकि इसका इस्तेमाल सिर्फ़ एक बार किया जा सके. इससे, मान्य डेटा को सर्वर के साथ फिर से शेयर करके किए जाने वाले हमलों को रोका जा सकता है.
हमारा सुझाव है कि रीप्ले सुरक्षा की सुविधा सेट अप करने के लिए, सीमित इस्तेमाल वाले टोकन इस्तेमाल करने की सुविधा चालू करें. ऐसा App Check सेट अप करने के दौरान करें. इस तरह, जब रीप्ले सुरक्षा की सुविधा उपलब्ध हो जाएगी, तब इसे जल्द ही चालू किया जा सकेगा. ऐसा इसलिए, क्योंकि आपके ज़्यादातर उपयोगकर्ता, ऐप्लिकेशन के उन वर्शन का इस्तेमाल कर रहे होंगे जो सीमित इस्तेमाल वाले टोकन भेजते हैं.
अगर आपने अब अपने ऐप्लिकेशन में सीमित इस्तेमाल वाले टोकन इस्तेमाल करने की सुविधा चालू की है, तो इन बातों का ध्यान रखें (जब रीप्ले प्रोटेक्शन की सुविधा उपलब्ध नहीं है):
App Check, मान्य सेशन टोकन के इस्तेमाल को ब्लॉक नहीं करता.
सत्र टोकन की तरह ही, सीमित इस्तेमाल वाले टोकन को App Check SDK कैश मेमोरी में सेव करता है और अनुरोधों के साथ भेजता है. ये सीमित इस्तेमाल वाले टोकन, डिफ़ॉल्ट सेशन टोकन की तुलना में थोड़ी ज़्यादा सुरक्षा देते हैं. ऐसा इसलिए, क्योंकि सीमित इस्तेमाल वाले टोकन का टीटीएल, सेशन टोकन की तुलना में कम होता है. यह सिर्फ़
पांच मिनट होता है और इसे अडजस्ट नहीं किया जा सकता.हालांकि, सीमित तौर पर इस्तेमाल किए जाने वाले टोकन
पांच मिनट के लिए मान्य होते हैं, लेकिन एसडीके हर अनुरोध के लिए एक नया टोकन जनरेट करेगा. इस प्रोसेस की वजह से, आपके अनुरोध को पूरा होने में कुछ समय लग सकता है.
हालांकि, आने वाले समय में अगर Firebase AI Logic के लिए रीप्ले सुरक्षा की सुविधा उपलब्ध होती है और आपने इसे चालू किया है, तो सेशन टोकन का इस्तेमाल नहीं किया जा सकेगा. साथ ही, सीमित इस्तेमाल वाले टोकन का फिर से इस्तेमाल नहीं किया जा सकेगा. ध्यान दें कि हर अनुरोध के लिए नया टोकन जनरेट करने में लगने वाला अतिरिक्त समय अब भी लगेगा.
सीमित तौर पर इस्तेमाल किए जाने वाले टोकन के इस्तेमाल की सुविधा चालू करना
इस पेज पर, Gemini API उपलब्ध कराने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, उस कंपनी पर क्लिक करें. |
सीमित तौर पर इस्तेमाल किए जाने वाले टोकन के इस्तेमाल की सुविधा चालू करने का तरीका यहां बताया गया है:
App Check लागू करें. साथ ही, पक्का करें कि आपने अपने ऐप्लिकेशन के लिए, App Check लागू करने की सुविधा चालू की हो.
इंस्टैंटिएशन के दौरान अपने ऐप्लिकेशन में, सीमित इस्तेमाल वाले टोकन के इस्तेमाल की सुविधा चालू करें. इसके लिए,
useLimitedUseAppCheckTokens
पैरामीटर कोtrue
पर सेट करें:Swift
// ... // During instantiation, enable usage of limited-use tokens let ai = FirebaseAI.firebaseAI( backend: .googleAI(), useLimitedUseAppCheckTokens: true ) // ...
Kotlin
// ... // During instantiation, enable usage of limited-use tokens val ai = Firebase.ai( backend = GenerativeBackend.googleAI(), useLimitedUseAppCheckTokens = true ) // ...
Java
// ... // During instantiation, enable usage of limited-use tokens FirebaseAI ai = FirebaseAI.getInstance( /* backend: */ GenerativeBackend.googleAI(), /* useLimitedUseAppCheckTokens: */ true ); // ...
Web
// ... // During instantiation, enable usage of limited-use tokens const ai = getAI(firebaseApp, { backend: new GoogleAIBackend(), useLimitedUseAppCheckTokens: true }); // ...
Dart
आने वाली रिलीज़ में, Flutter ऐप्लिकेशन के साथ सीमित इस्तेमाल वाले टोकन का इस्तेमाल किया जा सकेगा. जल्द ही वापस जाँचें!
Unity
Unity गेम के साथ सीमित इस्तेमाल वाले टोकन का इस्तेमाल करने की सुविधा, आने वाले समय में उपलब्ध होगी. जल्द ही वापस जाँचें!
जानें कि Firebase AI Logic, App Check के साथ कैसे इंटिग्रेट होता है
Firebase AI Logic SDK टूल इस्तेमाल करने के लिए, आपके Firebase प्रोजेक्ट में Firebase AI Logic API (firebasevertexai.googleapis.com
) चालू होना चाहिए. ऐसा इसलिए होता है, क्योंकि Firebase AI Logic SDK से किए गए अनुरोध सबसे पहले Firebase AI Logic सर्वर को भेजे जाते हैं. यह सर्वर, प्रॉक्सी गेटवे के तौर पर काम करता है. यहां Firebase App Check पुष्टि की जाती है. इसके बाद ही, अनुरोध को "Gemini API" सेवा देने वाली कंपनी के बैकएंड और Gemini और Imagen मॉडल को ऐक्सेस करने वाले एपीआई को आगे बढ़ने की अनुमति दी जाती है.