✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

Azure Policy – מאמר 1

Avihai Hajaj
|
קלה
|
Jun 13, 2018
alt="facebook"alt="linkedin"
להרשמה לניוזלטר

שלום לכולם,

במאמר זה אסביר על Azure Policy,  מה זה Azure Policy, מה ההבדל בין Azure Policy ל-Azure Role Based Access, מדוע זאת אפשרות מאוד חשובה מבחינת ניהול ואבטחה בעבודה עם Azure וכמובן איך לבנות מדיניות חדשה.

מה זה Azure Policy

שירות Azure Policy מאפשר ליצור, להקצות ולנהל מדיניות על גבי פלטופרמת הענן של מיקרוסופט – Azure (נכון לכתיבת המאמר השירות נמצא ב-Preview).

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

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

לדוגמה: לקבוע מדיניות באיזה Azure Location ניתן להרים שירותים או איזה סוג מסויים של Azure VM ניתן ליצור בחשבון ועוד.

מה הבדלים בין Azure RBAC ל-Azure Policy

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

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

כדי ליצור ולשייך מדיניות ב-Azure Policy צריך להיות בעל הרשאות בעזרת Azure RBAC כמו Security Admin, Onwer וכו’.

בנוסף, אפשר ליצור Custom Role מותאם אישית ל-Azure Policy.

להלן סט ההרשאות שניתן להשתמש בהם בעבודה עם Azure Policy (לא חייבים לאפשר מחיקה):

• Microsoft.Authorization/policydefinitions/read

• Microsoft.Authorization/policydefinitions/write

• Microsoft.Authorization/policydefinitions/delete

• Microsoft.Authorization/policyassignments/read

• Microsoft.Authorization/policyassignments/write

• Microsoft.Authorization/policyassignments/delete

• Microsoft.Authorization/policySetDefinitions/read

• Microsoft.Authorization/policySetDefinitions/write

• Microsoft.Authorization/policySetDefinitions/delete

ראה מאמר איך ליצור Custom Role בלינק הבא: יצירת תפקיד מותאם אישית

הערה: לתפקיד Contributor אין הרשאות ליצור מדיניות חדשות או לשייך מדיניות למשאבים.

איך בונים מדיניות בעזרת Azure Policy

1. בניית מדיניות חדשה

2. שיוך ל-Scope הרצוי.

3. בדיקות

בניית מדיניות חדשה

ניתן לבנות מדיניות חדשה בעזרת הפורטל, PowerShell, Azure CLI ועוד.

במאמר זה בחרתי להראות איך לבנות מדיניות באופן פשוט דרך פורטל Azure.

כדי לבנות מדיניות יש לבחור בשירות Policy (ניתן לחפש תחת All Services וללחוץ על Definitions).

כמו שניתן לראות יש רשימה של Definitions מובנים שניתן לשייך ובנוסף, יש אפשרות לבחור ב-Initiative definition לבניית מדיניות ממספר Definitions שונים.

במאמר הבא אסביר כיצד לבנות Definition משלכם בעזרת JSON.

לטובת הדוגמה נבחר ב-Initiative definition שיגדיר את המדיניות הבאה:

1. איזה סוגי מכונות מותר להשתמש.

2. איזה Azure Location

3. שיוך אוטומטי לפתרון OMS – Log Analytics.

יש להגדיר על איזה Subscription רוצים ליצור את ה-Initiative Definition, לבחור שם ולהגדיר Category אליו ה-Policy מתאים.

הוספת ה-Defintions נעשת מהחלון בצד ימין (Available Definitions).

לאחר סיום ההגדרות יש ללחוץ על Save, נחזור למסך הראשי ונראה את ה-Definition החדש.

שיוך ל-Scope הרצוי.

לאחר היצירה, יש ללחוץ על Assign ולשייך למשאב הרצוי.

בחלון שנפתח יש להגדיר את השם למדיניות ולאיזה Subscription ו/או Resource Group לשייך את ה-Policy.

בנוסף, יש אפשרות להוציא משאבים מסויימים מהמדיניות בעזרת Exclusions.

הערה: נכון לכתיבת המאמר אין עלות לשימוש בשירות (כרגע ב-Preview) אבל ניתן לראות 2 מודלים:

• Free – מאפשר לאכוף מדיניות רק על אובייקטים עתידיים.

• Standard – מאפשר לאכוף מדיניות גם על אובייקטים קיימים.

בדיקות

לאחר מספר דקות נוכל לראות תחת Compliance Dashboard את התאימות של המדיניות לאובייקטים שנמצאים תחת ה-Resource Group ששייכנו אליו.

ואם נכנס פנימה נראה את האובייקטים “הבעייתים”.

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

בדוגמה ניסינו ליצור שרת מסוג A1 שבמדיניות קבענו רק שרתים מסוג D.

לסיכום

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

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

בהצלחה

שלום לכולם,

במאמר זה אסביר על Azure Policy,  מה זה Azure Policy, מה ההבדל בין Azure Policy ל-Azure Role Based Access, מדוע זאת אפשרות מאוד חשובה מבחינת ניהול ואבטחה בעבודה עם Azure וכמובן איך לבנות מדיניות חדשה.

מה זה Azure Policy

שירות Azure Policy מאפשר ליצור, להקצות ולנהל מדיניות על גבי פלטופרמת הענן של מיקרוסופט – Azure (נכון לכתיבת המאמר השירות נמצא ב-Preview).

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

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

לדוגמה: לקבוע מדיניות באיזה Azure Location ניתן להרים שירותים או איזה סוג מסויים של Azure VM ניתן ליצור בחשבון ועוד.

מה הבדלים בין Azure RBAC ל-Azure Policy

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

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

כדי ליצור ולשייך מדיניות ב-Azure Policy צריך להיות בעל הרשאות בעזרת Azure RBAC כמו Security Admin, Onwer וכו’.

בנוסף, אפשר ליצור Custom Role מותאם אישית ל-Azure Policy.

להלן סט ההרשאות שניתן להשתמש בהם בעבודה עם Azure Policy (לא חייבים לאפשר מחיקה):

• Microsoft.Authorization/policydefinitions/read

• Microsoft.Authorization/policydefinitions/write

• Microsoft.Authorization/policydefinitions/delete

• Microsoft.Authorization/policyassignments/read

• Microsoft.Authorization/policyassignments/write

• Microsoft.Authorization/policyassignments/delete

• Microsoft.Authorization/policySetDefinitions/read

• Microsoft.Authorization/policySetDefinitions/write

• Microsoft.Authorization/policySetDefinitions/delete

ראה מאמר איך ליצור Custom Role בלינק הבא: יצירת תפקיד מותאם אישית

הערה: לתפקיד Contributor אין הרשאות ליצור מדיניות חדשות או לשייך מדיניות למשאבים.

איך בונים מדיניות בעזרת Azure Policy

1. בניית מדיניות חדשה

2. שיוך ל-Scope הרצוי.

3. בדיקות

בניית מדיניות חדשה

ניתן לבנות מדיניות חדשה בעזרת הפורטל, PowerShell, Azure CLI ועוד.

במאמר זה בחרתי להראות איך לבנות מדיניות באופן פשוט דרך פורטל Azure.

כדי לבנות מדיניות יש לבחור בשירות Policy (ניתן לחפש תחת All Services וללחוץ על Definitions).

כמו שניתן לראות יש רשימה של Definitions מובנים שניתן לשייך ובנוסף, יש אפשרות לבחור ב-Initiative definition לבניית מדיניות ממספר Definitions שונים.

במאמר הבא אסביר כיצד לבנות Definition משלכם בעזרת JSON.

לטובת הדוגמה נבחר ב-Initiative definition שיגדיר את המדיניות הבאה:

1. איזה סוגי מכונות מותר להשתמש.

2. איזה Azure Location

3. שיוך אוטומטי לפתרון OMS – Log Analytics.

יש להגדיר על איזה Subscription רוצים ליצור את ה-Initiative Definition, לבחור שם ולהגדיר Category אליו ה-Policy מתאים.

הוספת ה-Defintions נעשת מהחלון בצד ימין (Available Definitions).

לאחר סיום ההגדרות יש ללחוץ על Save, נחזור למסך הראשי ונראה את ה-Definition החדש.

שיוך ל-Scope הרצוי.

לאחר היצירה, יש ללחוץ על Assign ולשייך למשאב הרצוי.

בחלון שנפתח יש להגדיר את השם למדיניות ולאיזה Subscription ו/או Resource Group לשייך את ה-Policy.

בנוסף, יש אפשרות להוציא משאבים מסויימים מהמדיניות בעזרת Exclusions.

הערה: נכון לכתיבת המאמר אין עלות לשימוש בשירות (כרגע ב-Preview) אבל ניתן לראות 2 מודלים:

• Free – מאפשר לאכוף מדיניות רק על אובייקטים עתידיים.

• Standard – מאפשר לאכוף מדיניות גם על אובייקטים קיימים.

בדיקות

לאחר מספר דקות נוכל לראות תחת Compliance Dashboard את התאימות של המדיניות לאובייקטים שנמצאים תחת ה-Resource Group ששייכנו אליו.

ואם נכנס פנימה נראה את האובייקטים “הבעייתים”.

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

בדוגמה ניסינו ליצור שרת מסוג A1 שבמדיניות קבענו רק שרתים מסוג D.

לסיכום

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

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

בהצלחה

בואו נעבוד ביחד
צרו קשר