GH GambleHub

भूमिका इंजन

1) प्राधिकरण मॉडल

RBAC (रोल-बेस्ड एक्सेस कंट्रोल): विषय को भूमिकाएं मिलती हैं, भूमिकाएं अनुमतियों से जुड़ी होती हैं। बस प्रबंधन, विशिष्ट कर्तव्यों के लिए अच्छा है।

ABAC (विशेषता-आधारित पहुंच नियंत्रण) - समाधान विषय, संसाधन, कार्रवाई और पर्यावरण (समय, आईपी, क्षेत्र, जोखिम) की विशेषताओं पर निर्भर करता है। जटिल नियमों के लिए लचीला और स्केलेबल।

RBAC + ABAC हाइब्रिड: भूमिकाएं एक "बुनियादी" क्षमता देती हैं, विशेषताएं इसे (स्थितियां) संकीर्ण करती हैं।

(वैकल्पिक) ReBAC/संबंध-आधारित: संबंध ग्राफ (मालिक, टीम के सदस्य, प्रतिनिधि), दस्तावेजों और अंगों के लिए उपयोगी।

2) वास्तुकला: पीडीपी/पीईपी और प्रवाह

PEP (नीति प्रवर्तन बिंदु): जहां समाधान लागू किया जाता है (API गेटवे, बैकेंड विधि, SQL परत, UI)।

PDP (नीति निर्णय बिंदु): सेवा/पुस्तकालय जो नीतियों और विशेषताओं द्वारा 'EMELE/DENY' की गणना करता है।

PIP (नीति सूचना बिंदु): विशेषता स्रोत (IdP/प्रोफ़ाइल, संसाधन मेटाडेटा, जोखिम दर, भू)।

पीएपी (नीति प्रशासन बिंदु) - प्रशासनिक इंटरफेस/नीति भंडार (संस्करण, ड्राफ्ट, प्रकाशन)।

प्रवाह: PEP अनुरोध एक संदर्भ बनाता है - PDP लापता विशेषताओं (PIP के माध्यम से) को खींचता है निर्णय की गणना करता है PEP लागू होता है (सक्षम/अक्षम/कट ऑफ फ़ील्ड) ऑडिट।

3) डेटा मॉडल

इकाइयाँ (न्यूनतम):
  • 'subject' (उपयोगकर्ता/सेवा) с атрибутами: 'किरायेदार _ id', 'भूमिकाएँ', 'विभाग', 'जोखिम _ स्तर', 'mfa _ सत्यापित', 'स्कोप्स', 'दावा'।
  • 'resource' with प्रकार और विशेषताएं: 'प्रकार', 'मालिक _ id', 'किरायेदार _ id', 'वर्गीकरण' (सार्वजनिक/गोपनीय), 'क्षेत्र', 'टैग'।
  • 'कार्रवाई': 'पढ़ें', 'राइट', 'डिलीट', 'एक्सपोर्ट', 'स्वीकृति', 'प्रतिरूपण' и т। п.
  • 'एनवायरमेंट': 'टाइम', 'आईपी', 'डिवाइस', 'जियो', 'ऑथ _ स्ट्रेंथ', 'बिजनेस _ कॉन्सेप्ट' (канал, тариф)।
आरबीएसी भाग:
  • 'रोल्स (आईडी, tenant_id, नाम, विरासत [])' - समर्थन पदानुक्रम और पैटर्न।
  • 'permissions (id, resource_type, कार्रवाई, बाधा?)'।
  • 'रोल _ अनुमतियाँ (role_id, permission_id)'।
  • 'असाइनमेंट (subject_id, role_id, गुंजाइश)' - गुंजाइश: वैश्विक/परियोजना/वस्तु द्वारा।
ABAC भाग (नीतियां):
  • 'policy (आईडी, प्रभाव = अनुमति' deny, लक्ष्य: {विषय, संसाधन, कार्रवाई}, शर्त: expr, प्राथमिकता, संस्करण, स्थिति)। '

4) निर्णय लेने के सिद्धांत

डेनी-ओवरराइड्स: स्पष्ट प्रतिबंध प्राथमिकता की अनुमति देता है।

कम से कम विशेषाधिकार (PoLP): न्यूनतम आवश्यक पहुँच जारी करें, शर्तों के माध्यम से विस्तार करें।

कर्तव्यों का पृथक्करण (SoD): भूमिकाओं/कार्यों के संयोजन का निषेध (उदाहरण के लिए, "भुगतान" ≠ "गिरफ्तार")।

संदर्भ-जागरूक: उच्च जोखिम (कोई एमएफए, संदिग्ध आईपी) पर आवश्यकताओं को मजबूत करें।

निर्धारणवाद: एक ही संदर्भ - एक ही प्रतिक्रिया नीति संस्करण लॉग करें।

5) कार्यान्वयन पैटर्न

5. 1 हाइब्रिड RBAC→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 पंक्ति/क्षेत्र-स्तरीय सुरक्षा

डेटाबेस स्तर पर: RLS नीतियाँ ('किरायेदार _ id', 'मालिक _ id' द्वारा).

एपीआई स्तर पर: फ़िल्टर संग्रह और मास्क फ़ील्ड अगर नहीं है: read_sensitive_fields'।

5. 3 स्टेप-अप समाधान

सत्यापन शक्ति निर्भरता:

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

5. 4 अस्थायी सहिष्णुता

टीटीएल के साथ अनुदान: 'असाइनमेंट। expires_at', "विंडो" (संसाधन क्षेत्र के काम के घंटों के दौरान) तक पहुंचें।

6) प्रदर्शन और कैशिंग

संक्षिप्त टीटीएल के साथ कुंजी '(subject_hash, resource_key, क्रिया, policy_version) द्वारा निर्णय कैश।

विषय विशेषताओं का किनारा कैश (टोकन में दावा) + आलसी-लाभ संसाधन विशेषताएं।

वृद्धिशील अमान्यता: घटनाओं द्वारा विकलांगता (भूमिका परिवर्तन, नीति परिवर्तन, संसाधन हस्तांतरण "गोपनीय")।

बैच चेक: सूचियों के लिए - "फिल्टर" (नीति-पूर्वानुमान पुशडाउन) के साथ मूल्यांकन करें ताकि पीडीपी लाइन को लाइन से न खींचा जा सके।

7) बहु-किरायेदार

प्रत्येक तालिका में - 'किरायेदार _ आईडी'; डिफ़ॉल्ट नीतियां एक पट्टे के भीतर पहुंच को प्रतिबंधित करती

पट्टा प्रशासक केवल अपने पट्टे की भूमिकाओं/अधिकारों का प्रबंधन करते हैं।

क्रॉस-लीज एक्सेस - विशेष रूप से स्पष्ट इनकार-ओवरराइड के साथ स्पष्ट निमंत्रण/साझाकरण के माध्यम से।

8) नीति प्रशासन और जीवनचक्र

वर्शनिंग: 'नीति। संस्करण 'पीडीपी प्रतिक्रिया में, ऑडिट में स्टोर करें।

वातावरण: ड्राफ्ट → कैनरी (ट्रैफिक/शैडो मोड के कुछ हिस्से) → प्रोड।

टेस्ट मैट्रिक्स: प्रमुख भूमिकाओं/विशेषताओं (अनुबंध परीक्षण) द्वारा सत्य ता

परिवर्तन प्रबंधन: सुरक्षा/अनुपालन समीक्षा के साथ नीतियों के लिए अनुरोधों का विलय

9) लेखा परीक्षा और अवलोकन

Журнал решений: 'निर्णय _ आईडी', 'विषय', 'क्रिया', 'रिसोर्स _ रेफ', 'परिणाम', 'मिलान _ पॉलिसी', 'पॉलिसी _ वर्जन', 'गुण _ डाइजेस्ट'।

मेट्रिक्स: QPS PDP, p95 विलंबता, हिट-रेट कैश, इनकार शेयर, स्टेप-अप दर, SoD घटनाएं।

निशान: प्रति पीडीपी कॉल स्पैन; एपीआई अनुरोध के साथ सहसंबंध।

रीप्ले: नीति के नए संस्करण (सुरक्षा जांच) पर ऐतिहासिक निर्णयों को "फिर से" करने की क्षमता।

10) प्रमाणीकरण और टोकन के साथ एकीकरण

पहचान - IdP (OIDC/SAML) से। टोकन न्यूनतम विशेषताओं को ले जाते हैं: 'उप', 'किरायेदार', 'भूमिकाएँ', 'auth _ time', 'amr', 'स्कोप'।

ABAC के लिए, सर्वर साइड (PIP) से "भारी" संकेतों को खींचें ताकि टोकन को फुलाया न जा सके।

हस्ताक्षरित संसाधन टोकन (क्षमता/निमंत्रण) - कड़ाई से सीमित प्रतिनिधिमंडलों के लिए।

11) पीडीपी छद्म कोड (सरलीकृत)

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) एंटी-पैटर्न

"रोल = पेज" (डोमेन मॉडल के बिना सैकड़ों छोटी भूमिकाएं)।

केवल संस्करण/लेखा परीक्षा के बिना संहिता में नीतियों का भंडारण क

इनकार-ओवरराइड और SoD की कमी → धोखाधड़ी के जोखिम में वृद्धि हुई।

हार्ड सूची 'उपयोगकर्ता _ id' in नियम (विशेषताओं/संबंधों के बजाय)।

यूआई फ़िल्टर के साथ कोई डाटा परत फ़िल्टरिंग (आरएलएस) नहीं.

घटनाओं और कैश विकलांगता के बिना मैनुअल स्क्रिप्ट के माध्यम से भूमिकाओं का तुल्यकालन।

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 प्रतिनिधिमंडल (प्रतिबंधित टोकन):

क्षमता टोकन में' रिसोर्स _ आईडी', 'एक्शन = [" रीड"],' एक्सपायर _ एट ',' ऑड 'शामिल हैं। PEP हस्ताक्षर और समय सीमा को सत्यापित करता है।

14) परीक्षण

नीतियों की इकाई परीक्षण: प्रमुख संयोजनों द्वारा सत्य तालिकाएं।

संपत्ति-आधारित: "छेद" खोजने के लिए यादृच्छिक विशेषताओं की पीढ़ी।

गोल्डन-टेस्ट: महत्वपूर्ण समापन बिंदुओं के लिए समाधान का एक सेट तय करना।

कैनरी/छाया: विसंगतियों के लॉगिंग के साथ नीतियों के पुराने और नए संस्करणों का समानांतर मूल्यांकन।

15) "वास्तुकला और प्रोटोकॉल" अनुभाग की संबंधित क्षमताएं

सत्यापन और प्राधिकरण (OIDC/OAuth2)

सहमति प्रबंधन

टोकन और कुंजी प्रबंधन

अवलोकन: लॉग, मैट्रिक्स, निशान

भू-मार्ग और स्थानीयकरण

आराम पर/ट्रांजिट एनक्रिप्शन में

16) आर्किटेक्ट चेकलिस्ट

1. क्या विषय भूमिकाएं और उनके पदानुक्रम परिभाषित हैं?
2. क्या एक हाइब्रिड मॉडल है: विशेषताओं पर भूमिकाएं + स्थितियां?
3. इनकार-ओवरराइड, एसओडी और स्टेप-अप के साथ पीडीपी को लागू किया?
4. PEP कहाँ है? (गेटवे, बैकेंड, डेटाबेस, यूआई) - क्या यह हर जगह एक समान है?
5. क्या समाधान कैश और घटना विकलांगता विन्यस्त हैं?

6. क्या प्रक्रिया द्वारा नीतियों को लागू किया जाता है, परीक्षण किया जाता है

7. क्या ऑडिटिंग निर्णय, मैट्रिक्स और निशान सक्षम हैं?
8. मल्टी-लीज और आरएलएस/फील्ड-मास्किंग समर्थित?
9. घटनाओं और नीति प्रतिगमन पर एक रनबुक मिली?

निष्कर्ष

RBAC नियंत्रणीयता प्रदान करता है, ABAC संदर्भ और सटीकता प्रदान कर विशेषता शर्तों के साथ भूमिकाओं को जोड़ कर, पीडीपी/पीईपी को साझा करना, कैशिंग, ऑडिटिंग और नीति परीक्षण को लागू करना, आप प्लेटफॉर्म क्षमता के रूप में प्राधिकरण का निर्माण करते हैं: उत्पाद और नियामक आवश्यकताओं के लिए।

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

Telegram
@Gamble_GC
इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।