ניהול Governance Policy מול Azure Subscription ובאמצעות Management Groups

מאמר שמתמקד בניהול Governance Policy מול Azure Subscription באמצעות Management Groups.

גרטנר מגדירה את התחום של IT governance (או בקצרה ITG) כמכלול תהליכים אשר מבטיחים שימוש ויעיל ונכון של IT המאפשר לארגון להשיג את המטרות והיעדים.

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

  • משאבים נוצרים רק באזורים (Regions) מסוימים
  • מכונות וירטואליות (VMs) מוקמות רק בגדלים מסוימים (VM Size)
  • הרשאות יתר למשאבים מסוימים
  • משאבים חשופים בגלל מיסקונפיגורציה

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

מהו Management Groups

Management Groups הוא מודל ניהול ואכיפת מדיניות והרשאות לטובת Azure Subscription, המאפשר לנהל Azure Subscription אחד או יותר על גבי ומתוך Management Groups אחד וראשי, ודרכו (דרך אותו Management Groups) להחיל מדיניות ופוליסי אחיד לכל אותם Azure Subscriptions.

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

קבוצות ניהול (Management Groups) חלות על הסכמים מסוג Pay-As-You-Go (או בקצרה PAYG) וכן על הסכם ארגוני כדוגמת EA, ולכן ניתן להחיל מדיניות מול מספר קבוצות ניהול ומול מספר חשבונות Azure Subscription וברוב הוחץ של המקרים ללא מגבלות טכניות.

Management Groups מאפשר יצירת היררכיה שנקראת Nest Management Groups, ומאפשרת יצירת היררכיה של Management Groups אשר מאפשרת להחיל מדיניות מתוך MGMT Group ראשי אל MGMT Group משני ומשם אל חשבונות Azure Subscription, בין אם באופן ישיר או עקיף.

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

טיפ: במצבים של משתמשים עם הרשאות אנו עלולים למצוא את עצמו עם בעיות אבטחה ועם בעיות תקציב (Cost Optimization) – ולכן חשוב לדעת מי יכול להקים שירותי ענן

במצבים של ריבוי Azure Subscription מומלץ לאכוף מדיניות באמצעות היררכיה Management Groups מתוך Parent אל Child – במטרה לקיים אכיפת ומדיניות ארגונית ברמת IT ובפרט ברמת אבטחת מידע.

דגשים חשובים בהגדרת Management Groups

  • Root Group הינה קבוצה ראשית שניתנת להגדרה ושינוי אך לא למחיקה
  • ניתן להגדיר ראשי ומשני עד שישה שכבות עומק
  • ברירת מחדל של Management Groups היא שכל RBAC או מדיניות Azure שתוגדר ברמה זו יורדת לקבוצות ניהול המוגדרות על ידי הקבוצה הראשית
  • ניתן להגדיר מדיניות בצורה גרנולרית בין Management Groups משניים

ניתן להגדיר Management Groups באמצעות פורטל Azure לפי הדגשים הבאים:

  • הגדרת ID ספציפי
  • הגדרת תיאור (לא חובה)
  • הגדרת Management Groups ראשון יוצרת Tenant Root Group
  • ניתן לבצע שינוי של Management Groups כוללת Tenant Root Group

לאחר יצירת Management Groups ראשוני נוכל להחיל הגדרות נוספות מול Azure Subscription ספציפי ועל גבי Azure Policy.

דרישות אבטחה

במקרים מסוימים צריך לבצע אלבציה למשתמשים בעלי הרשאות מול Management Groups שונים, ובעיקר מול Tenant Root Management Groups, למשל במצב בו למשתמש עם הרשאות Global Admin של Azure AD אין גישה לכלל חשבונות Azure Subscriptions ולרכיבי Management Groups.

במצב כזה ניתן להגדיר אלבציה לגישה שתאפשר בין היתר את היכולות הבאות:

  • להחזיר גישה למשאבים כאשר משתמש איבד הרשאה לאותם משאבים
  • להאציל סמכויות למשתמש בעל הרשאות ולאפשר גישה לכל חשבונות Azure Subscription
  • לאפשר למשתמש מסוג Billing או משתמש שצריך גישת Audit לכל החשבונות Azure Subscription או גישה אל Management Groups

לאחר מכן ניתן להגדיר הרשאות באמצעות IAM ע"י Access Control ולהאציל הרשאות עם גישת מבוססת תפקידים (מנגנון RBAC), ומשם להוריד אל כל אותם Management Groups רלוונטים.

ישנם מעל 160 סוגי תפקידים אך שני תפקידי Management Groups עיקרים הם:

  • Management Group Contributor
  • Management Group Reader

אכיפת Governance על Management Groups

לאחר שיוצרים Management Groups ולאחר שמשייכים אליו Azure Subscription ויודעים מהם ההרשאות בתפקיד אנו ממשיכים לאכיפה והגדרת Governance על אותם Management Groups.

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

לצד זה, ישנו Azure Policy שמאפשר לבצע מדיניות עם אפשרויות גישה לרכיבי Azure, למשל, ניתן לקבוע במדיניות Audit מאפיין עם פלאג של Audit VMs that do not use managed disks, שמתריע על בעית תאימות ומודיעה לצוות אבטחה על הבעיה.

ישנם מעל 400 הגדרות פוליסי וניתן ליצור פוליסי מקוסטם ולהחיל אותו על Azure Subscription אחד או יותר.

בהגדרת פוליסי ישנם פרמטרים וביצוע פעולות אקטיביות במצבים מסוימים, למשל, במדיניות עם deployIfNotExists אנו יכולים להשתמש עם Managed Identity מבוסס Azure AD ליכולת לפרוס משאבים ולערוך תגיות על משאבים קיימים בהתאמה, ולצורך כך ישנה זהות מנוהלת.

טיפ: היכולת של Managed Identity היא רכיב מתוך Azure AD 

לסיכום

ארגונים רבים צריכים לאמץ את מוהל הניהול המבוסס על Management Groups, ולצד זה שהוא מאפשר ניהול Governance הוא מונע בפועל המון בעיות אבטחה ובעיקר מיסוקנפיגורציה.

בקצרה, קבוצות ניהול יכולות לפשט באופן משמעותי את האופן בו אתה שולט בתשתית הענן של Azure.

מה דעתך?

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