अपने फायरबेस एमएल ऐप्पल ऐप के क्लाउड क्रेडेंशियल्स को सुरक्षित रखें

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

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

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

  1. Google क्लाउड कंसोल का क्रेडेंशियल पृष्ठ खोलें। संकेत मिलने पर, अपना प्रोजेक्ट चुनें.

  2. सूची में प्रत्येक मौजूदा एपीआई कुंजी के लिए, संपादन दृश्य खोलें।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

तीव्र

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];
}

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

अगले कदम

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