एपीआई सुरक्षा के सबसे सही तरीके

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

एपीआई कुंजी की ज़रूरत उन ऐप्लिकेशन और प्रोजेक्ट के लिए होती है जो Google Maps Platform API और SDK टूल का इस्तेमाल करते हैं. ज़्यादा से ज़्यादा सुरक्षा और कम से कम मेहनत करने के लिए, अपनी एपीआई कुंजियां बनाते समय उन्हें सुरक्षित रखें.

हालांकि, एपीआई कुंजियां बनाने और इस्तेमाल करने के बाद उन्हें सुरक्षित रखा जा सकता है, लेकिन कुंजी के इस्तेमाल के आधार पर अलग-अलग कंस्ट्रेंट हो सकते हैं. मोबाइल ऐप्लिकेशन (Android और iOS) में कुंजी अपडेट करना या उन्हें बदलना सबसे ज़्यादा मुश्किल है, क्योंकि सभी कुंजियां तब तक नहीं बदली जाएंगी, जब तक सभी ग्राहक अपने ऐप्लिकेशन अपडेट नहीं कर लेते. JavaScript या वेब सेवा ऐप्लिकेशन में कुंजियों को अपडेट करने या बदलने की प्रक्रिया ज़्यादा आसान होती है, लेकिन इन कुंजियों को अपडेट करने या बदलने के लिए अब भी सावधानी से काम करने और तेज़ी से काम करने की ज़रूरत पड़ सकती है.

Google Maps Platform के अलग-अलग प्रॉडक्ट पर लागू होने वाले सुरक्षा के तरीकों के बारे में ज़्यादा जानकारी सेक्शन में जानकारी दी गई है. जैसे, Maps JavaScript एपीआई.

एपीआई कुंजियों पर पाबंदी लगाना

पहली बार अपनी एपीआई कुंजियां बनाते समय, उन पर ऐप्लिकेशन की पाबंदी और एक या एक से ज़्यादा एपीआई से जुड़ी पाबंदियां लगाएं.

  • ऐप्लिकेशन पाबंदियों से किसी खास प्लैटफ़ॉर्म (Android या iOS) या खास साइटों (सार्वजनिक आईपी पता और वेब साइट) पर एपीआई कुंजी के इस्तेमाल को सीमित किया जाता है. किसी भी एपीआई कुंजी को सिर्फ़ एक तरह की ऐप्लिकेशन पाबंदी में जोड़ा जा सकता है.

  • एपीआई की पाबंदियां, एक या उससे ज़्यादा Google Maps Platform API या SDK टूल पर एपीआई कुंजियों के इस्तेमाल को सीमित करती हैं. सिर्फ़ एपीआई कुंजी से जुड़े एपीआई या SDK टूल का इस्तेमाल करने के अनुरोध प्रोसेस किए जाएंगे. किसी भी एपीआई कुंजी के लिए, ज़रूरत के हिसाब से एपीआई से जुड़ी कई पाबंदियां तय की जा सकती हैं.

अगर आपने अपनी एपीआई कुंजी बनाते समय सुरक्षित नहीं किया था, तो अन्य एपीआई कुंजियां बनाएं और उन पर पाबंदी लगाएं. इसके बाद, अपने सभी ऐप्लिकेशन को नई एपीआई कुंजियों की मदद से अपडेट करें. हालांकि, हर ऐप्लिकेशन के लिए एक कुंजी देना अच्छा रहता है, लेकिन कई ऐप्लिकेशन पर पाबंदी वाली कुंजियों का इस्तेमाल किया जा सकता है. हालांकि, ऐसा तब ही हो सकता है, जब अलग-अलग तरह के ऐप्लिकेशन पर पाबंदी लागू हो.

अगर एपीआई कुंजियां बनाने के बाद ही उन्हें सीमित किया जाता है, तो एपीआई कुंजी के इस्तेमाल की जांच करके पक्का करें कि पाबंदियों से आपके किसी मौजूदा ऐप्लिकेशन पर असर न पड़े.

  1. Google Cloud Console के मेट्रिक पेज पर जाएं.

  2. फ़िल्टर दिखाएं चुनें.

  3. इसके मुताबिक ग्रुप में से, क्रेडेंशियल चुनें. आपको यह दिखेगा कि एपीआई की किन कुंजियों का इस्तेमाल Google की किन सेवाओं के लिए किया जाता है.

  4. क्रेडेंशियल पर क्लिक करें.

  5. सभी क्रेडेंशियल से चुने हुए का निशान हटाएं.

  6. दिखाई गई हर कुंजी के लिए, कुंजी चुनें और ठीक है पर क्लिक करें.

  7. इसके मुताबिक समूह में से एपीआई चुनें. आपको दिखेगा कि कुंजी पर कौनसे एपीआई प्रतिबंध लागू होंगे.

    इसके हिसाब से ग्रुप किया गया से एपीआई का तरीका चुनने से, आपको इस बात का अंदाज़ा लग सकता है कि ऐप्लिकेशन की पाबंदी के लिए, किस तरह की पाबंदी सबसे सही होगी.

एपीआई कुंजी के लिए ऐप्लिकेशन पर पाबंदी लगाना

  1. क्रेडेंशियल पेज पर जाएं.
  2. वह एपीआई कुंजी चुनें जिस पर आप पाबंदी लगाना चाहते हैं. इसके बाद, एपीआई कुंजी की प्रॉपर्टी वाला पेज दिखेगा.

  3. मुख्य पाबंदियां में जाकर, ऐप्लिकेशन पर पाबंदियां चुनें.

    पाबंदी के प्रकारों में से कोई एक चुनें और पाबंदी सूची के बाद मांगी गई जानकारी दें.

    पाबंदी किस तरह की है जानकारी
    एचटीटीपी रेफ़रर एक या ज़्यादा रेफ़रर वेबसाइटों के बारे में बताएं. वाइल्डकार्ड वर्ण सभी सबडोमेन को अनुमति देने के लिए मान्य हैं (उदाहरण के लिए, *.google.com .google.com से खत्म होने वाली सभी साइटों को स्वीकार करता है). https:// और http:// को जैसा है वैसा ही बताएं. आपको अन्य तरह के रेफ़रर यूआरएल प्रोटोकॉल के लिए एक खास प्रज़ेंटेशन का इस्तेमाल करना होगा. उदाहरण के लिए, file:///path/to/ को __file_url__//path/to/* के तौर पर फ़ॉर्मैट करें. रेफ़रर को चालू करने के बाद, इस्तेमाल पर नज़र रखें और पक्का करें कि यह आपकी उम्मीदों से मेल खाता हो. ये रेफ़रर प्रोटोकॉल यहां काम करते हैं: about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://.
    आईपी पते सीआईडीआर नोटेशन का इस्तेमाल करके, IPv4 या IPv6 पता या सबनेट डालें. वेब सर्विस के वेब सेवा का अनुरोध करने के लिए, एपीआई कुंजी की पाबंदी से बाहरी आईपी पते की तुलना की जाती है. इसलिए, सर्वर के सार्वजनिक आईपी पते का इस्तेमाल करें.
    Android ऐप्लिकेशन AndroidManifest.xml फ़ाइल से अपने SHA-1 साइनिंग सर्टिफ़िकेट का फ़िंगरप्रिंट और Android पैकेज का नाम जोड़ें.
    iOS ऐप्लिकेशन अलग-अलग तरह के विकल्पों के नीचे, सूची से सही iOS बंडल आइडेंटिफ़ायर चुनें.
  4. सेव करें को चुनें.

एपीआई कुंजी के लिए एपीआई से जुड़ी पाबंदी सेट करना

  1. क्रेडेंशियल पेज पर जाएं.

  2. वह एपीआई कुंजी चुनें जिस पर पाबंदी लगाना है. एपीआई कुंजी को प्रतिबंधित करें और उसका नाम बदलें पेज दिखेगा.

  3. एपीआई से जुड़ी पाबंदियां में जाकर:

    • कुंजी पर पाबंदी लगाएं पर क्लिक करें.

    • एपीआई चुनें ड्रॉप-डाउन पर क्लिक करें और उन एपीआई या SDK टूल को चुनें जिन्हें आप एपीआई कुंजी का इस्तेमाल करके ऐक्सेस करना चाहते हैं.

      (अगर किसी एपीआई या SDK टूल का नाम सूची में नहीं है, तो आपको उसे चालू करना होगा.)

  4. सेव करें पर क्लिक करें.

    यह चरण लागू होने के बाद, एपीआई कुंजी की परिभाषा का हिस्सा बन जाता है. अगर आप सही जानकारी नहीं दे पाते हैं या “सेव करें” पर क्लिक नहीं करते, तो एपीआई कुंजी पर पाबंदी नहीं लगाई जाएगी. (ज़्यादा जानकारी के लिए, जिस एपीआई या SDK टूल में आपकी दिलचस्पी है उसके लिए, एपीआई कुंजी पाएं गाइड देखें.

इस्तेमाल न की गई एपीआई कुंजियां मिटाएं

एपीआई कुंजी मिटाने से पहले, पक्का करें कि उसका इस्तेमाल प्रोडक्शन में न किया गया हो. अगर पूरा ट्रैफ़िक नहीं है, तो हो सकता है कि कुंजी मिटा दी जाए.

कोई एपीआई कुंजी मिटाने के लिए:

  1. क्रेडेंशियल पेज पर जाएं.

  2. वह एपीआई कुंजी चुनें जिसे आप मिटाना चाहते हैं.

  3. पेज के सबसे ऊपरी हिस्से के पास मौजूद, मिटाएं बटन को चुनें.

  4. क्रेडेंशियल मिटाएं डायलॉग दिखने पर, मिटाएं चुनें.

    किसी एपीआई कुंजी को मिटाने में कुछ मिनट लग सकते हैं. लागू होने के बाद, मिटाई गई एपीआई कुंजी का इस्तेमाल करने वाले ट्रैफ़िक को अस्वीकार कर दिया जाएगा.

एपीआई की सुरक्षा के दूसरे तरीके

एपीआई कुंजियां जनरेट करते समय सावधानी बरतें

फिर से एपीआई कुंजी जनरेट करने पर, एक नई कुंजी बन जाती है. साथ ही, उस पर सभी पुरानी पाबंदियां लागू हो जाती हैं. इससे पुरानी एपीआई कुंजी को बंद करने के लिए, 24 घंटे का टाइमर भी शुरू हो जाता है.

इस दौरान, पुरानी और नई, दोनों कुंजियां स्वीकार की जाती हैं. इससे, नई कुंजी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन माइग्रेट करें. हालांकि, इस अवधि के खत्म होने के बाद भी, पुराने एपीआई कुंजी का इस्तेमाल करने वाले सभी ऐप्लिकेशन काम करना बंद कर देंगे.

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

  2. पिछली कुंजी पर वापस जाएं चुनें.

  3. वापस लाएं डायलॉग में, वापस लाएं पर क्लिक करें.

वापस रोल आउट करने पर, कुंजी का पुराना "नया" वर्शन, पिछला वर्शन बन जाता है और 24 घंटे के लिए बंद करने वाला एक नया टाइमर सेट हो जाता है. जब तक आप कुंजी को फिर से जनरेट नहीं करते, तब तक इन दो मुख्य वैल्यू के बीच बदलाव किया जा सकता है.

यह दूसरी बार फिर से जनरेट करने की प्रक्रिया, पुरानी कुंजी की वैल्यू को बदल देती है.

एपीआई के इस्तेमाल से जुड़ी जानकारी को मॉनिटर करें

अपनी एपीआई कुंजी के इस्तेमाल की जांच करने के लिए:

  1. मेट्रिक पेज पर जाएं.

  2. फ़िल्टर दिखाएं पर क्लिक करें.

  3. इसके मुताबिक समूह में से, एपीआई का तरीका चुनें.

  4. इस कुंजी के बारे में कोई भी सफल अनुरोध देखने के लिए, रिस्पॉन्स कोड में जाकर 2xx चुनें.

अगर आपको बिना अनुमति के इस्तेमाल का पता चलता है, तो ये काम करें:

  1. अपनी कुंजियां प्रतिबंधित करें.

    अगर कई ऐप्लिकेशन में एक ही कुंजी का इस्तेमाल किया गया है, तो कई एपीआई कुंजियों पर माइग्रेट करें. हो सकता है कि आप हर ऐप्लिकेशन के लिए अलग-अलग एपीआई कुंजी का इस्तेमाल करें.

  2. अगर अनुमति के बिना इस्तेमाल जारी रहता है, तो प्रभावित कुंजियों को फिर से जनरेट करें या मिटाएं.

  3. सहायता टीम से संपर्क करना.

हर ऐप्लिकेशन के लिए अलग-अलग एपीआई कुंजी का इस्तेमाल करना

इससे हर कुंजी का दायरा सीमित हो जाता है. अगर किसी एपीआई कुंजी से छेड़छाड़ की जाती है, तो अन्य एपीआई कुंजियों को अपडेट किए बिना ही, आप कुंजी मिटा सकते हैं या उस कुंजी को फिर से जनरेट कर सकते हैं.

कई एपीआई कुंजियों पर माइग्रेट करना

कई ऐप्लिकेशन के लिए एक एपीआई कुंजी का इस्तेमाल करने और हर ऐप्लिकेशन के लिए एक ही एपीआई कुंजी का इस्तेमाल करने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. यह पता लगाएं कि किन ऐप्लिकेशन के लिए नई कुंजियों की ज़रूरत होगी.

    • वेब ऐप्लिकेशन को अपडेट करना सबसे आसान है, क्योंकि आप पूरे कोड को कंट्रोल करते हैं. अपने सभी वेब-आधारित ऐप्लिकेशन की कुंजियों को अपडेट करने की योजना बनाएं.
    • मोबाइल ऐप्लिकेशन काफ़ी मुश्किल होते हैं, क्योंकि नई कुंजियों का इस्तेमाल करने से पहले, आपके ग्राहकों को अपने ऐप्लिकेशन अपडेट करने पड़ते हैं.
  2. नई कुंजियां बनाएं और उन पर पाबंदी लगाएं.

    • ऐप्लिकेशन पाबंदी और कम से कम एक एपीआई पाबंदी, दोनों जोड़ें.
  3. अपने अलग-अलग ऐप्लिकेशन में नई कुंजियां जोड़ें.

    • मोबाइल ऐप्लिकेशन के लिए, इस प्रोसेस में आपके सभी उपयोगकर्ताओं को नई एपीआई कुंजी का इस्तेमाल करके, नए ऐप्लिकेशन पर अपडेट होने में कई महीने लग सकते हैं.

Maps वेब सेवा एपीआई या स्टैटिक वेब एपीआई ऐप्लिकेशन की सुरक्षा के तरीके

  • अपने ऐप्लिकेशन के सोर्स कोड के बाहर, एपीआई कुंजियां और साइनिंग सीक्रेट स्टोर करना. अगर आप अपनी एपीआई कुंजियां या कोई दूसरी निजी जानकारी एनवायरमेंट वैरिएबल में रखते हैं या अपना कोड शेयर करने के बाद शामिल करते हैं, तो शेयर की गई फ़ाइलों में एपीआई कुंजियां या हस्ताक्षर सीक्रेट शामिल नहीं किए जाएंगे.

  • अपने ऐप्लिकेशन के सोर्स ट्री के बाहर फ़ाइलों में एपीआई कुंजियां या साइनिंग सीक्रेट सेव करें. अगर आप फ़ाइलों में API कुंजियां या कोई दूसरी निजी जानकारी सेव करते हैं, तो अपनी कुंजियों को अपने सोर्स कोड कंट्रोल सिस्टम से बाहर रखने के लिए फ़ाइलों को अपने ऐप्लिकेशन के स्रोत ट्री के बाहर रखें. यह खास तौर पर अहम है, अगर आप GitHub जैसे सार्वजनिक सोर्स कोड मैनेजमेंट सिस्टम का इस्तेमाल करते हैं.

वेब सर्विस एपीआई या स्टैटिक वेब एपीआई के मोबाइल ऐप्लिकेशन की सुरक्षा से जुड़े तरीके

ज़्यादा जानकारी

इन टेबल में, Google Maps Platform API, SDK टूल या सेवा के लिए ज़रूरी एपीआई कुंजी की पाबंदियों और एपीआई सुरक्षा से जुड़े सबसे सही तरीकों की जानकारी दी गई है.

Maps JavaScript, एम्बेड या स्टैटिक एपीआई वाली वेबसाइटें

एपीआई/SDK टूल/सेवा ऐप्लिकेशन पर पाबंदी (1) एपीआई से जुड़ी पाबंदियां (1) सबसे सही तरीके
Maps JavaScript एपीआई (2) एचटीटीपी रेफ़रर पर पाबंदी Maps JavaScript एपीआई
निर्देश सेवा, Maps JavaScript एपीआई एचटीटीपी रेफ़रर पर पाबंदी निर्देश से जुड़ा एपीआई, Maps JavaScript एपीआई
दूरी की मैट्रिक्स सेवा, Maps JavaScript एपीआई एचटीटीपी रेफ़रर पर पाबंदी दूरी का मैट्रिक्स एपीआई, Maps JavaScript एपीआई
एलिवेशन सर्विस, Maps JavaScript एपीआई एचटीटीपी रेफ़रर पर पाबंदी ऊंचाई से जुड़ा एपीआई, Maps JavaScript एपीआई
जियोकोडिंग सेवा, Maps JavaScript एपीआई एचटीटीपी रेफ़रर पर पाबंदी जियोकोडिंग एपीआई, Maps JavaScript एपीआई
जगह लाइब्रेरी, Maps JavaScript एपीआई एचटीटीपी रेफ़रर पर पाबंदी Places API, Maps JavaScript एपीआई
Maps एंबेड एपीआई एचटीटीपी रेफ़रर पर पाबंदी Maps एंबेड एपीआई
Maps स्टैटिक एपीआई एचटीटीपी रेफ़रर पर पाबंदी Maps स्टैटिक एपीआई
Street View स्टैटिक एपीआई एचटीटीपी रेफ़रर पर पाबंदी Street View Static API

वेब सेवाओं का इस्तेमाल करने वाले ऐप्लिकेशन और सर्वर

एपीआई/SDK टूल/सेवा ऐप्लिकेशन पर पाबंदी (1) एपीआई से जुड़ी पाबंदियां (1) सबसे सही तरीके
पते की पुष्टि करने का एपीआई आईपी पते से जुड़ी पाबंदी(4) पते की पुष्टि करने के लिए एपीआई
निर्देश API आईपी पते से जुड़ी पाबंदी(4) निर्देश से जुड़ा एपीआई
मैट्रिक्स एपीआई आईपी पते से जुड़ी पाबंदी(4) दूरी के मैट्रिक्स का एपीआई
एलिवेशन एपीआई आईपी पते से जुड़ी पाबंदी(4) ऊंचाई से जुड़ा एपीआई
जियोकोडिंग API आईपी पते से जुड़ी पाबंदी(4) जियोकोडिंग एपीआई
भौगोलिक स्थान एपीआई आईपी पते से जुड़ी पाबंदी(4) जियोलोकेशन एपीआई
जगह का एपीआई (5) आईपी पते से जुड़ी पाबंदी(4) Places API
सड़क API आईपी पते से जुड़ी पाबंदी(4) रास्तों की जानकारी देने से जुड़ा एपीआई
समय क्षेत्र एपीआई आईपी पते से जुड़ी पाबंदी(4) समय क्षेत्र एपीआई

Android ऐप्लिकेशन

एपीआई/SDK टूल/सेवा ऐप्लिकेशन पर पाबंदी (1) एपीआई से जुड़ी पाबंदियां (1) सबसे सही तरीके
Android के लिए Maps SDK टूल Android की पाबंदी Android के लिए Maps SDK टूल
Android के लिए Places SDK टूल Android की पाबंदी Places API

iOS ऐप्लिकेशन

एपीआई/SDK टूल/सेवा ऐप्लिकेशन पर पाबंदी (1) एपीआई से जुड़ी पाबंदियां (1) सबसे सही तरीके
iOS के लिए Maps SDK टूल iOS पर पाबंदी iOS के लिए Maps SDK टूल
iOS के लिए Places SDK टूल iOS पर पाबंदी Places API

1 आप किसी भी Google Maps Platform API या SDK टूल के साथ, बिना पाबंदी वाली एपीआई कुंजी का इस्तेमाल कर सकते हैं. हालांकि, हमारा सुझाव है कि आप अपनी एपीआई कुंजियों पर पाबंदी लगा दें, खास तौर से इन स्थितियों में:

  • जांच एनवायरमेंट, सार्वजनिक तौर पर दिखेगा या दिखेगा.

  • एपीआई कुंजी का इस्तेमाल करने वाला ऐप्लिकेशन, प्रोडक्शन एनवायरमेंट में इस्तेमाल किए जाने के लिए तैयार है.

2 मोबाइल ऐप्लिकेशन के लिए, नेटिव ऐप्लिकेशन का इस्तेमाल करें Android के लिए Maps SDK टूल और iOS के लिए Maps SDK टूल.

3 Maps के स्टैटिक एपीआई और स्ट्रीट व्यू स्टैटिक एपीआई के लिए, आपको डिजिटल सिग्नेचर देना होगा, ताकि हर दिन 25,000 मैप लोड हो सकें.

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

4 कुछ मामलों में आईपी पाबंदियां लागू हो सकती हैं. जैसे, मोबाइल ऐप्लिकेशन और क्लाउड एनवायरमेंट में जो डाइनैमिक आईपी पतों पर निर्भर रहते हैं. इन स्थितियों में Maps वेब सेवा एपीआई का इस्तेमाल करते समय, प्रॉक्सी सर्वर या धुंधला की मदद से अपने ऐप्लिकेशन सुरक्षित रखें.

5 मोबाइल ऐप्लिकेशन के लिए, नेटिव Android Android SDK टूल और iOS के लिए Places SDK टूल का इस्तेमाल करें.