GH GambleHub

מנוע תפקידים

1) מודלי הרשאה

RBAC (בקרת גישה מבוססת תפקידים): הנושא מקבל תפקידים, תפקידים קשורים להרשאות. רק לנהל, טוב לחובות טיפוסיות.
(ABAC) - הפתרון תלוי במאפייני הנושא, המשאב, הפעולה והסביבה (זמן, IP, אזור, סיכון). גמיש ומרווח לחוקים מורכבים.
RBAC + ABAC היברידי: תפקידים נותנים יכולת ”בסיסית”, תכונות המצמצמות אותה (תנאים).
(אופציונלי) RBAC/מבוסס יחסים: גרף יחסים (בעלים, חבר צוות, נציג), שימושי עבור מסמכים ואורגיות.

2) ארכיטקטורה: PDP/PEP וזורם

PEP (נקודת אכיפת מדיניות): היכן שהפתרון מיושם (שער API, שיטת backend, שכבת SQL, UI).
PDP (Policy Decision Point): שירות/ספרייה המחשבת את 'LOW/DETREE' על ידי מדיניות ותכונות.
PIP (Policy Information Point): מקורות ייחוס (IDP/profile, metadata משאבים, קצב סיכון, geo).
PAP (נקודת מנהל מדיניות) - ממשק מנהלי/מאגר מדיניות (גרסאות, טיוטות, פרסום).

Flow: בקשת PEP * יוצרת הקשר * PDP מושך את התכונות החסרות (באמצעות PIP) * מחשב את ההחלטה * PEP תקף (אפשר/מנטרל/מנתק שדות) * הביקורת.

3) מודל נתונים

ישויות (מינימום):
  • 'subuthet' (משתמש/שירות) subuthet 'submute' (משתמש/שירות) submute 'supports', 'sange', 'mfa _ valied', 'scopes', טוען.
  • 'resource' with סוג ותכונות: 'סוג', 'בעלים _ id',' דייר _ id', 'סיווג' (ציבורי/חסוי), 'אזור', 'תגיות'.
  • 'פעולה': 'לקרוא', 'לכתוב', 'למחוק', 'לייצא', 'לאשר', 'להתחזות'. п.
  • 'Environment': 'זמן', 'ip', 'מכשיר', 'geo', 'auth _ forger', 'business _ contraction' (מעקה, ).
חלק RBAC:
  • רולס (איד, tenant_id, שם, יורש [ ]) - תמיכה היררכיות ודפוסים.
  • (id, resource_type, פעולה, אילוץ?).
  • 'role _ הרשאות (role_id, permission_id)'.
  • משימות (subject_id, role_id, היקף) - היקף: גלובלי/על ידי פרויקט/אובייקט.
חלק ABAC (מדיניות):
  • (policy (id, effect = let 'deny, המטרה: [נושא, משאב, פעולה], מצב: expr, עדיפות, גרסה, מעמד).

4) עקרונות קבלת החלטות

איסור מפורש עדיפות הרשאות.
חיסיון מינימלי (POLP): גיליון מינימלי נדרש גישה, להתרחב באמצעות תנאים.
הפרדת חובות (SoD): איסור על שילובים של תפקידים/פעולות (לדוגמה, "יצר תשלום" נעצר ").
מודעת הקשר: חיזוק דרישות בסיכון גבוה יותר (לא MFA, IP חשוד).
דטרמיניזם: אותו הקשר = תגובה זהה; תרשום את גרסת המדיניות.

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 (על ידי ”terant _ id',” בעלים _ id').
ברמת ה-API: אוספי מסננים ושדות מסכות אם אין ”הרשה: read_sensitive_fields'”.

5. 3 פתרונות עליית מדרגה

תלות בכוח האימות:

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

5. 4 סובלנות זמנית

מענקים עם TTL: "משימה. expires_at', גישה ל ”חלונות” (בשעות העבודה של אזור המשאבים).

6) ביצועים והצטיידות

מטמון החלטה על ידי מפתח '(subject_hash, resource_key, פעולה, policy_version)' עם TTL קצר.
מטמון קצה של תכונות נושא (טענות באות סמלית) + עצלות-להביא תכונות משאב.
שלילה מצטברת: נכות על ידי אירועים (שינוי תפקידים, שינוי מדיניות, העברת משאבים ל ”חסוי”).
באץ 'בודק: עבור רשימות - להעריך באמצעות ”פילטר” (policy-pressure pushdown) כדי לא למשוך את PDP בקו אחר שורה.

7) רב ־ דייר

בכל טבלה - 'דייר _ id'; מדיניות ברירת המחדל מגבילה גישה בתוך חוזה שכירות.
מנהלי החכירה מנהלים רק את התפקידים/הזכויות של החכירה שלהם.
גישה לחכירה צולבת - אך ורק באמצעות הזמנות מפורשות/שיתוף עם מכחיש-לעקוף מפורש.

8) ניהול מדיניות ואופן חיים

ורסיונינג: "מדיניות. גרסה בתגובה PDP, לאחסן בביקורת.
סביבות: traft * canary (חלקים של מצב תנועה/צל) # prod.
מטריצת מבחן: טבלאות אמת על ידי תפקידי מפתח/תכונות (בדיקות חוזה).
שינוי ניהול: מיזוג בקשות למדיניות עם ביקורות ביטחון/ציות.

9) ביקורת חשבונות ויכולת תצפית

Verviceous journal: ”החלטה _ id',” נושא ”,” פעולה ”,” משאב _ ref ”,” תוצאה ”,” התאמה _ מדיניות ”,” מדיניות _ גרסה ”,” תכונות _ digest'.
Metrics: QPS PDP, p95 latency, hit-rate pache, centre share, step-up, SOD.
עקבות: מרווח לקריאת PDP; מתאם עם בקשת API.
שידור חוזר: היכולת ”לחזור” על החלטות היסטוריות בגרסה החדשה של המדיניות (בדיקת בטיחות).

10) אינטגרציה עם אימות ואסימונים

זהות - מ ־ IDP (OIDC/SAML). אסימונים נושאים מינימום תכונות: 'תת', 'דייר', 'תפקידים', 'auth _ time', 'amr', 'scopes'.
עבור ABAC, משוך את הסימנים ”כבדים” מצד השרת (PIP) כדי לא לנפח את האסימון.
אסימוני משאבים חתומים (יכולת/הזמנות) למשלחות מוגבלות לחלוטין.

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) אנטי דפוסים

”תפקיד = עמוד” (מאות תפקידים קטנים ללא מודל תחום).
מדיניות אחסון רק בקוד ללא גרסאות/ביקורת.
חוסר מכחיש-לעקוף ו SoD # סיכון הונאה מוגבר.
רשימות קשיחות "user _ id' in rules (במקום תכונות/יחסים).
אין סינון שכבות נתונים (RLS) עם מסנן 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 משלחת (אסימון מוגבל):

סימון היכולת מכיל את ”resource _ id',” action ”= [” read ”]”, ”fuges _ at',” audd'. PEP מאמת חתימה ומועד אחרון.

14) בדיקה

בדיקות יחידה של מדיניות: טבלאות אמת על ידי שילובים גדולים.
מבוסס תכונה: דור של תכונות אקראיות כדי למצוא ”חורים”.
בדיקות זהב: תיקון סט של פתרונות לנקודות קצה קריטיות.

Canary/Shadow: הערכה מקבילה של גרסאות ישנות וחדשות של מדיניות

15) יכולות קשורות של סעיף ”ארכיטקטורה ופרוטוקולים”

אימות ואישור (OIDC/OAuth2)

ניהול הסכמה

טוקניזציה וניהול מפתחות

תצפית: יומנים, מדדים, עקבות

ניתוב גאו ומיקום

בעת הצפנת מנוחה/במעבר

16) רשימת אדריכלים

1. האם תפקידי הנושא וההיררכיות שלהם מוגדרים?
2. האם יש מודל היברידי: תפקידים + תנאים על תכונות?
3. ממומש PDP עם מכחיש-עוקף, Sod ועלייה מדרגה?
4. איפה פפ? זה אחיד בכל מקום?
5. האם מצבורי תמיסה ומוגבלות אירועים מוגדרים?
6. האם המדיניות מנוסחת, נבחנת, מתגלגלת בתהליך?
7. האם החלטות ביקורת, מדדים ועקבות מופעלים?
8. ריבוי שכירות ו-RLS/מיסוך שדה נתמך?
9. יש לך ספר הזמנות על תקריות ורגרסיה מדיניות?

מסקנה

RBAC מספק שליטה, ABAC מספק הקשר ודיוק. על ידי שילוב תפקידים עם תנאי מאפיין, שיתוף PDP/PEP, יישום מטמון, ביקורת ובדיקת מדיניות, אתה בונה הרשאה כיכולת פלטפורמה: צפויה, ניתנת לאימות, וניתנת לאימות עבור דרישות מוצר ורגולציה.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.