Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

अपने Firebase ML iOS ऐप के क्लाउड क्रेडेंशियल्स को सुरक्षित रखें

यदि आपका iOS ऐप फायरबेस एमएल के क्लाउड एपीआई में से एक का उपयोग करता है, तो उत्पादन में अपना ऐप लॉन्च करने से पहले, आपको अनधिकृत एपीआई एक्सेस को रोकने के लिए कुछ अतिरिक्त कदम उठाने चाहिए।

1. मौजूदा एपीआई कुंजी के दायरे को कम करें

सबसे पहले, क्लाउड विजन एपीआई तक पहुंच को रोकने के लिए अपनी मौजूदा एपीआई कुंजियों को कॉन्फ़िगर करें:

  1. क्लाउड कंसोल का क्रेडेंशियल पेज खोलें। जब संकेत दिया जाए, तो अपने फायरबेस प्रोजेक्ट के समान नाम वाली परियोजना का चयन करें।

  2. सूची में प्रत्येक एपीआई कुंजी के लिए, संपादन दृश्य खोलें, और कुंजी प्रतिबंध अनुभाग में, सूची में क्लाउड विजन एपीआई को छोड़कर सभी उपलब्ध एपीआई जोड़ें।

    जब आप API कुंजी के API प्रतिबंधों को कॉन्फ़िगर करते हैं, तो आप स्पष्ट रूप से API को कुंजी अनुदानों तक पहुँच की घोषणा कर रहे हैं। डिफ़ॉल्ट रूप से, जब एपीआई प्रतिबंध अनुभाग खाली होता है, तो परियोजना के लिए सक्षम किसी भी एपीआई तक पहुंचने के लिए एपीआई कुंजी का उपयोग किया जा सकता है।

अब, आपकी मौजूदा API कुंजियाँ क्लाउड ML सेवाओं तक पहुँच प्रदान नहीं करेंगी, लेकिन वे आपके द्वारा सक्षम किसी भी API के लिए काम करना जारी रखेंगे, या जब आपने Firebase सेट किया था, तो यह स्वचालित रूप से सक्षम हो गया था।

ध्यान दें कि यदि आप भविष्य में किसी भी अतिरिक्त एपीआई को सक्षम करते हैं, तो आपको उन्हें एपीआई कुंजी के एपीआई प्रतिबंध सूची में भी जोड़ना होगा।

2. फायरबेस एमएल के साथ उपयोग के लिए एक नई एपीआई कुंजी बनाएं

इसके बाद, Firebase ML के लिए एक नई API कुंजी बनाएं जो केवल Cloud Vision API पर कॉल की अनुमति देता है:

  1. क्रेडेंशियल पेज पर लौटें। सुनिश्चित करें कि आपका फायरबेस प्रोजेक्ट अभी भी चयनित है।

  2. क्रेडेंशियल बनाएं> एपीआई कुंजी पर क्लिक करें । नई API कुंजी पर ध्यान दें और फिर प्रतिबंध कुंजी पर क्लिक करें

  3. कुंजी प्रतिबंध अनुभाग में, सूची में केवल क्लाउड विजन एपीआई जोड़ें।

यह एपीआई कुंजी केवल क्लाउड विज़न एपीआई तक ही पहुंचती है और क्लाउड-आधारित मॉडल तक पहुंचने के लिए फायरबेस एमएल द्वारा उपयोग किया जा सकता है।

किसी समझौता किए गए कुंजी के परिणामों को कम करने में मदद करने के लिए, आपको अपनी डिफ़ॉल्ट सेटिंग से Cloud Vision API के प्रति-उपयोगकर्ता कोटा को कम करना चाहिए। ऐसा करने के लिए:

  1. क्लाउड कंसोल के क्लाउड विजन एपीआई कोटा पृष्ठ खोलें। जब संकेत दिया जाए, तो अपने फायरबेस प्रोजेक्ट के समान नाम वाली परियोजना का चयन करें।

  2. अनुरोध अनुभाग में, आपके एप्लिकेशन के लिए उचित प्रति उपयोगकर्ता अनुरोध प्रति मिनट सेट करें। उदाहरण के लिए, यदि आपके ऐप में अपने पाठ को वापस पाने के लिए दस्तावेज़ की एक तस्वीर अपलोड करना शामिल है, तो यह संभावना नहीं है कि उपयोगकर्ता हर कुछ सेकंड में एक से अधिक बार ऐसा करेगा, इसलिए 30-40 का कोटा शायद सुरक्षित होगा।

    ध्यान दें कि इस संदर्भ में "प्रति उपयोगकर्ता अनुरोध" एक एकल आईपी पते से अनुरोधों को संदर्भित करता है। आपको इस पर विचार करने की आवश्यकता हो सकती है यदि आप एक ही समय में एक NAT से कई उपयोगकर्ताओं को अपने ऐप का उपयोग करने की उम्मीद करते हैं।

4. अपने फायरबेस एमएल एपीआई कुंजी का उपयोग करके क्लाउड एपीआई को कॉल करें

अंत में, अपने ऐप में, अपनी नई एपीआई कुंजी का उपयोग करने के लिए फायरबेस एमएल को कॉन्फ़िगर करें।

क्योंकि Firebase ML API कुंजी क्लाउड विजन API के लिए अनधिकृत पहुंच की अनुमति देता है, इसलिए आपके बिलिंग खाते के अनधिकृत उपयोग और शुल्क को रोकने के लिए महत्वपूर्ण गोपनीय रखना महत्वपूर्ण है। ऐसा करने के लिए, आपको अपने ऐप बाइनरी में अपनी एपीआई कुंजी को शामिल करने से बचना चाहिए। इसके बजाय, ऐप रनटाइम पर, सत्यापित करें कि एक ज्ञात अच्छा उपयोगकर्ता साइन इन है, और उसके बाद ही, किसी सर्वर से एपीआई कुंजी पुनर्प्राप्त करता है।

यहां तक ​​कि जब इन प्रथाओं का पालन किया जाता है, तो एपीआई कुंजी के लिए समझौता किया जाना संभव है। आपको एक समझौता किए गए कुंजी के परिणामों को कम करने में मदद करने के लिए कदम उठाने चाहिए, जैसे कि ऊपर वर्णित एपीआई के प्रति-उपयोगकर्ता कोटा को कम करना, कुंजी रोटेशन नीतियों को लागू करना और उपयोगकर्ताओं के विभिन्न समूहों को अलग-अलग कुंजी जारी करना।

जब आपके ऐप ने API कुंजी को सुरक्षित रूप से प्राप्त कर लिया है, तो जब आप फायरबेस एमएल क्लाउड एपीआई को कॉल करना चाहते हैं, तो कुंजी निर्दिष्ट करें:

तीव्र

 if let cloudVisionKey = getYourApiKey() {  // See note above about securing your API key
    let options = VisionCloudDetectorOptions()
    options.apiKeyOverride = cloudVisionKey
    let cloudDetector = Vision.vision().cloudLandmarkDetector(options: options)
}
 

उद्देश्य सी

 NSString *cloudVisionKey = [self getYourApiKey];  // See note above about securing your API key
if (cloudVisionKey != nil) {
    FIRVisionCloudDetectorOptions *options =
            [[FIRVisionCloudDetectorOptions alloc] init];
    options.APIKeyOverride = cloudVisionKey;
    FIRVisionCloudLandmarkDetector *landmarkDetector =
            [vision cloudLandmarkDetectorWithOptions:options];
}
 

इसके अलावा, आपको API कुंजी सुरक्षित करने में सामान्य सलाह का पालन करना चाहिए।

अगला कदम

अन्य फायरबेस सुविधाओं का उपयोग करते समय लॉन्च करने के लिए अपने ऐप को तैयार करने की जानकारी के लिए लॉन्च चेकलिस्ट देखें।