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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. सहायता टीम से संपर्क करें.

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

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

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

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

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

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

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

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

Maps Web Service API या Static Web API ऐप्लिकेशन की सुरक्षा के तरीके

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

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

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

  • प्रॉक्सी सर्वर का इस्तेमाल करना. प्रॉक्सी सर्वर, Google Maps Platform के सही एपीआई से इंटरैक्ट करने के लिए, एक बेहतरीन स्रोत देता है. प्रॉक्सी सर्वर का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, अलग-अलग जगह पर लिविंग करना: Google Data API क्लाइंट के साथ प्रॉक्सी सर्वर इस्तेमाल करना लाइब्रेरी देखें.

  • एपीआई कुंजी या हस्ताक्षर सीक्रेट को अस्पष्ट या एन्क्रिप्ट करना. यह एपीआई कुंजियों और दूसरे निजी डेटा को सीधे ऐप्लिकेशन से स्क्रैप करने की प्रक्रिया को आसान बना देता है.

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

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

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

एपीआई/SDK टूल/सेवा ऐप्लिकेशन से जुड़ी पाबंदी (1) एपीआई से जुड़ी पाबंदियां (1) सबसे सही तरीके
Maps JavaScript एपीआई (2) एचटीटीपी रेफ़रर पर पाबंदी Maps JavaScript एपीआई
निर्देश सेवा, Maps JavaScript एपीआई एचटीटीपी रेफ़रर पर पाबंदी निर्देश एपीआई, Maps JavaScript एपीआई
दूरी मैट्रिक्स सेवा, मैप JavaScript API एचटीटीपी रेफ़रर पर पाबंदी दूरी के मैट्रिक्स का एपीआई, Maps JavaScript एपीआई
Elevation Service, 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) पते की पुष्टि करने के लिए एपीआई
निर्देश एपीआई आईपी पते से जुड़ी पाबंदी(4) निर्देश से जुड़ा एपीआई
दूरी मैट्रिक्स API आईपी पते से जुड़ी पाबंदी(4) दूरी के मैट्रिक्स का एपीआई
Elevation API आईपी पते से जुड़ी पाबंदी(4) ऊंचाई से जुड़ा एपीआई
जियोकोडिंग एपीआई आईपी पते से जुड़ी पाबंदी(4) जियोकोडिंग एपीआई
भौगोलिक स्थान API आईपी पते से जुड़ी पाबंदी(4) जियोलोकेशन एपीआई
जगहों की एपीआई (5) आईपी पते से जुड़ी पाबंदी(4) Places API
सड़कों के लिए एपीआई आईपी पते से जुड़ी पाबंदी(4) रास्तों की जानकारी देने से जुड़ा एपीआई
रास्ते एपीआई आईपी पते से जुड़ी पाबंदी(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 Android के लिए Maps SDK टूल और iOS के लिए Maps SDK टूल का इस्तेमाल करने के बारे में सोचें.

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

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

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

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