מבוא ל- Azure RBAC

בקרת גישה מבוססת-תפקיד (RBAC) ב- Microsoft Azure היא מנגנון אבטחה בסיסי המאפשר לארגונים לנהל גישה למשאבים בענן עם דיוק. על ידי הקצאת תפקידים למשתמשים, קבוצות או יישומים, אתה מגדיר בדיוק מה הם יכולים לבצע ועל אילו משאבים. גישה זו מפחיתה את פני השטח של ההתקפה, לאכוף את העיקרון של זכויות היתר, וסימולציות של מעקב מקרי כמו מורכבות ענן, מספק גישה מוגבלת, נתונים או מדיניות מונעת, הגנה על נתונים לא מורשים.

בניגוד לרשימות בקרת גישה מסורתיות (ACLs) הדורשות ניהול הרשאות של קוד, Azure RBAC מבססת את האישור באמצעות הגדרות תפקיד הקשורות להיקף. מאמר זה מתרחב על המושגים הליבה, מספק הדרכה של שלב אחר שלב יישום, מכסה תרחישים מתקדמים כמו תפקידים מותאמים אישית ו- Azure AD Privileged Identity Management (PIM) אינטגרציה, ומציג שיטות מעודנות באמצעות פריסה של ממשית בעולם האמיתי.

המונחים: Azure RBAC

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

ראשי אבטחה

מנהל אבטחה מייצג ישות המבקשת גישה למשאבים של Azure.זה יכול להיות משתמש, קבוצה, מנהל שירות (זהות שכפול), או זהות מנוהלת. Azure RBAC מעריך את ההרשאה המוענקות למנהל זה כאשר הוא מנסה לבצע ניתוח.שימוש קבוצות במקום משתמשים בודדים מפשטים את תפקיד המשימה ומבטיח עקביות כשינויים של אנשים.

המונחים

(ב) הגדרה של הרשאה אשר מציין אילו פעולות מותרות או נשללו. Azure מספק עשרות תפקידים בנויים, כגון FLT:0Owner, ContributorcioFLT:1, וקוראים, כל אחד מותאם לפונקציות עבודה נפוצות.

סקוט

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

שלב-בי-שלב יישום Azure RBAC

יישום RBAC כרוך בתהליך חוזר שמתחיל עם דרישות זיהוי ומסתיים עם ביקורת מתמשכת. השלבים הבאים לספק גישה מובנים, בין אם אתה משתמש בפורטל Azure, PowerPoint, Azure CLI, או תשתיות כקוד (IaC) כלים כמו Terraform או Bicep.

שלב 1: זיהוי תפקידים ותחומי אחריות

החל על ידי מסמך פונקציות עבודה בארגון שלך.עבור כל פונקציה, רשימה של משאבי Azure כי צריך לגשת ואת הפעולות שיש לבצע.

  • (ב) ,0) ניטור בלבד לקריאה: מנהל 1FLT אשר סוקר מדדים, יומני ותצורה, אך לעולם לא עושה שינויים.
  • (ב) ,0) תורם מקור: 1FLT 1 Developer or Generator שיוצר ומאפיין משאבים בתוך קבוצת משאבים מסוימת.
  • (FLT:0) מנהל אבטחה: צוות 1FLT שמנהל את מדיניות Azure, אישורי מפתח וault והמלצות מרכז הביטחון.
  • בעל:0 (Application Husband:FLT:1) אדם האחראי על פריסה וניהול יישום אינטרנט ספציפי, לעתים קרובות דורש גישה לשירות App, מסד נתונים של SQL ואחסון.

ממפה את התפקידים האלה ל- Azure מובנה בתפקידים כנקודת התחלה.לדוגמה, התפקיד "קרא" מכסה צרכים לקריאה בלבד, בעוד "קוניטור" מאפשר ניהול מלא למעט בקרת גישה.

שלב 2: בחר בין בנייה ל-In ו- Custom Roles

Azure מציעה יותר מ-100 תפקידים בנויים, צמצום הצורך בהגדרות מותאמות אישית.שימוש בפונקציות בנויות בכל פעם שניתן, כי הם נשמרים על ידי Microsoft ולקבל עדכונים אוטומטיים ככל שה APIs מתפתחים. עם זאת, כאשר אתה צריך שילוב של הרשאות שלא זמינות בכל תפקיד יחיד שנבנה, ליצור תפקיד מותאם אישית.לדוגמה, ייתכן שיהיה עליך תפקיד המאפשר לקרוא סודות מפתח Vault אך מונע כל פעולות - משימה שהיא כבר לא מספקת, תפקיד מותאם אישית, כך, כך, כך, כך, כך, תפקיד המשתמש אינו מספק תפקיד מותאם אישית.

כאשר יוצרים תפקידים מותאמים אישית, להגדיר אותם עם העיקרון של זכות לפחות בראש. השתמש עורך ההגדרה של Azure פורטל או כלים כמו FLT:0 ב-PSD. Always להגדיר את ה-FLT:0.0.comsignableScopesFLT:1 כדי להגביל את התפקיד מותאם אישית ניתן להקצות, בדרך כלל לקבוצת ניהול או מנויים.

שלב 3: תפקידים ב- Appropriate Scope

משימות התפקיד כוללות את מנהל האבטחה, הגדרת תפקיד, והיקף.באופן כללי, להקצות תפקידים בהיקף ה- גרניט ביותר שעדיין עומד בדרישות התפעוליות.לדוגמה, אם מפתח צריך רק לנהל משאבים בקבוצת משאבים מסוימת, להקצות את התפקיד של Contributor בהיקף של קבוצת משאבים זו, לא ברמת המנוי.זה כולל מגבלות פיצוץ והתאמה עם העיקרון של פריווילגיה מינימלית.

השתמש ב- Azure Active Directory (אזור AD) קבוצות לתפקידים ולא למשתמשים בודדים.כאשר תפקידו של אדם משתנה, אתה פשוט לעדכן חברות קבוצתיות במקום לשנות עשרות משימות.פרקטיקה זו מאפשרת גם למשלחת: בעלי קבוצות יכולים לנהל חברות ללא צורך באישורים של Azure RBAC גבוה.

שלב 4: אימות וסימנים

לאחר יצירת משימות, ודא כי משתמשים יכולים לבצע רק את הפעולות המיועדות. השתמש ב-FLT:0 "גישה צ'קי"FLT:1 הכרטיסיה בפורטל Azure תחת תפקיד של משתמש או קבוצה כדי לדמות פעולות. לחלופין, להשתמש ב- Azure CLI Command FLT:2 כדי לסקור משימות נוכחיות והיקף שלהם.

שלב 5: ביקורת והמשך

RBAC הוא לא תצורה חד פעמית. השתמש יומני פעילות Azure Monitor כדי ללכוד את כל השינויים במשימות התפקיד. הגדרת התראות כאשר תפקידים עתירי משקל גבוה (Owner, Contributor, או תפקידים מותאמים אישית עם הרשאות לכתוב) מוקצה בקנה מידה רחב, במיוחד מחוץ לשינויים מתוכננים. integrate with Azure Policy לאכוף את כללי ממשל, כגון הדורשים הקצאות לוחיות לוחיות לוחיות קבועות תמיד לעבור תהליך של Azure.

RBAC Scenarios

באמצעות Azure AD Privileged Identity Management (PIM)

PIM מוסיף הפעלה בזמן אמת וגישה ל- Azure RBAC תפקידים במקום להקצות את תפקיד קונטריטור לצמיתות, אתה יכול להפוך משתמש זכאי.הם חייבים להפעיל את התפקיד באמצעות פורטל PIM, לעתים קרובות הדורש אימות רב-ספקי ולספק הצדקה. PIM גם לוגות אירועי הפעלה, אשר מסייעות בציות.שלב PIM עם RBAC כדי להפחית את הפריבילגיות ללא הקרבה מבצעית.

גישה נוחה עם RBAC

Azure RBAC משלבת עם Azure AD Conditional Access כדי לחדד גישה המבוססת על אותות כגון מיקום, תאימות למכשיר או רמת סיכון.לדוגמה, באפשרותך ליצור תפקיד שחל רק כאשר משתמש מתחבר מטווח IP תאגידי או משתמש במכשיר תואם.זה חשוב במיוחד לגישה אדמיניסטרטיבית למשאבים קריטיים כגון Key Vault או ניהול.

תפקידים עם נתונים

עבור שירותים התומכים במטוס הנתונים RBAC (למשל, אחסון, SQL Database, Key Vault), השתמש ב- (FLT:0 DataActionssssigFLT:1 בתפקידים מותאמים אישית כדי לשלוט בפעולות כגון קריאות קריאה, כתיבה לטבלאות, או פענוח מקשים.זה מאפשר לך להפריד פעולות ניהול (יצירת / פרופיל) מגישה לנתונים (read / נפיחות).

Best Practices for Azure RBAC

  • (הופנה מהדף 1:0) ,החליפה לפחות מהיום הראשון: התחל עם הרשאות מינימליות, ומעניק גישה נוספת רק כאשר מוצדק על ידי צורך עסקי תקף.
  • קבוצות של תפקידים:0 (Use groups: FIRLT:1) ליצור קבוצות Azure AD התואמים עם פונקציות עבודה (למשל, "SQLServerAdmins", "רשתContributors") ולהקצות תפקידים לקבוצות אלה.לנהל חברות באמצעות בעלים קבוצתיים או זרמי עבודה בשירות עצמי.
  • (FLT:0) תפקידים שנבנו כ- ברירת מחדל: ההרחבה 1:1 אלא אם כן חסר אישור ספציפי, שימוש בפונקציות בנויות-ב.הם נשמרים על ידי Microsoft, צמצום הנטל של עדכון הגדרות מותאמות אישית כאשר Azure APIs משתנה.
  • (ב) כאשר אתה יוצר תפקיד מותאם אישית, מגדיר את ההיקף של ה-FLT:2, ,2, ,ScopessofLT 3: כדי להגביל את המקום שבו ניתן להקצות.
  • (FLT:0) ,מטוס ניהול ומטוס נתונים: אנדרל 1 בכל פעם שניתן, להקצות תפקידים של ניהול מטוסים (למשל, קונטריטור על קבוצת משאבים) בנפרד מתפקידי נתונים (למשל, אחסון בלוקב Data Contributor).
  • (FLT:0) חשבונות הפסקת זכוכית:FIRLT:1 , לשמור על אחד או שניים חשבונות חירום עם גישה מלאה הבעלים ברמת השורש או המנוי, אך לעתים רחוקות להשתמש בהם.חנות באופן מאובטח, לפקח על השימוש ולסובב את הגישה לעתים קרובות.
  • (FLT:0) סקירה קבועה וניקוי משימות: ibph:1) השתמש ב- Azure AD גישה ביקורות כדי לאמת מעת לעת כי משתמשים עדיין זקוקים לתפקידים שהוקצו להם. Remove או הורדת משימות שאינן הכרחיות עוד.
  • (FLT:0) הגדרות תפקיד ומשימות:IRLT:1) לשמור על מלאי עדכני של תפקידים מותאמים אישית, מטרותיהם, והצדקה לכל משימה.תיעוד זה מסייע בביקורתיות ועל ניהול מנהלים חדשים.
  • (FLT:0) אוטומציה של עקביות:FLT:1 תצורה של Deploy RBAC באמצעות תשתית ככלי קוד כמו Bicep, ARM תבניותs, או Terraform.זה מבטיח כי dev, staging, וסביבות הייצור נשאר תואמים וכי שינויים הם נשלטים על ידי גרסה.
  • (ב) [ה]ההתערות זכויות יתר: [ה] [ה] [ה]] [ה]] [ה]]] ל[ה] ל[ה] ל]התערות על] זכויות [ה], כמו [FLT 3: 3] בסכומים גבוהים.

טעויות נפוצות וכיצד להימנע מהן

אפילו קבוצות מנוסים יכולות להטעות את RBAC. הנה המלכודות הנפוצות ביותר:

  • (FLT:0) הקצאת תפקידים בהיקף המנוי: אנדרט 1:1 כסימן קונטרימור או בעל ברמת המנוי לנוחות לעתים קרובות תוצאות בחשיפה מיותרת.תמיד מעדיף קבוצות משאבים או היקף משאבים אלא אם המשתמש באמת צריך ניהול מנויים מלא.
  • (FLT:0) הקצאת תפקידים למשתמשים בודדים במקום קבוצות: ⁇ FLT 1 זה יוצר ניהול יתר על המידה וחוסר עקביות כאשר האדם משתנה.
  • (FLT:0) ,Negting כדי לבחון הרשאות תורשתיות: ⁇ FLT:1 כי תפקידים להפיץ את ההיררכיה, רשות שניתנה ברמת הניהול של הקבוצה עשויה להעניק גישה בלתי מאוישת למשאבים במנויים מסוימים.
  • (FLT:0) יצירת תפקידים מותאמים אישית רבים מדי: FLT:1eur כל תפקיד מותאם אישית דורש תחזוקה.לפני יצירת אחד, ודא כי שילוב של תפקידים והיקף מובנה לא יכול להשיג את אותה תוצאה.
  • (FLT:0) אבחון Azure AD לעומת Azure RBAC בלבול:FLT:1 תפקידים Azure AD ו- Azure RBAC הם מערכות נפרדות. Azure AD תפקידים לנהל גישה ל- Azure AD עצמה (למשל, מנהל גלובלי), בעוד Azure RBAC שולט בגישה ל- Azure משאבים.
  • (FLT:0)להתקל באופן קבוע: FLT:1IR ⁇ הקצאות מצטברות לאורך זמן, במיוחד באמצעות אוטומציה.ללא ביקורת רגילה, משימות יתומים או תפקידים סחירים מדי נשאר פעיל, גדל הסיכון.

שילוב עם Azure Policy and Governance

Azure RBAC עובדת יד ביד עם מדיניות Azure לאכוף את הממשל.לדוגמה, באפשרותך ליצור מדיניות המונעת את הקצאת תפקיד הבעלים בהיקף המנוי, אלא אם כן היא מלווה בתג ספציפי או שאושרה באמצעות תהליך ניהול שינוי.מדיניות יכולה גם להגביל את השימוש בתפקידים מותאמים אישית המבוססים על שם מוסכמות או יקיעות ניתנות להגדרה.

בנוסף, השתמש במדיניות Azure כדי לבדוק את משימות התפקיד הקיימות.מדיניות המובנה (FLT:0) "משימות תפקיד של Azure"FLT:1 יכול לחתום על מינויים שבהם בעלי בתים או תפקידי קונטריוט מוקצה למשתמשים ישירות במקום קבוצות, עוזר לך לאכוף את הפרקטיקה הטובה ביותר.

דוגמה אמיתית לעולם: יישום RBAC עבור סביבה רב-ת-תאם

שקול תרחיש שבו הארגון יש שלוש קבוצות: הנדסת פלטפורמה, פיתוח יישומים ואבטחת פעולות. פלטפורמה הנדסה ניהול התשתית תשתית (רשתות וירטואליות, חשבונות אחסון, מפתחי VPN) יישומי פריסה וניהול יישומי אינטרנט ומאגרי מידע.

עיצוב RBAC מומלץ עשוי להיות:

  • (הנדסה:0)Platform Engineering: FLT:1 , assign the FLT:2Network ContributorFLT 3 תפקיד בקבוצת המשאבים עבור משאבי רשת, FLT:4Storage Account Contributorph:5 בקבוצת משאבים אחסון, ותפקיד מותאם אישית לניהול תצורה של VPN (אם הם לא מספיקים).
  • (ב) [ה]ההבא [ה]] [ה]] [ה]] [ה]] [ה]]][ה]]][ה]]][ה]]]][ה]]]], [ה][ה], [ה]]][ה'[ה'], [ה']']'[ה']']'[ה'[ה']']']'[ה']']'[ה'[ה']'[ה'[ה'[ה'[ה'[ה'[ה'[ה']'[ה'[ה'[ה']'[ה'[ה']']']'[ה']'[ה'[ה'[ה'[ה']']']']']'[ה'[ה']']'[ה'[ה'[ה']']']'[ה'[ה']']'[ה'[ה'[ה']']'[ה']']'[ה'[ה'[ה'[ה'[ה
  • (ה) [ה]החוקה: [ה] [ה] [ה]] [ה]] [ה]]] [ה]]]] [ה]]]הההההההההההההההתמדה [ה]: [ה]הההחוקה] היא [הההה] [הההההההההההתחילה]]]] [ה]]] [ה] [הההההה]]]]] [הההההההה[הההההההההההה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה']"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה"ה']"ה"ה"ה"ה"ה"ה']"ה']"ה']"ה']"ה']"ה']

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

מסקנה

יישום בקרת גישה מבוססת תפקידים ב- Azure אינו רק תיבת צ'ק ב-Clocklist אבטחה - זהו תרגול מתמשך, שכאשר נעשה נכון, מפחית באופן דרמטי את הסיכון לגישה בלתי מורשית והפרות נתונים. על ידי הבנת רכיבי הליבה (ראשי אבטחה, הגדרות תפקיד והיקף), לאחר תהליך יישום מובנה, תוך מינוף של תפקידים מובנים ומותאמים אישית, ואכיפת שיטות מיטביות כמו משימות וארגון, לפחות, שיכול לבנות את רמת האבטחה שלך עם גודל.

זכור כי RBAC הוא רק שכבת הגנה אחת.שלב אותו עם Azure AD תכונות כמו ניהול זהות Privileged Identity Management, Conditional Access ו- Azure Policy כדי ליצור זהות מקיפה ומסגרת ממשל גישה. באופן קבוע לבדוק את המשימות שלך, השותף אוטומטי שבו ניתן, ולחתום על ההחלטות שלך.עם גישה ממושמעת, Azure RBAC הופך לאפשרי של פעולות ענן מאובטחות ויעילות.