Logo GH

Վավերացում և հեղինակային իրավունք

AuthN/AuthZ-ի հուսալի իրականացումը ճշմարտության մի կետ է այն մասին, թե ով եք դուք (վավերացում) և ինչ եք դուք թույլատրվում (հեղինակային)։ Պլատֆորմում, բազմաթիվ բրենդներով, տարածաշրջաններով, ինտեգրումներով և բարձր կարգավորող պայմաններով այս նախաձեռնությունը պետք է լինի մոդուլային, դիտարկվող և կառավարվող քաղաքական գործիչներ, և ոչ թե «ծառայությունների վրա if-s ցրումը»։

1) Հիմնական տերմինները և դերերը

Նույնականացումը (ID) անհատականության հաստատումն է (user, 108, provider)։

Վավերացում (AuthN) 'անհատականության ապացույց (գաղտնաբառ, MFA, հավաստագիր)։

Հեղինակային (AuthZ) '«կարող/անհնար» որոշման ընդունումը քաղաքական և կոնտեքստի հիմքում։

PDP/PEP: Policy Decision Point (որոշում )/Policy Enforcium Point (օգտագործում)։

IdP 'նույնականացման պրովայդեր (OIDC)։

Exprest/Resource/Action/Exprest: Ով/ինչ/ինչ է անում/ինչ պայմաններում։

2) Ընդհանուր ճարտարապետությունը


[ IdP (OIDC) ]
│ OIDC/OAuth 2. 1 (PKCE, JAR/JARM)

[ Token Service / JWKS / KMS ]
│klyuchi (rotate)
│ JWT/Access/Refresh, mTLS

[API Gateway (PEP)] Solution/Policy ──kesh
│ authN/CSRF/CORS/rate-limit

[ Microservices (PEP)]──PDP (OPA/cedar) ──Policy Store (GitOps)
│audit/metriki

[ Data/Providers ]── service-to-service (mTLS+JWT/Spiffe)

Սկզբունքները ՝ հոսանքների և քաղաքական քաղաքականության կենտրոնացումը, տեղական օգտագործումը։ «Նվազագույն արտոնություններ» և ակնհայտ հաշվարկներ։

3) Օգտագործողների վավերացումը (OIDC/OAuth 2։ 1)

Patterns

Authorization Code + PKCE (միշտ SPA/Mobile) համար։

SSO 'արտաքին IDP (SAML/OIDC) աջակցությունը b2b/օպերատորների համար։

MFA: TOTP/International Authn/SMS (Express Authn և TOTP; SMS — fallback).

Risk-based Step-Up: զգայուն հաշվարկներով (միջոցների դուրսբերումը, ավելացումների փոփոխությունը) պահանջել MFA/pe-Auth։

Անվտանգության պրակտիկան

Refresh Token Rotation + www.RT-ը վերաօգտագործման դետեկտով։

Nonce/State + PKCE-ը, խիստ MSS/CSRF-ը զննարկիչների հոսքերի համար։

Short-lived access tokens (5–15 мин) + silent refresh/RT.

Device binding (DPoP/mtom-bound tokens) կրիտիկական վիրահատությունների համար։

JWT-ի օրինակը (օգտագործողը)

json
{
"iss": "https://auth. example. com",
"sub": "user_9f12",
"aud": ["wallet","catalog"],
"exp": 1730385600,
"iat": 1730384700,
"tenant": "brand_eu",
"region": "EE",
"amr": ["pwd, ""webauthn"] ,//authentication methods
"scp": ["wallet:read","bets:place","kyc:status. read"],
"sid": "sess_a1b2c3",      // session id
"acr": "urn: mfa: strong "//warranty level
}

4) Ծառայության վավերացումը (mTSA, SPIFFE, JWT)

MTSA-ը + SPIFFE/SPIRE ծառայությունների միջև workload-ի կայուն ցուցանիշների համար։

Intel JWT-ը կարճ ժամանակով (355 րոպե), որը ստորագրվել է HSM/KMS-ի կողմից։ ստուգման աուդիտ։

Audience-scoped: JWT-ը հարմար է միայն կոնկրետ կոդավորման/տիրույթի համար։

Վստահության գոտիները 'այլ տարածաշրջանից/տենբուրգից ծառայությունները' առանձին PKI և քաղաքականություն։

5) Հեղինակային մոդելներ ՝ RBAC, ABAC, ReBAC, ReBAC

RBAC (ռուսական լուծման դերերը) 'պարզ և թափանցիկ (հարմար է admin-2019, օպերատորների համար)։

ABAC (սուբյեկտի/ռեսուրսի/ենթատեքստի ատրիբուտներ) 'ճկուն "tenault =... AND region=… AND kyc_tier≥2».

ReBAC (հարաբերություններ) 'օգտակար բարդ ունեցվածքի համար («ով ունի բրենդի/հայրիկի/քարոզարշավի»)։

Առաջարկություն 'հիբրիդ - www.RBAC + կոնտեքստային ABAC պայմանները + կետային ReBAC հարաբերությունները։

6) Քաղաքականություններ և դրանց կատարումը (PDP/PEP)

PEP-ը Gateway-ում և ծառայություններում 'հանում է կոնտեքստը (JWT, մանդատները, IP/ASN, ժամանակը, տարածքը, KYC մակարդակը), ձևավորում է PDP-ի հարցումը։

PDP (օրինակ, OPA/cedar) ստանում է

json
{
"subject": { "sub":"user_9f12", "roles":["support"], "kyc":2, "tenant":"brand_eu" },
"action": "bets. place",
"resource": { "game_id":"g_42", "provider":"pr_x" },
"context": { "region":"EE", "ip_asn":"AS12345", "time":"2025-10-31T12:34:56Z" }
}

և վերադարձնում է 'ALLOW/DENY' + բացատրությունը։

Cash լուծումները PEP-ում (TTL 30-120 c) նվազեցնում է լատենտությունը։ հաշմանդամություն ունեցող անձանց համար «դեր/քաղաքական փոփոխություն»։

Քաղաքականության օրինակ (կեղծ-Rego)

rego package bets

default allow = false

allow {
input. action == "bets. place"
input. subject. kyc >= 2 input. subject. tenant == input. context. tenant not blocked_region within_limits
}

blocked_region { input. context. region == "NL" }
within_limits { input. context. bet_amount <= data. limits. max_bet[input. subject. tenant] }

7) Սկոպները և թույլտվությունները

Անվանումը

Ռեսուրս ՝ «wallet: read ',» wallet: transfer «,» bets: place «,» kyc: status։ read`.

Ադամինների համար '«admin: » մեկուսացված օրինակում։

Պրովայդերների համար '"provider: reance։ read`, `provider:events. push`.

Նվազագույն արտոնությունների սկզբունքը նշանակում է միայն անհրաժեշտ մոտիվներ։ «Էսկալացիա» (իրավունքների ժամանակավոր ընդարձակումը) - տիկետի և TTL-ի հետ։

8) Multi tenant և տարածաշրջանները (residency)

Տոկենները պարունակում են «tenault», «region», «licence»; PDP-ն ստուգում է ռեսուրսի համապատասխանությունը։

Դերերը/քաղաքականությունը per ten.ru անունների տարածքն է («role: brand _ eu/super.ru»)։

Ռուսական ստորագրությունների բաժանումը և հետ կանչման ցուցակները տարածաշրջաններով։ Քրոս-տարածաշրջանային հարցումները միայն վստահելի դարպասների միջոցով են։

9) Նստաշրջանների և սարքերի կառավարումը

Server-session store-ը web-ի համար (կապում է սարքի/զննարկչի հետ, կոդավորման անջատումը)։

Idle/Absolator Timeout (օրինակ ՝ 30 րոպե/24 ժամ); զգայուն գործողությունները re-Auth/MFA են։

Ակտիվ սարքերի լիստինգը, «ելքը բոլորի համար»։

Աննոմալիա 'տարբեր տարածաշրջաններից միաժամանակ մուտքեր, MFA հաճախակի ձախողումները ռիսկի ազդանշաններ են։

10) Ինտեգրումը և համաձայնությունը (consent)

On-behalf-of (OBO) 'ծառայությունը գործում է օգտագործողի անունից (sub/' act ")։

Համաձայնություն 'ակնհայտ էկրանը գործընկերոջ հասանելիության համար տվյալների, ամսագիրը համաձայն է հետ։

Ժամանակավոր ստանդարտ-mandates: N/օրվա իրավունքները ինքնաբերաբար լրանում են։

11) Բանալիներ, ստորագրություններ և հավատարմագրում

JWKS-ը 'kid', ավտոմատ նավարկումը, KFC/HSM մասնավոր փաթեթների պահպանումը։

Ալգորիթմներ ՝ ES256/EdDSA-ի համար JWT-ի համար։ TLS 1. 2+/mTLS.

Dj-key ժամանակահատվածը 'երկու «kid» ընդունումը մինչև հաճախորդների նորարարությունը։

RT և Token Introsport-ի վերանայումը կրիտիկական գործողությունների համար։

12) Հաճախորդների ծրագրերի անվտանգությունը

SPA: Authorization Code + PKCE, no `implicit`, строгий CORS/Content-Security-Policy.

Mobile: App Attestation/Device Cork, պաշտպանված RT, պաշտպանություն ռութից/ջեյլբրեյքից։

Desktop: Համակարգային զննարկիչ լոգինի համար (wwww.embedded web-views), PKCE-ի համար։

13) SDK հարմար պայմանագրերը

Evaluate (AuthZ) API:
http
POST /authz/evaluate
Authorization: Bearer <access_jwt>
Body: { "action":"bets. place", "resource":{"game_id":"g_42"}, "context":{"bet_amount":5. 0} }
→ 200 { "decision":"ALLOW", "ttlMs":60000, "explain":"kyc>=2, limit ok" }
Token Exchange (OBO):
http
POST /oauth/token grant_type=urn:ietf:params:oauth:grant-type:token-exchange subject_token=<user_jwt>&actor_token=<service_jwt>&audience=wallet

14) Դիտողությունն ու աուդիտը

Մետրիկները

`authn_success_rate`/`mfa_challenge_rate`/`mfa_fail_rate`

`authz_p95_ms`, `authz_denied_rate{reason}`

`invalid_token_rate`, `jwks_skew_ms`, `rt_reuse_detected`

Մուտքերի անոմալիա (new device, geo-velocity), կասկածելի կատակներ։

Լոգա/Աուդիտ (անփոփոխ)

`who/what/when/where/why`, `decision`, `policy_version`, `token_kid`, `client_id`.

Էքսպորտը կոմպլանսի համար (կարգավորիչ/վենդոր-աուդիտ)։

15) Պարագծի և հաճախորդի պաշտպանությունը

Gateway PEP: rate-limit, bot/signature winks, CSRF-պաշտպանություն, խիստ SDS, HSTS։

Ներքին ֆորումը ՝ mTSA + ծառայողական JWT + սահմանափակ ցանցեր։

Webhuki/արտաքին գործընկերները 'մարմնի ստորագրությունները (HMAC/JWS), ժամանակի պատուհանները, anti-repley։

16) Տիպիկ սխալներ

Երկար գոյատևող ռուսական արտահոսքերը։

OAuth-ի իմպլիցիտիկ հոսքը SPA-ում։

Միգրացիայի բացակայությունը և Dox-Key ժամանակահատվածը։

Քաղաքական գործչի փոխարեն հագնված դերերը (անհնար է ստուգել/բացատրել որոշումները)։

Թենանտների/տարածաշրջանների խառնուրդը մեկ «role» կամ «key» -ում։

Ոչ step-up MFA-ը զգայուն պարամետրերի վրա։

AuthZ լուծումները առանց դերերի փոփոխության։

17) Պլեյբուկի (runbooks)

1. JWT ստորագրության ստեղնի փոխզիջումը

Վերը նշված revoke 'kid ", նոր JWKS-ի հրատարակումը, RT/նստաշրջանների հարկադիր հաշմանդամությունը, օրինագծի զեկույցը։

2. Զանգվածային 'alid _ token'

Ստուգել rusinhron ժամ/կյանքի ժամանակը, JWKS-ի արդիականությունը, կեշի ձախողումը։

3. Մուտքերի անոմալիաներ

Միացրեք բարձրացված ռիսկային, պահանջեք step-up, տեղեկացրեք օգտագործողին, ժամանակավորապես սահմանափակեք վճարումները։

4. IDP ձախողումը

Անցեք նստաշրջաններին/դեր-սարքին, սահմանափակեք նոր տրամաբանությունները, պահեք գործող նստաշրջանները մինչև TTL։

18) Չեկ թուղթ մինչև վաճառելը

  • OIDC/OAuth 2. 1 PKCE-ից, կարճ AT, RT, device binding կրիտիկական վիրահատությունների համար։
  • MFA (WinAuthn/TOTP) և step-up եզրակացությունների/փոփոխման համար/
  • AuthZ (RBAC + ABAC/ReBAC) կենտրոնացված PDP-ում։ PEP-ը gateway-ում և ծառայություններում։
  • Հաշմանդամություն ունեցող որոշումներ. audit trail անփոփոխ է։
  • Multi-tenant/տարածաշրջաններ '2019/քաղաքական/logs, ռուսական։
  • JWKS/բանալիներ KFC/HSM, dom-key-key-key, www.'kid "։
  • CSRF/MSS/HSTS/Rate-limit/bot ֆիլտրեր պարագծի վրա։
  • Pleybuks no, run-կոճակներ revoke/rotate/wwww.kdown։
  • Թեստերի հավաքածու ՝ unit (policies), www.ract (MSK/flows), chaos (IdP, JWKS), e2e (step-up, OBO, revoke)։
[Windows-to-2019: mTFC + SPIFFE, կարճ JWT ծառայություններ։

19) Միգրացիայի մինի ձևանմուշները

Scoom-2019 (YAML)
yaml scopes:
wallet: read: {desc: "Reading balance"}
wallet: transfer: {desc: "Transfer of funds," sensitive: true, step_up: true}
bets: place: {desc: "Bet"}
kyc:status. read: {desc: "KYC status"}
roles:
support:
allow: [wallet:read, kyc:status. read]
finance:
allow: [wallet:read, wallet:transfer]
player:
allow: [bets:place]

PDP քաղաքականությունը (տարածաշրջանի պայմանը)

yaml deny:
- when: { region: ["NL","BE"] }
actions: ["bets."]

Եզրակացություն

Ինտեգրման և հեղինակային իրավունքի իրականացումը ոչ թե գրադարան է, այլ պլատֆորմային ունակություն 'կարճ հոսանքներ և կառավարվող բանալիներ, կենտրոնացված քաղաքականություններ և տեղական կիրառություններ, բազմաֆակտոր և step-up, տենանտների/տարածաշրջանների խիստ մեկուսացում, աուդիտ և հեռուստատեսություն։ Այս դիզայնը փոփոխում է անվտանգ, բացատրված կարգավորիչի համար և թափանցիկ ապրանքի համար, իսկ շուկաների և թիմերի մասշտաբը դառնում է ռուտինի վիրահատություն, ոչ թե սխրագործություն։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։