GH GambleHub

Ռոլի շարժիչ

1) Հեղինակային իրավունքի մոդելներ

RBAC (Role-Based Systel), սուբյեկտը ստանում է դերեր, դերեր կապված են իրավունքների հետ (permissions)։ Պարզապես կառավարել, լավ է տիպիկ պարտականությունների համար։

ABAC (Attribast-Based Systel Systrol) ՝ լուծումը կախված է սուբյեկտի, ռեսուրսների, գործողությունների և շրջակա միջավայրի հատկանիշներից (ժամանակ, IP, տարածք, ռիսկ)։ Ճկուն և մեծանում է բարդ կանոնների վրա։

RBAC + ABAC-ի հիբրիդը 'դերերը տալիս են «հիմնական» ունակություն, ատրիբուտները նեղացնում են այն (conditions)։

(Oporational) ReBAC/Relensship-based: Հարաբերությունների հաշվարկը (սեփականատերը, թիմի անդամը, պատվիրակը), օգտակար է փաստագրական և տեղեկատվական կառուցվածքների համար։

2) Ճարտարապետություն ՝ PDP/PEP և հոսքեր

PEP (Policy Enforcium Point) 'լուծման օգտագործման տեղը (API-դարպաս, backend մեթոդ, SQL շերտ, UI)։

PDP (Policy Decision Point) 'ծառայություն/գրադարան, որը հաշվարկում է «ALOW/DENY» քաղաքական և բյուջեներով։

PIP (Policy Information Point) ՝ ատրիբուտների աղբյուրներ (IDP/պրոֆիլ, մետատվական ռեսուրս, ռիսկի սկոր, գեո)։

PAP (Policy Administration Point) 'վարչական ինտերֆեյս/ռեպոզիտորիա քաղաքական (վարկածներ, չեռնիվներ, հրատարակություն)։

Հոսքը 'PEP-ի պահանջը ձևավորում է PDP կոդավորման ենթատեքստը քաշում է բացակայող ատրիբուտները (PIP-ի միջոցով) հաշվարկում է PEP կոդավորման լուծումը (թույլ տալ/արգելել դաշտերը) ռուսական աուդիտ։

3) Տվյալների մոդել

Էության (նվազագույն)

`subject` (user/service) с атрибутами: `tenant_id`, `roles`, `departments`, `risk_level`, `mfa_verified`, `scopes`, `claims`.

"resurce 'c տիպով և կոդերով ՝" type "," owner _ id "," tenium _ id "," classifox "(public/didential)," region "," tags "։

`action`: `read`, `write`, `delete`, `export`, `approve`, `impersonate` и т. п.
`environment`: `time`, `ip`, `device`, `geo`, `auth_strength`, `business_context` (канал, тариф).

RBAC մասը

«roles (id, tenium _ id, name, inherits [])» - աջակցեք հիերարխիան և ձևանմուշները։

`permissions(id, resource_type, action, constraint?)`.
`role_permissions(role_id, permission_id)`.

«assignments (wwww.ject _ id, role _ id, scope)» - sco.ru: գլոբալ/ըստ նախագծի/օբյեկտի։

ABAC-մասը (քաղաքականություն)

`policy(id, effect=allow|deny, target: {subject, resource, action}, condition: expr, priority, version, status)`.

4) Որոշումներ կայացնելու սկզբունքները

Deny-overrides: ակնհայտ արգելքները ավելի գերակա են, քան ռուսական։

Least Privilege (PoLP) 'թողեք նվազագույն անհրաժեշտ հասանելիությունը, ընդլայնեք պայմանների միջոցով։

Separation of Duties-ը (SoD) 'դերերի/գործողությունների համադրությունների արգելքը (օրինակ, «ստեղծել է»)։

Exprest-a.ru-ը 'ավելացրեք պահանջները բարձր ռիսկի դեպքում (ոչ MFA, կասկածելի IP)։

Determinism: Նույն ենթատեքստը նույն պատասխանն է։ գրանցեք քաղաքականության տարբերակը ամսագրում։

5) Իրականացման արտոնագրեր

5. 1 Հիբրիդ RBAC no ABAC (օդորակումը)

Դերերը տալիս են «լռելյայն իրավունք», ABAC պայմանները սահմանափակում են

yaml
Declarative Policy Example
- id: doc_read_own effect: allow target: { action: read, resource. type: document, subject. roles: ["editor","owner"] }
condition: resource. owner_id == subject. id

- id: doc_read_team effect: allow target: { action: read, resource. type: document, subject. roles: ["editor","viewer"] }
condition: subject. team_id in resource. shared_team_ids

- id: doc_read_confidential_external effect: deny target: { action: read, resource. type: document }
condition: resource. classification == "confidential" and subject. tenant_id!= resource. tenant_id priority: 100 # deny high priority

5. 2 Row/Field-Level Security

BD-ի մակարդակում 'RFC քաղաքականությունները («tenium _ id», «owner _ id»)։

API մակարդակում 'ֆիլտրեք հավաքածուները և դիմեք դաշտերը, եթե ոչ' allow: read _ sultitive _ fields "։

5. 3 «Step-up» լուծումները

Կախվածությունը ուժի հետ կապված է


allow if action == "export" and subject. mfa_verified == true else deny

5. 4 Ժամանակավոր ընդունիր

Դրամաշնորհներ TTL-ից '«assignae»։ expires _ at "," պատուհաններ "հասանելիության համար (ռեսուրսի տարածաշրջանի աշխատանքային պահին)։

6) Արտադրողականություն և կանխիկացում

Լուծումների կեսը (decision cache) բանալին «(www.ject _ hash, resource _ key, action, policy _ version)» կարճ TTL-ով։

Edge-cash ատրիբուտները (claims) + lazy-fetch ռեսուրսի ատրիբուտներ։

Incremental entalidation: հաշմանդամություն ունեցող անձանց (դերերի փոփոխություն, քաղաքականության փոփոխություն, ռեսուրսի փոխանցումը «didential»)։

Batch-ստուգումներ. Ցուցակների համար գնահատեք «ֆիլտրը» (policy-www.dicate pushdown), որպեսզի չվնասեք PDP-ը։

7) Բազմաբնույթ (Multi-tenae)

Յուրաքանչյուր աղյուսակում '«tenium _ id»; լռելյայն քաղաքականությունը սահմանափակում է մուտքը ինտեգրման ներսում։

Ձեռնարկության ադմինիստրատորները կառավարում են միայն դերերը/իրենց գործընկերության իրավունքները։

Cross-վարձակալական հասանելիությունը միայն ակնհայտ հրավերի/shering-ի միջոցով ակնհայտ deny-override-ով։

8) Վասիլեվիչը և կյանքի ցիկլը քաղաքական

Տարբերակումը '"policy. version 'ի պատասխան PDP-ի, պահեք աուդիտի մեջ։

Չորեքշաբթի 'wwww.aft wwincanary (wwww.ru/ստվերային ռեժիմ) 2019։

Test matics: ճշմարտության աղյուսակները առանցքային դերերի/մրցույթների վրա (պայմանագրային թեստեր)։

Change 2019: Mox-rex-ները քաղաքականության վրա անվտանգության/կոմպլանսի վրա։

9) Աուդիտ և դիտողություն

Журнал решений: `decision_id`, `subject`, `action`, `resource_ref`, `result`, `matched_policies`, `policy_version`, `attributes_digest`.

Մետրիկները ՝ QPS PDP, p95, hit-rate, deny, step-up հաճախականությունը, SoD-ի միջադեպերը։

Հետքեր ՝ PDP-ի մարտահրավերին։ հարաբերակցություն API-ի խնդրանքով։

Repley: հնարավորություն «խաղալ» պատմական լուծումները քաղաքականության նոր տարբերակի վրա (safety nok)։

10) Ինտենսիվացման և հոսանքների հետ ինտեգրումը

Ինքնությունը IDP (OIDC/SAML) է։ Թոկենները կրում են նվազագույն ատրիբուտներ ՝ «sub», «tenae», «roles», «auth _ time», «amr», «scopes»։

ABAC-ի համար քաշեք «ծանր» նշաններ սերվերային կողմից (PIP), որպեսզի չփորձեք։

Ստորագրված resource tokens (capability/հրավերներ) - խիստ սահմանափակ կիսագունդների համար։

11) PDP (պարզեցված)

python def decide(subject, resource, action, env, policies):
matched = []
effect = "deny"
Explicit DENYs with priority for p in sorted (policies, key = lambda x: x.priority, reverse = True):
if target_matches(p. target, subject, resource, action):
if eval_condition(p. condition, subject, resource, env):
matched. append(p. id)
if p. effect == "deny":
return Decision("deny", matched, p. version)
Looking for ALLOW for p in policies:
if target_matches(p. target, subject, resource, action):
if eval_condition(p. condition, subject, resource, env):
matched. append(p. id)
effect = "allow"
break return Decision(effect, matched, max_version(matched, policies))

12) Anti-patterna

«Դեր = էջ» (հարյուրավոր փոքր դերեր առանց առարկայական ոլորտի մոդելի)։

Քաղաքական գործչի պահպանումը միայն կոդում առանց տարբերակների/տարբերակների։

Deny-override-ի և SoD-ի բացակայությունը նպաստեց խարդախության ռիսկի բարձրացմանը։

Կոշտ ցուցակները «user _ id» կանոններում (ատրիբուտների/հարաբերությունների փոխարեն)։

Ֆիլտրման բացակայությունը տվյալների մակարդակում (RFC), եթե գոյություն ունի միայն UI-ում։

Դերերի համաժամացումը ձեռքի ջութակների միջոցով առանց իրադարձությունների և քեշի հաշմանդամության։

13) Քեյսներ և բաղադրատոմսեր

13. 1 Դաշտային դիմակավորում


allow read invoice when subject. roles includes "support"
mask fields ["card_last4", "billing_email"] unless subject. role == "finance"

13. 2 Տվյալների էքսպորտը միայն MFA-ից


allow export if subject. mfa_verified and env. ip in cidr("203. 0. 113. 0/24")

13. 3 SoD:


deny approve_payment if subject. performed_actions includes ("create_payment" within last 24h)

13. 4 Ինտեգրումը (սահմանափակ հոսանք)

Capability-tocen-ը պարունակում է «resource _ id», «acions = [» read «]», «expires _ at», «aud»։ PEP-ը ստուգում է ստորագրությունը և ժամանակը։

14) Թեստավորում

Քաղաքական գործչի յունիտ թեստերը 'ճշմարտության աղյուսակները հիմնական համադրություններով։

Property-based: պատահական ատրիբուտների արտադրություն «ծխելու» համար։

Golden-tes.ru 'կրիտիկական էնդպոինտների համար լուծումների հավաքածուի ամրագրում։

Canary/Shadow: Հին և նոր տարբերակների զուգահեռ գնահատումը քաղաքական գործիչը լոգիստիկ տարբերություններով։

15) Կապված «Ճարտարապետություն և արձանագրություն» մրցույթի կարողությունները

Վավերացում և հեղինակացում (OIDC/OAuth2)

Համաձայնությունների կառավարում

Տոկենիզացիա և բաների կառավարում

Դիտարկումը 'լոգներ, մետրեր, հետքեր

Գեո-միկրոօրգանիզացիա և տեղայնացում

At Rest/In Transit

16) Ճարտարապետի չեկի թերթիկը

1. Որոշե՞ լ են առարկայական դերերը և նրանց հիերարխիան։

2. Արդյո՞ ք գոյություն ունի հիբրիդային մոդել 'դերեր + պայմանները ֆորումների վրա։

3. Իրականացվել է PDP-ից deny-overrides, SoD և step-up։

4. Որտե՞ ղ է PEP-ը։ (դարպասը, backend, BD, UI) - արդյո՞ ք ամենուր միատեսակ է։

5. Որոշումների քեշները և հաշմանդամությունը։

6. Քաղաքական գործիչները տարբերակվում են, փորձարկվում, պառակտվում գործընթացով։

7. Ներառված են լուծումների, չափումների և ուղիների աուդիտ։

8. Աջակցվում է բազմաբնույթ և RFC/field-king։

9. Կա՞ ն runbook միջադեպի և քաղաքական գործչի ռեգրեսիայի վրա։

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

RBAC-ը ապահովում է կառավարելիությունը, ABAC-ը 'ենթատեքստը և ճշգրտությունը։ Հաշվի առնելով դեորւթյունները հիբրիդային պայմաններով, բաժանելով PDP/PEP-ը, ներկայացնելով կանխագուշակումը, աուդիտը և փորձարկումը քաղաքական գործչի կողմից, դուք կառուցում եք որպես պլատֆորմային ունակություն 'կանխատեսելի, ստուգված և մեծացված ապրանքային և կարգավորող պահանջների համար։

Contact

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

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

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

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

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

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