GH GambleHub

S2S-tassyklama

S2S-autentifikasiýa haýsy hyzmatyň/workloadyň haýyşy edýändigini subut edýär we oňa çäkli wagt üçin iň az zerur hukuklary berýär. Ulanyjy akymlaryndan tapawutlylykda bu ýerde adam ýok - şonuň üçin hasap maglumatlarynyň gysga ömri, workload/kanal bilen kriptografiki baglanyşyk we anyk gözegçilik etmek möhümdir.

1) Maksatlar we ýörelgeler

"Zero Trust": tora ynanmazlyk, diňe workload we kriptografiýany tassyklamak.
Gysga ömürli kredenşly: günler/aýlar däl, minutlar.
Kontekste baglanyşyk: tenant/region/licence/audience/scopes.
Merkezleşdirilen bermek, merkezleşdirilmedik barlag: STS/IdP + lokal tassyklama.
Iň az artykmaçlyklar we aç-açan ygtyýarlyk bermek: diňe zerur satyn alyşlar we audit.
"Agyrysyz" aýlanyş: dual-key/dual-cert penjireleri we awtomatlaşdyryş.

2) Howplaryň nusgasy (iň az)

Dowamly syrlary ogurlamak (API-keys, long-lived RT).
VPC/klaster içindäki hyzmaty çalyşmak.
Döwülen segmentasiýa wagtynda sebitara hüjümler.
Traffigi proxy üçin replay/çalyşmak.
Supply-chain/konteýner görnüşini çalyşmak.
Konfigurasiýa ýalňyşlyklary (giň firewall/mesh düzgünleri, JWKS hemmeler üçin umumy).

3) Esasy nusgalar S2S

3. 1 mTLS (özara şahadatnamalar)

Siz kimsiňiz: kanaly bilen subut edýär.
Içerki PKI-den gysga ömürli (sagat-gün) şahadatnamalar; mesh/sidecar ýa-da SPIRE-agent tarapyndan dolandyrylýar.
Bir trust-domen we binding tokenleri üçin "goňşular" üçin amatly.

3. 2 Hyzmat JWT (STS)

Siz kimsiňiz: habary subut edýär.
Gysga Access JWT (2-5 minut) c 'aud', 'scp', 'tenant', 'region'.
KMS/HSM, açyk açarlar - JWKS arkaly 'kid' we rotasiýa bilen gol çekýär.
Lokal barlamak (IdP çagyryşsyz).

3. 3 SPIFFE/SPIRE (SVID)

Workloadlaryň ähliumumy şahsyýeti: 'spiffe ://trust-domain/ns/< ns >/sa/< sa>'.
Awtomatiki issuance/rotation X.509/JWT-SVID, Istio/Linkerd bilen integrasiýa.

3. 4 OAuth 2. 1 Client Credentials / Token Exchange (RFC 8693)

Maşyn müşderileri STS-den belgi alýarlar; ulanyjynyň "adyndan" hereketler üçin - OBO (token exchange).

Birleşdirýäris: Kanal üçin mTLS, Habar üçin JWT, Durnukly şahsyýetler üçin SPIFFE.

4) Salgylanma arhitekturasy


[KMS/HSM]       [Policy Store / PDP]

[STS/IdP (issuer)] ── JWKS ──[Gateway/PEP] ─────[Services/PEP]
│
SVID/JWT │         │    │      │
(SPIRE/Istio)│      mTLS/DPoP  │    mTLS/DPoP
│         │    │      │
[Workload/Sidecar]─────────┴───────┴────────────┘

Issuer (STS/IdP): JWT/CVID gysga hyzmatlaryny çykarýar, JWKS neşir edýär.
Gateway (PEP): tor termini, mTLS/JWT tassyklaýar, kontekstde baýlaşdyrýar, PDP soraýar.
Services (PEP): Gaýtadan barlamak (defense in depth), PDP çözgütleriniň keşi.
SPIRE/mesh: mTLS üçin awto-şahadatnamalar we SVID.

5) JWT hyzmat formaty (mysal)

json
{
"iss": "https://sts. core",
"sub": "svc. catalog, "//service identity
"aud": ["svc. search"] ,//target service/domain
"exp": 1730390100, "iat": 1730389800,
"tenant": "brand_eu",
"region": "EE",
"scp": ["catalog:read:public","catalog:read:tenant"],
"mtls": { "bound": true, "spiffe": "spiffe://core/ns/prod/sa/catalog" }
}

ES256/EdDSA gol çekdi, 'kid' açary görkezýär.
Kanala goşmaça binding: baýdak, hash cert, SVID.

6) Bermek syýasaty (STS) we tassyklamak

Bermek:
  • Subject SVID/müşderi şahadatnamasyndan/müşderiniň registrinden alynýar.
  • Ömri 2-5 minut, refresh ýok - munuň ýerine STS-den täzeden soraň.
  • Satyn almak/tomaşaçylar müşderiniň haýyşyndan däl-de, Policy Store-dan (GitOps) alynýar.
Barlamak (PEP):

1. mTLS (goşmaça) we zynjyryň dogrulygyny barlaň.

2. JWKS boýunça JWT goluny barlaň ('kid').

3. Barlaň 'exp/nbf/iss/aud', tenant/region/licence.

4. Mazmuny baýlaşdyryň we PDP (RBAC/ABAC/ReBAC) soraň.

5. PDP (TTL 30-120 c) çözgüdini kesmek, wakalar boýunça maýyplyk.

7) Köp tenant we sebitler (trust domains)

Trust-domain's bölüň: 'spiffe ://eu. core`, `spiffe://latam. core`.
Sebitler boýunça aýratyn JWKS/PKI; sebitara - diňe ynanylan şlýuzlar arkaly.
'tenant/region/licence' belliklerine goşuň we çeşmäniň laýyklygyny barlaň.
Logy/audit tenantlar we sebitler boýunça bölünýär.

8) Mesh/sidecar we mesh rejimi

Istio/Linkerd: mTLS "gutudan", L4/L7 derejesinde policy-enforcement, SPIRE bilen integrasiýa.
Mesh bolmasa: kitaphana-müşderi + programmada mutual TLS; aýlanmagy dolandyrmak has kyn - agentiň üsti bilen awtomatlaşdyryň.

9) Açarlar, JWKS we aýlanyş

Şahsy açarlar diňe KMS/HSM-de; goly - uzakdaky jaň/enjam.
Her N günde rotation; dual-key: köne + täze kabul edilýär, issuer gyzdyrylandan soň täzesine gol çekýär.
Gözegçilik: "kid" boýunça sarp ediş paýy, köne açarda "asylan" müşderiler.

Konfigurasiýa mysaly (YAML):
yaml issuer:
jwks:
alg: ES256 rotation_days: 30 publish_cache_ttl: 60s sts:
access_ttl: 5m audience_policies:
- subject: "svc. catalog"
allow: ["svc. search","svc. wallet"]
scopes: ["catalog:read:"]
tenancy:
claims: ["tenant","region","licence"]
jwks_per_region: true

10) Kanala baglanyşyk (DPoP/mTLS-bound)

mTLS-bound tokens: JWT-e hash müşderi şahadatnamasyny goşmak; kabul edişlikde barlamak.
DPoP: mTLS-siz HTTP-müşderiler üçin - her bir haýyşa DPoP açary bilen gol çekiň, AT-a DPoP thumbprint goýuň.

11) Ýalňyşlyklar we yzyna gaýtarmak syýasaty

Kodlary standartlaşdyryň:
  • `401 INVALID_TOKEN`/`EXPIRED_TOKEN`/`AUD_MISMATCH`.
  • `401 MTLS_REQUIRED`/`MTLS_CERT_INVALID`.
  • `403 INSUFFICIENT_SCOPE`/`POLICY_DENY`.
  • `429 RATE_LIMITED`.

Jogapda machine-readable 'error _ code' we 'as _ of' (açar/syýasat görnüşi) bar.

12) Gözegçilik we audit

Metrikler:
  • `s2s_auth_p95_ms`, `verify_jwt_p95_ms`, `jwks_skew_ms`,
  • `invalid_token_rate`, `aud_mismatch_rate`, `insufficient_scope_rate`,
  • kid boýunça sarp etmek, mTLS-bound soraglarynyň paýy.
Giriş/söwda:
  • `subject`, `aud`, `tenant`, `region`, `scp`, `kid`, `sid/svid`, `decision`, `policy_version`, `trace_id`.
Audit (üýtgemeýän):
  • Bellikleri bermek, açarlary aýlamak, syýasatlary üýtgetmek, ret edilen haýyşlar.

13) Öndürijilik

JWT-ni barlamak - ýerli, JWKS-i fon täzelenmesi bilen kesiň (TTL 30-60 s).
X.509 zynjyrlary - CA pinning we OCSP/CRL kesiş.
Gymmat bahaly I/O tassyklamasyny gateway/sidecar-a geçiriň.
Prefetch belliklerini/şahadatnamalaryny ulanyň (möhleti 10-20 s öň).

14) Synag

Contract/interop: Dürli YAP/kitaphanalar, clock skew ± 300 s.
Negative: möhleti geçen/galp belgi, nädogry 'aud', nädogry sebit/tenant, döwülen cert-chain.
Chaos: 'kid' duýdansyz aýlanmagy, JWKS-iň elýeterliligi, köpçülikleýin ekspirasiýa, mTLS-iň döwülmegi.
Ýüklemek: STS-de berişiň iň ýokary derejesi, gateway-da verify-iň ýokarlanmagy.
E2E: mTLS-only, JWT-only, kombinirlenen re modeim, Token Exchange (OBO).

15) Oýun kitaplary (runbooks)

1. Gol açaryny bozmak

Derrew revoke 'kid', täze, gysgaldylan TTL belliklerini çykarmak, audit, "asylan" müşderileri gözlemek, köne 'kid' üçin mejbury deny.

2. Köpçülikleýin 'INVALID _ TOKEN'

JWKS-kesşini, sagatlaryň bölünişigini, tokenleriň gelip çykyşyny (TTL gaty gysga) barlaň, skew elýeterliligini wagtlaýyn giňeldiň, JWKS-i gyzdyryň.

3. mTLS şowsuzlyklary

CA zynjyryny, SVID möhletini, hostyň wagtyny barlamak; SPIRE/Istio arkaly emergency-gaýtadan çykarmak, fallback-marşrutlary diňe sebitiň içinde goşmak.

4. 'AUD _ MISMATCH'

Drift syýasatçy audience: STS-policy hakyky jaňlar bilen deňeşdiriň, wagtlaýyn 'aud' goşuň, çagyryş arhitekturasyny düzetmegi meýilleşdiriň.

5. STS elýeterli däl/haýal

Eýýäm berlen tokenleriň TTL-ini köpeltmek (grace), prefetch/refresh-öň, scale-out STS-i goşmak.

16) Adaty ýalňyşlyklar

Uzak ömürli API açarlary/env/kodda syrlar.
JWKS/PKI "ähli sebitler we döwürler üçin".
Binding ýoklugy (mTLS/DPoP) → belgi aňsatlyk bilen aýrylýar.
Giň 'aud =' we 'admin' scopes.
Dual-key döwri bolmazdan aýlanma → köpçülikleýin 401.
Bellikleri diňe gateway-da barlamak (defense in depth ýok).
"Dilsiz" ret etmek (no 'error _ code' ve 'reason') - jedelleşmek we toparlary taýýarlamak kyn.

17) Konfigurasiýanyň kiçi şablonlary

PEP (gateway) - düzgünler:
yaml auth:
require_mtls: true jwks:
url: https://sts. core/.well-known/jwks. json cache_ttl: 60s claims:
required: ["iss","sub","aud","exp","tenant","region"]
tenant_in_header: "x-tenant"
pdp:
endpoint: "opa:8181/v1/data/policy/allow"
decision_cache_ttl: 60s
STS syýasaty (bölek):
yaml subjects:
- id: "svc. catalog"
spiffe: "spiffe://core/ns/prod/sa/catalog"
audiences: ["svc. search","svc. wallet"]
scopes: ["catalog:read:"]
ttl: "5m"

18) Azyk önüminden öň çek-sanawy

  • Gysga hyzmat JWT (5 minutdan ≤), lokal tassyklama, JWKS keşi.
  • mTLS (ýa-da DPoP) goşuldy; ileri tutulýan - mTLS-bound tokens.
  • SPIFFE/SPIRE ýa-da şahadatnamalaryň awto-berilmegi/aýlanmagy üçin ekwiwalent.
  • STS audience/scope syýasatlary bilen; diňe ynanylan şahsyýet boýunça bermek.
  • Sebitler boýunça trust-domains we JWKS bölünişi; tenant/region/licence bellikleri barlanýar.
  • PDP/PEP integrirlenen, çözgütleriň nagt puly + wakalar boýunça maýyplyk.
  • Dual-key penjireleri, 'kid' sarp ediş gözegçiligi, invalid/aud mismatch üçin alertler.
  • Doly giriş/audit S2S, öndürijilik/ýalňyşlyk metrikleri bar.
  • Açaryň barlagy, STS ýykylmagy, mTLS şowsuzlygy.
  • contract/negative/chaos/load/E2E synaglaryň toplumy geçdi.

Netije

S2S-autentifikasiýa, merkezleşdirilen STS tarapyndan dolandyrylýan we ýerli barlanylýan ynam kanalynyň (mTLS), ynam habarynyň (gysga JWT) we workloadyň durnukly şahsyýetiniň (SPIFFE) utgaşmasydyr. Trust-domen bölünişigini, berk audience/skopes, awtomatiki aýlanyş we gözegçilik - we platforma we onuň geografiýasy bilen bilelikde ygtybarly, düşündirip boljak we ulaldylýan kontury alyň.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.