गेटवे एपीआई आर्किटेक्चर एंड सिक्योरिटी
टीएल; डीआर
एपीआई प्रवेश द्वार नीति का एकमात्र बिंदु (लेखन, दर, परिवर्तन, लेखा परीक्षा) और बाहरी दुनिया और सेवाओं के बीच विश्वास की सीमा है। सफलता द्वारा दिया जाता है: जीरो-ट्रस्ट (एमटीएलएस/जेडब्ल्यूटी), पॉलिसी-ए-कोड, एसएलओ-उन्मुख यातायात प्रबंधन और ऑर्थोगोनल अवलोकन। बिल्ड: एज गेटवे → BFF → सर्विस मेष; संस्करण और सुविधा झंडे रखें; वेबहुक और कुंजी परीक्षण कैनरी रिलीज़ के संरक्षण को स्वचालित करें।
1) भूमिका और प्लेसमेंट पैटर्न
एज/एपीआई गेटवे (उत्तर-दक्षिण): बाहरी सीमा। समाप्ति TLS, WAF, DDoS, AuthN/Z, दर/कोटा, CORS, परिवर्तन, कैश, वेबहुक।
BFF (बैकेंड-फॉर-फ्रंटेंड): विशिष्ट क्लाइंट (वेब/मोबाइल/पार्टनर) के लिए अनुकूलन परत। योजनाएं, एकत्रीकरण, सीमा, प्रतिक्रिया कैशिंग।
आंतरिक गेटवे (पूर्व-पश्चिम )/सेवा मेश इंग्रेस: आंतरिक सेवा-से-सेवा प्राधिकरण, एमटीएलएस, नीति मार्ग।
gRPC/REST/GraphQL गेटवे: प्रोटोकॉल अनुवादक और मान्यता प्राप्त सर्किट का एकल बिंदु।
एंटी-पैटर्न: "सभी पर्यावरण के अलगाव के बिना एक अखंड प्रवेश द्वार के माध्यम से", "प्लगइन में छिपा व्यापार तर्क", "मैनुअल नियम प्रबंधन।"
2) ट्रस्ट मॉडल और प्रमाणीकरण
टीएलएस 1। 2+/1. परिधि पर 3, सार्वजनिक डोमेन पर एचएसटी; अंदर - प्रवेश द्वार और सेवाओं के बीच एमटीएलएस।
OAuth2/OIDC: ग्राहकों के लिए प्राधिकरण कोड (पीकेसीई); सर्वर एकीकरण के लिए क्लाइंट-क्रेडेंशियल्स; छोटे टीटीएल और कुंजी रोटेशन (JWKS) के साथ JWT।
साझेदार एकीकरण और वेबहूक (क्लाइंट कुंजी, timestamp सत्यापन और एंटी-रिप्ले) के लिए HMAC हस्ताक्षर।
एपीआई कुंजी - केवल ट्रैकिंग के लिए एक अतिरिक्त कारक/के रूप में; सीमा गुंजाइश, आईपी, शब्द।
सर्वोत्तम प्रथा
अलग AuthN (कौन) और AuthZ (आप क्या कर सकते हैं)। विशेषताओं (स्कोप, भूमिका, किरायेदार, जोखिम झंडे) का उपयोग करें।
सभी टोकन aud/is/exp/nbf के साथ हैं; घड़ी-तिरछा ≤ 60; अनिवार्य बच्चा और JWKS कैश ≤ 5 मिनट।
3) प्राधिकरण और नीतियां (जीरो-ट्रस्ट)
गेटवे पर ABAC/RBAC: दावों पर नियम + अनुरोध संदर्भ (IP/ASN/geo/kenant)।
पॉलिसी-ए-कोड (उदाहरण के लिए, ओपीए/रेगो): गिट, सीआई सत्यापन, कैनरी गणना में नियमों का भंडारण।
मल्टी-लीज: 'एक्स-टेनेंट-आईडी' द्वारा अलगाव, किरायेदार-सीमा पर एसएसओ; कोटा/सीमा प्रति किरायेदार।
4) यातायात प्रबंधन और विश्वसनीयता
दर सीमित करना: लीकी/टोकन बाल्टी, दानेदारी: कुंजी/किरायेदार/मार्ग/बिन/देश (भुगतान एपीआई के लिए)।
कोटा: दिन/महीना, भारी संचालन के लिए अलग (उदाहरण के लिए, रिपोर्ट)।
लोड और एसएलओ के आधार पर फट नियंत्रण और गतिशील थ्रॉटलिंग।
सर्किट ब्रेकर: त्रुटियों/विलंबता पर खोलना; अपस्ट्रीम द्वारा बाहरी पता लगा
बैकऑफ + जिटर के साथ पुन: प्रयास करें; पहचान: कुंजी 'Idempotency-Key' + TTL विंडो + परिणाम भंडारण।
टाइमआउट: क्लाइंट <गेटवे <अपस्ट्रीम; उचित p95 संदर्भ बिंदु (जैसे) 1. 5s/3s/5s)।
फेलओवर/कैनरी: % -routing (भारित), सत्र-आत्मीयता वैकल्पिक, नीला/हरा।
5) परिवर्तन और मान्यता प्राप्त
योजनाएँ: REST के लिए OpenAPI/JSON स्कीमा; जीआरपीसी के लिए प्रोटोबुफ; ग्राफक्यूएल के लिए एसडीएल। गेटवे पर अनुरोध/अनुक्रिया सत्यापन।
gRPC↔REST ट्रांसपोज़िशन, ग्राफ़क्यूएल फेडरेशन (बीएफएफ के लिए)।
हेडर सामान्यीकरण (ट्रेस-आईडी, सुरक्षा हेडर), प्रतिक्रिया फ़िल्टरिंग (पीआईआई संस्करण)।
CORS: व्हाइटलिस्ट, 'वैरी' सही, 'प्राधिकरण' पर प्रतिबंध।
संपीड़न и प्रतिक्रिया कैशिंग (ETag/Cache-Control) для सुरक्षित-GET।
6) परिधि सुरक्षा
WAF: OWASP टॉप -10 नियम, महत्वपूर्ण मार्गों के लिए सकारात्मक मॉडल, आभासी पैच।
बॉट सुरक्षा: दर-आधारित हस्ताक्षर, डिवाइस फिंगरप्रिंट, सार्वजनिक समापन बिंदुओं के लिए संरक्षित कैप्चा।
DDoS ढाल: अपस्ट्रीम (क्लाउड) + स्थानीय सीमा; भू/एएसएन ब्लॉक सूची।
सीएसपी/रेफरर-पॉलिसी/एक्स-फ्रेम-विकल्प - यदि गेटवे स्थिर/विजेट परोसता है।
वेबसॉकेट्स/एसएसई/वेबट्रांसपोर्ट: अलग सीमा और टाइमआउट प्रोफाइल; टोकन द्वारा औथ-नवीकरण।
7) वेबहूक: सुरक्षा और वितरण
प्रत्येक प्राप्तकर्ता का अपना रहस्य हस्ताक्षर 'HMAC (हस्ताक्षर, टाइमस्टैम्प' पथ 'निकाय); वैध समय विंडो (उदाहरण के लिए, 5 मिनट)।
रिसेप्शन पर पहचान: dedup 'event _ id' द्वारा।
रेट्राई: घातीय, अधिकतम एन; हाथ मिलाने के लिए स्थिति-समापन बिंदु।
mTLS/अनुमति-सूची IP; प्रतिबंधों के साथ मांग पर पुनरावृत्ति करने
8) अवलोकन और लेखा परीक्षा
लॉग: लॉग सीक्रेट/पैन/पीआईआई; 'ट्रेस _ आईडी '/' स्पैन _ आईडी' द्वारा सहसंबंधित; मास्किंग।
मेट्रिक्स: आरपीएस, क्लास द्वारा त्रुटि दर, लेटेंसी पी 50/पी 95/पी 99, ओपन सर्किट, रीट्री रेट, 4xx बनाम 5xx, संतृप्ति।
ट्रेल्स: W3C ट्रेस संदर्भ; 'traceparent '/' tracestate' को अपस्ट्रीम में फेंक दें।
ऑडिट: अलग "कौन और क्या कहा/बदला" धारा, अपरिवर्तनीय भंडारण; नीतिगत घटनाओं (एक्सेस-इनकार, कोटा-हिट)।
9) रहस्य और क्रिप्टोग्राफी
मुख्य भंडारण: केएमएस/वॉल्ट, हर 90 दिनों में रोटेशन (या अधिक बार), अलग-अलग पढ़ ने की भूमिकाएं।
प्रमाणपत्र: स्वचालित जारी/अद्यतन (एसीएमई), मोबाइल के लिए पिनिंग (टीओएफयू/एचपीकेपी जैसी सावधानी)।
JWKS रोटेशन: दो सक्रिय कुंजी (पुरानी/नई), साफ रोल विंडो।
क्रिप्टोप्रोफाइल टीएलएस: ईसीडीएचई वरीयता, कमजोर सिफर/प्रोटोकॉल का निषेध।
10) अनुपालन और डेटा
पीसीआई डीएसएस: पैन-सुरक्षित धाराएं, टोकन; प्लगइन के माध्यम से कभी भी कच्चे पैन नहीं।
GDPR/DSAR: क्षेत्र/किरायेदार रूटिंग, डेटा रेजिडेंसी, डिलीट/अनाम।
पीआईआई एक्सपोज़र सीमा: गेटवे पर फ़ील्ड फ़िल्टर करना, संवेदनशील हेडर को एन्क्रिप्ट करना।
11) टोपोलॉजी और बहु-क्षेत्रीयता
स्व-प्रबंधित बनाम प्रबंधित (दूत/कोंग/NGINX बनाम क्लाउड एपीआई गेटवे)। सख्त नियंत्रण/पीसीएल के लिए - अधिक बार आत्म-प्रबंधित।
मल्टी-एजेड/मल्टी-रीजन एक्टिव-एक्टिव: ग्लोबल डीएनएस/जीएसएलबी, हेल्थ-आधारित और जियो-रूटिंग, प्रति-क्षेत्र गुप्त-स्टोर।
डीआर योजना: आरपीओ/आरटीओ, नीति नीले रंग के साथ ठंडा/गर्म स्टैंडबाय प्रवेश द्वार।
12) एपीआई वर्शनिंग और विकास
रणनीतियाँ: URI vN, हेडर-वर्शनिंग, सामग्री-वार्ता। जनता के लिए - एक स्पष्ट मूल्यह्रास नीति (≥6 -12 महीने)।
बैकवर्ड-कॉम्पैट: वैकल्पिक क्षेत्रों को जोड़ कर योजनाओं का विस्तार क Git, OpenAPI लिंटर्स में अनुबंध।
कैनरी/छाया: उत्तरों की तुलना में नए संस्करण की "छाया" में ट्रैफिक चलता है।
13) प्रदर्शन और कैश
GET/idempotent अनुरोध के लिए किनारे पर कैश; शर्तें: सही ETag/Cache-Control।
ऊपर की ओर कनेक्शन पूलिंग; HTTP/2 जारी रखें; जीआरपीसी के लिए - अधिकतम लाभ।
पेलोड बजट-निकायों के आकार को gzip/br।
उच्च आवृत्ति पैनल/निर्देशिका के लिए पूर्व गणना BFF प्रतिक्रियाएँ।
14) कॉन्फ़िगरेशन प्रबंधन
GitOps: मार्गों/नीतियों की घोषणात्मक प्रकट; समीक्षा/सीआई (लिंट, सुरक्षा स्कैन); कैनरी पार्टियों के साथ सीडी।
प्रवेश द्वार पर झंडे की सुविधा: बिना तैनाती के एक तेज मार्ग/नियम स्विच।
नीतियों को दोहराने के लिए साँचा (OIDC, दर, CORS)।
15) मिनी स्निपेट्स (छद्म)
पहचान (कोंग/दूत-शैली):yaml plugins:
- name: idempotency config:
header: Idempotency-Key ttl: 24h storage: redis
दर/कोटा:
yaml
- name: rate-limiting config: {policy: local, minute: 600, key: consumer_id}
- name: response-ratelimiting config: {limits: {"heavy": {minute: 60}}, key: route_id}
JWT/OIDC:
yaml
- name: oauth2-introspection config:
jwks_uri: https://idp/.well-known/jwks. json required_scopes: ["payments:write","payments:read"]
WAF (प्रोफ़ाइल):
yaml
- name: waf config:
mode: block ruleset: owasp_crs exclusions: ["/health", "/metrics"]
वेबहुक हस्ताक्षर:
pseudo sig = HMAC_SHA256(secret, timestamp + "\n" + method + "\n" + path + "\n" + sha256(body))
assert now - timestamp < 300s
16) प्रवेश द्वार के लिए एनएफआर और एसएलओ
अपटाइम (महीना): ≥ 99। 95% (बढ़त), ≥ 99। 9% (आंतरिक)।
विलंबता p95: ≤ 50-100 एमएस अपस्ट्रीम एडिटिव्स।
त्रुटि बजट: ≤ 0। 05% 5xx गेटवे से (अपस्ट्रीम को छोड़ कर)।
सुरक्षा नीतियां: टीएलएस के साथ 100% अनुरोध; 0 गुप्त रिसाव की घटनाएं; MTTR भेद्यता WAF नियम ≤ 24h।
17) कार्यान्वयन चेकलिस्ट
- वास्तुशिल्प मानचित्र: किनारे BFF mesh, डोमेन/राउट की सूची।
- टीएलएस/एमटीएलएस, जेडब्ल्यूकेएस रोटेशन, केएमएस/वॉल्ट में रहस्य।
- OAuth2/OIDC, स्कोप/दावे, ABAC/OPA।
- दर/कोटा, सर्किट-ब्रेकर, रीट्री/बैकऑफ, पहचान।
- OpenAPI/JSON स्कीमा सत्यापन, gRPC/REST/GraphQL परिवर्तन।
- WAF/DDoS/बॉट प्रोफाइल, CORS/CSP।
- वेबहुक सुरक्षा: एचएमएसी, एंटी-रिप्ले, अनुमति-सूची।
- लॉग/मेट्रिक्स/ट्रेल्स; पहुंच/परिवर्तन लेखा परीक्षा।
- GitOps/पॉलिसी-as-code; कैनरी गणना; डीआर योजना।
- पीसीआई/जीडीपीआर नियंत्रण: मास्किंग, प्रतिधारण, डीएसएआर प्रक्रियाएं।
18) बार-बार त्रुटियाँ
गेटवे कॉन्फ़िगरेशन/लॉग में रहस्यों का भंडारण।
ग्लोबल "CORS में/सभी 'मूल' पर भरोसा करें।
पहचान की कमी और उचित समय - युगल और हिमस्खलन।
गेटवे प्लगइन में AuthN और व्यावसायिक तर्क मिलाना।
कोई JWKS रोटेशन और बच्चा नहीं है - "अटक" कुंजी।
ट्रेस सहसंबंध के बिना अवलोकन - अंधा आरसीए।
सारांश
गेटवे एपीआई केवल एक रिवर्स प्रॉक्सी नहीं है, बल्कि एक नीति और सुरक्षा मंच है जो प्रदर्शन, अनुपालन और मुद्रीकरण का समर्थन करता है। जीरो-ट्रस्ट बनाएं, योजनाओं के साथ अनुबंध ठीक करें, एसएलओ के माध्यम से यातायात का प्रबंधन करें, GitOps और पॉलिसी-ए-कोड के माध्यम से कॉन्फ़िगरेशन स्वचालित करें। फिर प्रवेश द्वार आपकी वास्तुकला का एक स्थिर "किनारा" बन जाएगा, न कि एक संकीर्ण गर्दन।