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

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

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

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

अपनी एपीआई कुंजियां सीमित करें

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

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

  • एपीआई से जुड़ी पाबंदियां, एपीआई पासकोड का इस्तेमाल एक या उससे ज़्यादा Google Maps Platform API या 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 टूल को ऐक्सेस करना है उन्हें चुनें.

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

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

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

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

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

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

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

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

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

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

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

एपीआई की सुरक्षा के अन्य तरीके

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

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

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

  1. एपीआई पासकोड पेज पर जाएं.

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

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

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

दूसरी बार दोबारा इस्तेमाल करने से पुरानी कुंजी की वैल्यू बदल जाती है.

एपीआई के इस्तेमाल पर नज़र रखें

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

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

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

  3. ग्रुप किया गया से एपीआई का तरीका चुनें.

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

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

  1. अपनी कुंजियां सीमित करें.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

इन टेबल में, Google Maps Platform के एपीआई, 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) Address Validation API
निर्देश एपीआई आईपी पते की पाबंदी(4) निर्देश से जुड़ा एपीआई
दूरी मैट्रिक्स API आईपी पते की पाबंदी(4) दूरी के मैट्रिक्स का एपीआई
Elevation API आईपी पते की पाबंदी(4) ऊंचाई से जुड़ा एपीआई
जियोकोडिंग एपीआई आईपी पते की पाबंदी(4) जियोकोडिंग एपीआई
भौगोलिक स्थान एपीआई आईपी पते की पाबंदी(4) जियोलोकेशन एपीआई
जगह का एपीआई (5) आईपी पते की पाबंदी(4) Places API
सड़कों के एपीआई आईपी पते की पाबंदी(4) रास्तों की जानकारी देने से जुड़ा एपीआई
रूटीन एपीआई आईपी पते की पाबंदी(4) Routes API
टाइम ज़ोन एपीआई आईपी पते की पाबंदी(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 स्टैटिक एपीआई और Street View स्टैटिक एपीआई के लिए, आपको एपीआई कुंजी के साथ-साथ डिजिटल हस्ताक्षर उपलब्ध कराना होगा, ताकि रोज़ाना 25,000 मैप लोड हो सकें.

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

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

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