Ağ Geçidi API Mimarisi ve Güvenliği
TL; DR
API ağ geçidi, politikanın tek noktası (authz, oran, dönüşüm, denetim) ve dış dünya ile hizmetler arasındaki güven sınırıdır. Başarı, Zero-Trust (mTLS/JWT), kod olarak politika, SLO odaklı trafik yönetimi ve ortogonal gözlemlenebilirlik ile sağlanır. Yapı: kenar ağ geçidi - BFF - servis ağı; Sürümleri ve özellik bayraklarını tutun; Webhook'ların ve tuşların korunmasını otomatikleştirin kanarya sürümlerini test edin.
1) Roller ve yerleştirme kalıpları
Kenar/API Ağ Geçidi (kuzey-güney): dış sınır. Sonlandırma TLS, WAF, DDoS, authN/Z, oran/kotalar, CORS, dönüşümler, önbellek, webhooks.
BFF (Backend-for-Frontend): Belirli müşteriler için özelleştirme katmanı (web/mobil/iş ortakları). Şemalar, toplamalar, sınırlar, yanıt önbelleğe alma.
Dahili Ağ Geçidi (doğu-batı )/Servis Mesh Girişi: dahili servis-servis yetkilendirmesi, mTLS, ilke yönlendirme.
gRPC/REST/GraphQL ağ geçidi: tek nokta protokol çeviricisi ve doğrulayıcı devreler.
Anti-desenler: "ortamların izolasyonu olmadan tek bir monolitik ağ geçidi boyunca", "eklentilerde gizli iş mantığı", "manuel kural yönetimi".
2) Güven modeli ve kimlik doğrulama
TLS 1. 2+/1. 3 çevrede, HSTS halka açık alanlarda; İçinde - ağ geçidi ve hizmetler arasında mTLS.
OAuth2/OIDC: Müşteriler için Yetkilendirme Kodu (PKCE); Sunucu entegrasyonları için istemci kimlik bilgileri; Kısa TTL ve anahtar rotasyonu (JWKS) ile JWT.
İş ortağı entegrasyonları ve webhook'lar için HMAC imzaları (istemci anahtarı, SHA-256/512, zaman damgası doğrulaması ve anti-replay).
API anahtarları - sadece ek bir faktör olarak/izleme için; Limit kapsamı, IP, terim.
- Ayrı authN (kim) ve authZ (ne yapabilirsiniz). Nitelikleri kullanın (kapsamlar, roller, kiracı, risk bayrakları).
- Tüm belirteçler aud/iss/exp/nbf ile; 60'lı ≤ saat eğriliği; Zorunlu çocuk ve JWKS önbelleği ≤ 5 dakika.
3) Yetkilendirme ve politikalar (Sıfır Güven)
Ağ geçidinde ABAC/RBAC: talepler üzerindeki kurallar + talep bağlamı (IP/ASN/geo/tenant).
Kod Olarak İlke (örneğin, OPA/Rego): Git, CI doğrulaması, kanarya hesaplamalarında kuralları depolamak.
Çoklu kiralama: 'X-Tenant-Id', SSO tarafından kiracı sınırında izolasyon; kiracı başına kota/limit.
4) Trafik yönetimi ve güvenilirlik
Hız sınırlaması: sızdıran/belirteç kovası, ayrıntı: anahtar/kiracı/rota/BIN/ülke (ödeme API'leri için).
Kotalar: gün/ay, ağır operasyonlar için ayrı (örneğin, raporlar).
Yük ve SLO'ya dayalı patlama kontrolü ve dinamik kısma.
Devre kesici: hataların/gecikmelerin açılması; Yukarı akış tarafından outlier algılama.
Backoff + jitter ile yeniden deneyin; Idempotency: anahtar 'Idempotency-Key' + TTL pencere + sonuç depolama.
Zaman aşımları: istemci <gateway <upstream; Makul p95 referans noktaları (örn. 1. 5s/3s/5s).
Yük Devretme/Kanarya: % - yönlendirme (ağırlıklı), oturum yakınlığı isteğe bağlı, mavi/yeşil.
5) Dönüşümler ve doğrulayıcılar
Şemalar: REST için OpenAPI/JSON Şeması; GRPC için Protobuf; GraphQL için SDL. Ağ geçidinde istek/yanıt doğrulama.
gRPC↔REST transpozisyon, GraphQL federasyonu (BFF için).
Üstbilgi normalleştirme (trace-ids, güvenlik başlıkları), yanıt filtreleme (PII sürümü).
CORS: beyaz listeler, 'Vary' correct, ban'on 'Authorization' requests.
Güvenli GET и sıkıştırma для yanıt önbelleği (ETag/Cache-Control).
6) Çevre güvenliği
WAF: OWASP Top-10 kuralları, kritik yönlendirmeler için pozitif model, sanal yamalar.
Bot koruması: oran tabanlı imzalar, cihaz parmak izi, genel uç noktalar için korumalı captchas.
DDoS kalkanı: yukarı akış (bulut) + yerel sınırlar; Geo/ASN blok listeleri.
CSP/Referrer-Policy/X-Frame-Options - ağ geçidi statik/widget'lar sunuyorsa.
WebSockets/SSE/WebTransport: ayrı limit ve zaman aşımı profilleri; Token ile otomatik yenileme.
7) Webhooks: Güvenlik ve Teslimat
Her alıcının kendi sırrı vardır; İmza 'HMAC (imza, zaman damgası' yolu 'gövde)'; Geçerli zaman penceresi (örneğin, 5 dakika).
Resepsiyonda idempotans: 'event _ id'ile dedup.
Retrai: üstel, maksimum N; El sıkışma için durum-bitiş noktası.
mTLS/Allow-list IP; Kısıtlamalarla talep üzerine tekrar oynatma yeteneği
8) Gözlemlenebilirlik ve denetim
Günlükler: sırları kaydetmeyin/PAN/PII; 'trace _ id'/' span _ id'ile ilişkilidir; maskeleme.
Metrikler: RPS, sınıfa göre hata oranı, gecikme süresi p50/p95/p99, açık devreler, yeniden deneme oranı, 4xx vs 5xx, doygunluk.
Yollar: W3C Trace Bağlam; Yukarı akıntıya 'traceparent'/' tracestate' atın.
Denetim: ayrı'kim ve ne denilen/değişti "akışı, değiştirilemez depolama; Politika olayları (erişim reddedildi, kota vuruldu).
9) Sırlar ve kriptografi
Anahtar depolama: KMS/Vault, her 90 günde bir (veya daha sık) rotasyon, ayrı okuma rolleri.
Sertifikalar: otomatik sorun/güncelleme (ACME), mobil (TOFU/HPKP benzeri uyarı) için sabitleme.
JWKS döndürme: iki aktif anahtar (eski/yeni), açık rulo pencereleri.
Cryptoprofiles TLS: ECDHE tercihi, savunmasız şifrelerin/protokollerin yasaklanması.
10) Uyumluluk ve veriler
PCI DSS: PAN-güvenli akışlar, tokenization; Asla eklentiler aracılığıyla raw-PAN proxy olmaz.
GDPR/DSAR: bölge/kiracı yönlendirme, veri ikameti, silme/anonimleştirme.
PII maruz kalma sınırı: ağ geçidindeki alanları filtrelemek, hassas başlıkları şifrelemek.
11) Topolojiler ve çok bölgesellik
Kendi Kendini Yöneten vs Yönetilen (Envoy/Kong/NGINX vs Cloud API Gateway). Sıkı kontrol/PCl için - daha sık kendi kendini yöneten.
Multi-AZ/Multi-Region Active-Active: global DNS/GSLB, sağlık tabanlı ve coğrafi yönlendirme, bölge başına gizli mağazalar.
DR planı: RPO/RTO, politika mavisi ile soğuk/sıcak bekleme ağ geçidi.
12) API sürüm oluşturma ve evrim
Stratejiler: URI vN, header-versioning, content-negotiation. Kamu için - açık bir amortisman politikası (≥6 -12 ay).
Backward-compat: isteğe bağlı alanlar ekleyerek şemaları genişletin; Git'teki sözleşmeler, OpenAPI linters.
Kanarya/Gölge: Yeni sürümün "gölgesinde" çalışan trafik, cevapların karşılaştırılması.
13) Performans ve önbellek
GET/idempotent istekleri için kenarda önbellek; koşullar: doğru ETag/Cache-Control.
Yukarı akışa bağlantı havuzu; HTTP/2 devam edin; gRPC için - maksimum fayda.
Yük bütçeleri-Cisimlerin boyutunu sınırlar gzip/br.
Yüksek frekanslı paneller/dizinler için ön hesaplama BFF yanıtları.
14) Yapılandırma yönetimi
GitOps: rotaların/politikaların bildirimsel manifestoları; İnceleme/CI (tiftik, güvenlik taraması); Kanarya partileriyle CD.
Ağ geçidindeki özellik bayrakları: dağıtılmadan hızlı bir rota/kural anahtarı.
Tekrarlanan politikalar için şablonlar (OIDC, rate, CORS).
15) Mini parçacıklar (sözde)
Idempotency (Kong/Envoy tarzı):yaml plugins:
- name: idempotency config:
header: Idempotency-Key ttl: 24h storage: redis
Oran/kota:
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 (profil):
yaml
- name: waf config:
mode: block ruleset: owasp_crs exclusions: ["/health", "/metrics"]
Webhook imzası:
pseudo sig = HMAC_SHA256(secret, timestamp + "\n" + method + "\n" + path + "\n" + sha256(body))
assert now - timestamp < 300s
16) Ağ geçidi için NFR ve SLO
Çalışma süresi (ay): ≥ 99. %95 (kenar), ≥ 99. %9 (dahili).
Gecikme p95: ≤ 50-100 ms yukarı akış katkı maddeleri.
Hata bütçesi: ≤ 0. Ağ geçidinden %05 5xx (yukarı akış hariç).
Güvenlik politikaları: TLS ile taleplerin %100'ü; 0 gizli sızıntı olayları; MTTR güvenlik açığı WAF kuralları ≤ 24 saat.
17) Uygulama kontrol listesi
- Mimari harita: kenar> BFF> mesh, etki alanlarının/yönlendirmelerin listesi.
- TLS/mTLS, JWKS rotasyonu, KMS/Vault sırlar.
- OAuth2/OIDC, kapsamlar/iddialar, ABAC/OPA.
- Oran/kotalar, devre kesici, yeniden deneme/geri alma, idempotency.
- OpenAPI/JSON Schema doğrulayıcıları, gRPC/REST/GraphQL dönüşümleri.
- WAF/DDoS/bot profili, CORS/CSP.
- Webhook güvenliği: HMAC, anti-replay, allow-list.
- Günlükler/metrikler/yollar; Erişim/değişim denetimi.
- GitOps/policy-as-code; kanarya hesaplamaları; DR planı.
- PCI/GDPR kontrolü: maskeleme, retentions, DSAR prosedürleri.
18) Sık yapılan hatalar
Ağ geçidi yapılandırmasında/günlüklerinde sırların saklanması.
Global "içinde CORS/güven tüm 'Kökeni'.
Idempotence ve adil zaman aşımı eksikliği - çiftler ve çığlar.
Ağ geçidi eklentilerinde authN ve iş mantığını karıştırma.
JWKS rotasyonu yok ve çocuk "sıkışmış" anahtarlar.
İz korelasyonu olmadan gözlemlenebilirlik - kör RCA.
Özet
Gateway API sadece bir ters proxy değil, aynı zamanda performans, uyumluluk ve para kazanmayı destekleyen bir politika ve güvenlik platformudur. Zero-Trust oluşturun, şemalarla sözleşmeleri düzeltin, SLO aracılığıyla trafiği yönetin, GitOps ve kod olarak ilke aracılığıyla yapılandırmaları otomatikleştirin. O zaman geçit, mimarinizin sabit bir "kenarı'olacak ve dar bir boyun olmayacaktır.