GH GambleHub

S2S-authentication

η ταυτοποίηση αποδεικνύει ποια υπηρεσία/ροή εργασίας υποβάλλει το αίτημα και του δίνει τα ελάχιστα απαραίτητα δικαιώματα για περιορισμένο χρονικό διάστημα. Σε αντίθεση με τις ροές χρηστών, δεν υπάρχει κανείς εδώ - επομένως, η σύντομη διάρκεια ζωής των διαπιστευτηρίων, η κρυπτογραφική δέσμευση στην προπόνηση/κανάλι και η σαφής παρατηρησιμότητα είναι κρίσιμες.

1) Στόχοι και αρχές

Μηδέν εμπιστοσύνη εξ ορισμού: μην εμπιστεύεστε το δίκτυο, μόνο πιστοποίηση της προπόνησης και της κρυπτογραφίας.
Βραχύβιες πιστώσεις: λεπτά, όχι ημέρες/μήνες.
Δεσμευτικό πλαίσιο: ενοικιαστής/περιφέρεια/άδεια/κοινό/πεδίο εφαρμογής.
Κεντρική έκδοση, αποκεντρωμένη επαλήθευση: STS/IdP + τοπική επαλήθευση.
Ελάχιστα προνόμια και ρητή ανάθεση αρμοδιοτήτων: μόνο απαραίτητα πεδία εφαρμογής και έλεγχοι.
Περιστροφή «χωρίς πόνο»: παράθυρα διπλού κλειδιού/διπλής πιστοποίησης και αυτοματοποίηση.

2) Μοντέλο απειλής (ελάχιστο)

Κλοπή μακρόβιων μυστικών (κλειδιά API, μακρόβια RT).
Υπηρεσίες spoofing εντός του VPC/συμπλέγματος.
Διαπεριφερειακές επιθέσεις σε κατακερματισμό.
Επανάληψη/υποκατάσταση κίνησης πληρεξουσίου.
Υποκατάσταση εικόνας εφοδιαστικής αλυσίδας/εμπορευματοκιβωτίου.
Σφάλματα διαμόρφωσης (ευρύ τείχος προστασίας/κανόνες ματιών, κοινό JWKS για όλους).

3) Βασικά πρότυπα S2S

3. 1 mTLS (αμοιβαία πιστοποιητικά)

Ποιοι είστε εσείς: αποδεικνύεται από το κανάλι.
Πιστοποιητικά βραχύβια (ημέρα ώρας) από εσωτερική PKI· η διαχείριση της απελευθέρωσης/περιστροφής γίνεται με πλέγμα/πλευρικό κάνιστρο ή παράγοντα SPIRE.
Καλό για τους «γείτονες» στον ίδιο τομέα εμπιστοσύνης και για τις δεσμευτικές μάρκες.

3. 2 Υπηρεσίες JWT (STS)

Ποιοι είστε εσείς: αποδεικνύεται με ένα μήνυμα.
Σύντομη πρόσβαση JWT (2-5 λεπτά) με 'aud', 'scp', 'ενοικιαστής', 'περιφέρεια'.
Σημάδια KMS/HSM, δημόσια κλειδιά - μέσω JWKS με «παιδί» και περιστροφή.
Έλεγχος τοπικά (χωρίς κλήση δικτύου IdP).

3. 3 SPIFFE/SPIRE (SVID)

Καθολική ταυτότητα των εργαζομένων: «spiffe ://trust-domain/ns/< ns >/sa/< sa>».
Αυτόματη έκδοση/εναλλαγή X.509/JWT-SVID, ενσωμάτωση με Istio/Linkerd.

3. 4 OAuth 2. 1 Εντολές πελατών/Χρηματιστήριο δεμάτων (RFC 8693)

Οι πελάτες μηχανών λαμβάνουν μια μάρκα από STS. για ενέργειες «εκ μέρους του χρήστη» - OBO (ανταλλαγή σημάτων).

Συνδυάστε: mTLS για το κανάλι, JWT για το μήνυμα, SPIFFE για σταθερές ταυτότητες.

4) Αρχιτεκτονική αναφοράς


[KMS/HSM]       [Policy Store / PDP]

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

Εκδότης (STS/IdP): εκδίδει σύντομη υπηρεσία JWT/CVID, δημοσιεύει JWKS.
Πύλη (PEP): όρος δικτύου, επικυρώνει mTLS/JWT, εμπλουτίζει το πλαίσιο, ζητά PDP.
Υπηρεσίες (PEP) - άμυνα σε βάθος, λύσεις PDP cache.
SPIRE/πλέγμα: αυτόματα πιστοποιητικά και SVID για mTLS.

5) Μορφότυπος υπηρεσίας JWT (παράδειγμα)

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, το «παιδί» υποδηλώνει ενεργό κλειδί.
Προαιρετική δέσμευση στο κανάλι: σημαία, hash cert, SVID.

6) Πολιτικές έκδοσης (STS) και επαλήθευση

Θέμα:
  • Το θέμα λαμβάνεται από το μητρώο SVID/πελάτη/πελάτη.
  • Διάρκεια ζωής 2-5 λεπτά, ανανεώστε κανένα - ζητήστε ξανά STS.
  • Τα πεδία/ακροατήρια λαμβάνονται από το Policy Store (GitOps), όχι από αίτημα πελάτη.
Επικύρωση (PEP):

1. Έλεγχος mTLS (προαιρετικά) και εγκυρότητα αλυσίδας.

2. Ελέγξτε την υπογραφή JWT από το JWKS (από το 'παιδί').

3. Check 'exp/nbf/iss/aud', ενοικιαστής/περιφέρεια/άδεια.

4. Εμπλουτίστε το πλαίσιο και ρωτήστε το PDP (RBAC/ABAC/ReBAC).

5. Διάλυμα Cache PDP (TTL 30-120 s), αναπηρία γεγονότων.

7) Πολυπληθείς και περιφέρειες (τομείς εμπιστοσύνης)

Χωριστοί τομείς εμπιστοσύνης: 'spiffe ://eu. πυρήνας ',' spiffe ://latam. πυρήνας '.
Χωριστό JWKS/PKI ανά περιφέρεια. διαπεριφέρεια - μόνο μέσω αξιόπιστων πυλών.
Συμπερίληψη 'ενοικιαστή/περιφέρειας/άδειας' στα γραμματόσημα και έλεγχος της συμμόρφωσης των πόρων.
Καταγραφές/λογιστικοί έλεγχοι τμημάτων από ενοικιαστές και περιφέρειες.

8) Τρόπος ματιών/πλευρικού οχήματος και χωρίς μάτια

Istio/Linkerd: mTLS εκτός πλαισίου, εφαρμογή πολιτικής σε L4/L7 επίπεδο, ενσωμάτωση με SPIRE.
Χωρίς πλέγμα: βιβλιοθήκη πελάτη + αμοιβαία TLS στην εφαρμογή· δυσκολότερη διαχείριση της περιστροφής - αυτοματοποίηση μέσω του παράγοντα.

9) Κλειδιά, JWKS και περιστροφή

Ιδιωτικά κλειδιά μόνο σε KMS/HSM. υπογραφή - με εξ αποστάσεως κλήση/σύνολο.
Εναλλαγή κάθε ημέρα N. διπλή κλείδα: παλαιά + νέα γίνονται δεκτά, ο εκδότης υπογράφει νέα σήματα μετά την προθέρμανση των κρυψώνων.
Παρακολούθηση: μερίδιο της κατανάλωσης από «παιδί», κρεμασμένοι πελάτες στο παλιό κλειδί.

Παράδειγμα ρύθμισης (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) Δεσμευτική σύνδεση (DPoP/mTLS)

mTLS-δεσμευμένες μάρκες: προσθήκη hash πιστοποιητικού πελάτη στην JWT· ελέγξτε κατά την παραλαβή.
DPoP: για τους πελάτες HTTP χωρίς mTLS - υπογράψτε κάθε αίτημα με ένα κλειδί DPoP, τοποθετήστε ένα αποτύπωμα επισκόπησης DPoP στην AT.

11) Σφάλματα και πολιτική επιστροφής

Κωδικοί τυποποίησης:
  • '401 INVALID_TOKEN'/'EXPIRED_TOKEN'/'AUD_MISMATCH'.
  • '401 MTLS_REQUIRED'/'MTLS_CERT_INVALID'.
  • '403 INSUFFICIENT_SCOPE'/'POLICY_DENY'.
  • '429 RATE_LIMITED'.

Η απάντηση περιέχει μηχανικά αναγνώσιμο 'error _ code' και 'as _ of' (key/policy version).

12) Παρατηρησιμότητα και λογιστικός έλεγχος

Μετρήσεις:
  • 's2s _ auth _ p95 _ m ,' verify _ jwt _ p95 _ m , 'jwks _ skew _ m ,
  • 'invalid _ token _ rate', 'aud _ mismatch _ rate', 'ανεπαρκής _ scope _ rate',
  • κατανάλωση από το «παιδί», το ποσοστό των αιτήσεων που συνδέονται με το mTLS.
Ημερολόγια/Μονοπάτια:
  • «subjec ,» au , «ενοικιαστής», «περιφέρεια», «scp», «παιδί», «sid/svid», «απόφαση», «πολιτική _ έκδοση», «trace _ id».
Έλεγχος (αμετάβλητος):
  • Έκδοση σημάτων, εναλλαγή κλειδιού, αλλαγές πολιτικής, απορριφθέντα αιτήματα.

13) Επιδόσεις

Επαλήθευση JWT - τοπικά, cache JWKS (TTL 30-60 s) με ενημέρωση φόντου.
X.509 αλυσίδες - CA pinning και OCSP/CRL cache.
Φέρτε την ακριβή επικύρωση I/O στην πύλη/sidecar.
Χρησιμοποιήστε προγεμισμένες μάρκες/πιστοποιητικά (10-20 δευτερόλεπτα πριν από τη λήξη).

14) Δοκιμές

Σύμβαση/interop: διαφορετικά NP/βιβλιοθήκες, ρολόι skew ± 300 s.
Αρνητικό: ληγμένο/ψεύτικο σύμβολο, εσφαλμένο «aud», εσφαλμένη περιοχή/ενοικιαστής, σπασμένη αλυσίδα πιστοποιητικών.
Χάος: ξαφνική περιστροφή «παιδί», μη διαθεσιμότητα JWKS, μαζική λήξη, θραύση mTLS.
Φορτίο: έκδοση αιχμής σε STS, επαλήθευση ακίδας στην πύλη.
: mTLS-μόνο, JWT-μόνο, συνδυασμένη λειτουργία, Token Exchange (OBO).

15) Βιβλία παιχνιδιών (runbooks)

1. Υπογραφή βασικού συμβιβασμού

Άμεση ανάκληση «παιδί», απελευθέρωση νέων, συντομευμένων σημάτων TTL, έλεγχος, αναζήτηση «κρεμασμένων» πελατών, αναγκαστική άρνηση για το παλιό «παιδί».

2. Μάζα 'INVALID _ TOKEN'

Ελέγξτε την μνήμη JWKS, την εσφαλμένη ευθυγράμμιση ρολογιού, τη συμβολική προέλευση (TTL πολύ σύντομη), την προσωρινή επέκταση της ανοχής skew, την προθέρμανση JWKS.

3. απόρριψη mTLS

Ελέγξτε την αλυσίδα CA, τις ημερομηνίες SVID, τον χρόνο υποδοχής. επανέκδοση έκτακτης ανάγκης μέσω SPIRE/Istio, που επιτρέπει εφεδρικές διαδρομές μόνο εντός της περιοχής.

4. 'AUD _ MISMATCH' growth

Μετατόπιση της πολιτικής ακροατηρίου: σύγκριση της πολιτικής STS με τις πραγματικές κλήσεις, προσωρινή προσθήκη του επιθυμητού 'aud', προσαρμογή της αρχιτεκτονικής κλήσεων χρονοδιαγράμματος.

5. Μη διαθέσιμο/αργό STS

Αύξηση του TTL των ήδη εκδοθέντων σημάτων (χάριτος), ενεργοποίηση προεπιλογής/ανανέωσης, κλιμάκωσης STS.

16) Τυπικά σφάλματα

Μακρόβια πλήκτρα/μυστικά API σε env/code.
Στρατηγός JWKS/PKI «για όλες τις περιφέρειες και για κάθε φορά».
Έλλειψη δέσμευσης (mTLS/DPoP) → το σύμβολο είναι εύκολο να αφαιρεθεί.
Ευρύ πεδίο «aud =» και «admin» εξ ορισμού.
Περιστροφή χωρίς περίοδο διπλού κλειδιού → μάζα 401.
Έλεγχος σημάτων μόνο σε πύλη (χωρίς άμυνα σε βάθος).
Αποτυχία «χαζού» (δεν υπάρχει 'error _ code' και 'λόγος') - είναι δύσκολο να αποσφαλματωθούν και να αμαξοστοιχήσουν ομάδες.

17) Υποδείγματα Mini ρυθμίσεων

PEP (πύλη) - κανόνες:
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 (τμήμα):
yaml subjects:
- id: "svc. catalog"
spiffe: "spiffe://core/ns/prod/sa/catalog"
audiences: ["svc. search","svc. wallet"]
scopes: ["catalog:read:"]
ttl: "5m"

18) Κατάλογος ελέγχου πριν από την πώληση

  • Σύντομη υπηρεσία JWT (≤5 λεπτά), τοπική επαλήθευση, μνήμη JWKS.
  • Ενεργοποιημένο mTLS (ή DPoP). προτεραιότητα - μάρκες δεσμευμένες με mTLS.
  • SPIFFE/SPIRE ή ισοδύναμο για αυτόματη έκδοση/εναλλαγή πιστοποιητικών.
  • STS με πολιτικές ακροατηρίου/πεδίου εφαρμογής· έκδοση μόνο με αξιόπιστη ταυτότητα.
  • Διαχωρισμός τομέων εμπιστοσύνης και JWKS ανά περιφέρεια. ελέγχονται τα γραμματόσημα των ενοικιαστών/περιφερειών/αδειών.
  • Ολοκληρωμένη PDP/PEP, λύση κρυψώνα + αναπηρία ανά γεγονός.
  • Παράθυρα διπλού κλειδιού, παρακολούθηση της κατανάλωσης «παιδί», προειδοποιήσεις για αναντιστοιχία άκυρης/aud.
  • Ενεργοποιημένες πλήρεις καταγραφές/ S2S ελέγχου, μετρήσεις επιδόσεων/σφάλματος.
  • Βασικά βιβλία συμβιβασμού, πτώση STS, αποτυχία mTLS.
  • contract/negative/chaos/load/E2E δοκιμαστική σουίτα πέρασε.

Συμπέρασμα

η ταυτοποίηση είναι ένας συνδυασμός channel-trust (mTLS), message-trust (short JWT), και επίμονη ταυτότητα εργαζομένων (SPIFFE), υπό τη διαχείριση ενός κεντρικού STS και επαληθεύεται τοπικά. Προσθέστε διαχωρισμό πεδίου εμπιστοσύνης, αυστηρό κοινό/πεδία, αυτόματη περιστροφή και παρατηρησιμότητα - και έχετε ένα περίγραμμα που είναι αξιόπιστο, εξηγήσιμο και κλιμακωτό μαζί με την πλατφόρμα και τη γεωγραφία της.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Telegram
@Gamble_GC
Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.