यह Apigee Edge का दस्तावेज़ है.
Go to the
Apigee X documentation. info
लास्ट-माइल सुरक्षा, बैकएंड सेवाओं को सुरक्षित रखती है. इन सेवाओं को एपीआई सेवाओं के ज़रिए प्रॉक्सी किया जाता है. लास्ट-माइल सुरक्षा का मुख्य मकसद, "एंड-रन" हमलों को रोकना है. इन हमलों में, ऐप्लिकेशन डेवलपर को बैकएंड सेवा का यूआरएल पता चल जाता है और वह एपीआई प्रॉक्सी को बायपास करके, सीधे बैकएंड यूआरएल पर हमला करता है.
लास्ट-माइल सुरक्षा सेट अप करने के लिए, ये मुख्य विकल्प उपलब्ध हैं:
- क्लाइंट TLS/एसएसएल
- आउटबाउंड ऑथेंटिकेशन
- Node.js tls मॉड्यूल
क्लाइंट TLS/एसएसएल
लास्ट-माइल को सुरक्षित करने का मुख्य तरीका, क्लाइंट TLS/एसएसएल है. इसे 'म्यूचुअल ऑथेंटिकेशन' भी कहा जाता है.
Edge से बैकएंड (क्लाउड और प्राइवेट क्लाउड) तक TLS कॉन्फ़िगर करना देखें.
आउटबाउंड ऑथेंटिकेशन
लास्ट-माइल सुरक्षा को लागू करने के लिए, एपीआई प्रॉक्सी से बैकएंड सेवा के लिए क्रेडेंशियल दिखाने की ज़रूरत होती है.
उदाहरण के लिए, हो सकता है कि आपको एपीआई प्रॉक्सी से अपनी बैकएंड सेवा के लिए एपीआई पासकोड दिखाना हो. इसके अलावा, एपीआई प्रॉक्सी से OAuth क्लाइंट क्रेडेंशियल ऐक्सेस टोकन हासिल किया जा सकता है और उसे दिखाया जा सकता है.
एपीआई पासकोड
एपीआई पासकोड, एपीआई प्रॉक्सी से बैकएंड सेवाओं के लिए किए जाने वाले आउटबाउंड अनुरोधों पर लागू किए जा सकते हैं. इससे यह माना जाता है कि बैकएंड सेवा एक ऐसा एपीआई है जो एपीआई पासकोड जारी और उनकी पुष्टि कर सकता है.
अगर आपने आउटबाउंड अनुरोधों पर एपीआई पासकोड दिखाने के लिए, एपीआई प्रॉक्सी सेट अप की है, तो आपको एपीआई पासकोड को ऐसी जगह सेव करना होगा जहां एपीआई प्रॉक्सी, रनटाइम के दौरान उसे वापस पा सके. एपीआई पासकोड सेव करने के लिए, कुंजी/वैल्यू मैप एक जगह है. कुंजी-वैल्यू मैप के ऑपरेशन से जुड़ी नीति देखें.
AssignMessage नीति के टाइप का इस्तेमाल करके, एपीआई पासकोड को आउटबाउंड अनुरोध में एचटीटीपी हेडर, क्वेरी पैरामीटर या पेलोड एलिमेंट के तौर पर जोड़ा जा सकता है. Assign Message नीति देखें.
OAuth क्लाइंट क्रेडेंशियल
OAuth क्लाइंट क्रेडेंशियल का इस्तेमाल करके, एपीआई पासकोड में रद्द करने की सुविधा जोड़ी जा सकती है. अगर आपकी बैकएंड सेवाएं OAuth क्लाइंट क्रेडेंशियल के साथ काम करती हैं, तो हर अनुरोध के लिए क्लाइंट क्रेडेंशियल ऐक्सेस टोकन दिखाने के लिए, एपीआई प्रॉक्सी को कॉन्फ़िगर किया जा सकता है.
एपीआई प्रॉक्सी को, टोकन एंडपॉइंट से ऐक्सेस टोकन पाने के लिए, कॉलआउट करने के लिए कॉन्फ़िगर करना होगा. एपीआई प्रॉक्सी को ऐक्सेस टोकन को कैश मेमोरी में सेव करना भी ज़रूरी है, ताकि हर कॉल के लिए नया ऐक्सेस टोकन न पाना पड़े.
आउटबाउंड क्लाइंट क्रेडेंशियल लागू करने के लिए, कई तरीकों का इस्तेमाल किया जा सकता है.
ऐक्सेस टोकन पाने के लिए, इस सैंपल में बदलाव करके, अपने टोकन एंडपॉइंट को कॉल किया जा सकता है. यह सैंपल टोकन को एचटीटीपी ऑथराइज़ेशन हेडर के तौर पर, आउटबाउंड अनुरोध से जोड़ने के लिए JavaScript का इस्तेमाल करता है. इसके लिए, Assign Message नीति का भी इस्तेमाल किया जा सकता है.
SAML
GenerateSAMLAssertion नीति के टाइप का इस्तेमाल करके, एपीआई प्रॉक्सी से बैकएंड सेवा के लिए, आउटबाउंड एक्सएमएल अनुरोध मैसेज में एसएएमएल असर्शन जोड़ा जा सकता है. इससे, बैकएंड सेवा, एपीआई प्रॉक्सी से मिले अनुरोधों पर ऑथेंटिकेशन और ऑथराइज़ेशन की प्रोसेस पूरी कर सकती है.
एसएएमएल असर्शन से जुड़ी नीति देखें.
Node.js
अगर आपकी एपीआई प्रॉक्सी का टारगेट Node.js ऐप्लिकेशन है, तो बैकएंड
सेवाओं के लिए सुरक्षित कनेक्शन बनाने के लिए,
Node.js tls मॉड्यूल का इस्तेमाल किया जा सकता है. tls मॉड्यूल की मदद से, आउटगोइंग अनुरोध उसी तरह किए जाते हैं जैसे Node.js में
आम तौर पर किए जाते हैं. इसके लिए, आपको resources/node डायरेक्ट्री में क्लाइंट-साइड की और सर्टिफ़िकेट (.pem फ़ाइलें) जोड़नी होंगी.
साथ ही, उन्हें अपने स्क्रिप्ट में लोड करना होगा.
tls मॉड्यूल और उसके तरीकों का इस्तेमाल करने के बारे में जानने के लिए, Node.js tls मॉड्यूल का दस्तावेज़ देखें. ज़्यादा जानकारी के लिए, Node.js मॉड्यूल के लिए Edge के साथ काम करने की सुविधा
के बारे में जानकारी देखें.