जब किसी मोबाइल या वेब ऐप्लिकेशन से सीधे तौर पर किसी एपीआई को कॉल किया जाता है, तो एपीआई का गलत इस्तेमाल किया जा सकता है. उदाहरण के लिए, जनरेटिव एआई मॉडल को ऐक्सेस करने की अनुमति देने वाले एपीआई. इन एपीआई को सुरक्षित रखने के लिए, Firebase App Check का इस्तेमाल किया जा सकता है. इससे यह पुष्टि की जा सकती है कि एपीआई के सभी अनुरोध, आपके असली ऐप्लिकेशन से किए गए हैं.
Firebase AI Logic एक प्रॉक्सी गेटवे उपलब्ध कराता है. इसकी मदद से, Firebase App Check के साथ इंटिग्रेट किया जा सकता है. साथ ही, आपके मोबाइल और वेब ऐप्लिकेशन से कॉल किए गए जनरेटिव एआई मॉडल एपीआई को सुरक्षित रखा जा सकता है. Firebase AI Logic एसडीके के साथ App Check का इस्तेमाल करने पर, हमारे सभी कॉन्फ़िगरेशन काम करते हैं:
यह "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 ऐप्लिकेशन में App Check के साथ Firebase AI Logic का इस्तेमाल करते समय, आपको इंस्टैंटिएशन के दौरान App Check को साफ़ तौर पर पास करना होगा. जैसे:
// ...
final ai = await FirebaseAI.googleAI(
appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly
);
// ...
बेहतर सुरक्षा मोड की सुविधा के लिए तैयारी करना
|
हमारा सुझाव है कि एसडीके के नए वर्शन का इस्तेमाल करें. हालांकि, सीमित इस्तेमाल वाले टोकन की सुविधा चालू करने के लिए, पक्का करें कि इनमें से कम से कम एक वर्शन का इस्तेमाल किया जा रहा हो: Apple प्लैटफ़ॉर्म v12.2.0+ | Android BoM v34.14.0+ (App Check v19.1.0+) | Web v12.14.0+ | Flutter v4.15.0+ (App Check v4.10.0+) | Unity v13.12.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
// ... // During instantiation, enable usage of limited-use tokens final ai = await FirebaseAI.googleAI( appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly useLimitedUseAppCheckTokens: true, ); // ...Unity
// ... // During instantiation, enable usage of limited-use tokens var ai = FirebaseAI.GetInstance( useLimitedUseAppCheckTokens: true ); // ...
जानें कि Firebase AI Logic, App Check के साथ कैसे इंटिग्रेट होता है
Firebase AI Logic SDK टूल इस्तेमाल करने के लिए, आपके Firebase प्रोजेक्ट में Firebase AI Logic API (firebasevertexai.googleapis.com) चालू होना चाहिए. ऐसा इसलिए होता है, क्योंकि Firebase AI Logic SDK से किए गए अनुरोध सबसे पहले Firebase AI Logic सर्वर को भेजे जाते हैं. यह सर्वर, प्रॉक्सी गेटवे के तौर पर काम करता है. यहां अनुरोध को "Gemini API" सेवा देने वाली कंपनी के बैकएंड और Gemini और Imagen मॉडल को ऐक्सेस करने वाले एपीआई पर आगे बढ़ने की अनुमति मिलने से पहले, Firebase App Check पुष्टिFirebase App Check की जाती है.