כשמגדירים מדיניות ארגונית לגבי משאב, כל הצאצאים של המשאב הזה יורשים את המדיניות הארגונית כברירת מחדל. אם מגדירים מדיניות ארגונית במשאב הארגון, ההגבלות האלה עוברות בירושה לכל משאבי הצאצאים.
אפשר להגדיר את אותה מדיניות ארגונית עם הגדרה שונה במשאבי צאצא, והיא תחליף את המדיניות שעברה בירושה או תתמזג איתה על סמך הכללים של הערכת ההיררכיה וסוג האילוץ שהוגדר במדיניות הארגונית.
לפני שמתחילים
במאמר הסבר על אילוצים מוסבר מהו אילוץ.
כדאי לקרוא את הסקירה הכללית של השירות של מדיניות הארגון כדי להבין איך מדיניות הארגון פועלת.
דוגמה להיררכיה
בתרשים הבא של היררכיית המשאבים, כל משאב מגדיר מדיניות ארגונית שמחילה אילוץ מנוהל מדור קודם, ומגדירה אם המדיניות יורשת את המדיניות של משאב ההורה שלה. הצורות הצבעוניות מייצגות את הערכים שמדיניות הארגון מאפשרת או אוסרת.
אילוץ הוא סוג מסוים של הגבלה שנאכפת על Cloud de Confiance שירות או על רשימה של Cloud de Confiance שירותים. בדוגמה שלמעלה, Constraint מייצג את constraint default, שמגדיר את ההתנהגות כשמגבלת המדיניות לא מוגדרת במדיניות ארגונית. ברירת המחדל של האילוץ בדוגמה הזו מאפשרת את כל הערכים של . הצמתים שמתחתיו מגדירים מדיניות ארגונית שמבטלת את ברירת המחדל של ההגבלה על ידי אישור או דחייה של ערכים.
המדיניות שחלה בפועל בכל צומת מוערכת על סמך כללי הירושה. אם לא מוגדרת מדיניות ארגון, המשאב יקבל בירושה את התנהגות ברירת המחדל של המגבלה. אם מגדירים מדיניות ארגונית, המדיניות הזו תשמש במקום זאת. בדוגמה שלמעלה, צומת הארגון מגדיר מדיניות שמאפשרת ריבוע אדום ו עיגול ירוק.
המשאבים שנמצאים בהיררכיה מתחת לצומת הארגון מוערכים באופן הבא:
במשאב 1 מוגדרת מדיניות שקובעת את
inheritFromParentל-TRUEומאפשרת למעוין הכחול. המדיניות מצומת הארגון עוברת בירושה ומתמזגת עם המדיניות שהוגדרה במשאב 1. המדיניות בפועל מאפשרת ריבוע אדום, עיגול ירוק ו מעוין כחול.במשאב 2 מוגדרת מדיניות שקובעת ש-
inheritFromParentהואTRUEודוחה את green circle. ערכי דחייה תמיד קודמים במהלך תהליך ההתאמה של המדיניות. המדיניות מצומת הארגון עוברת בירושה ומתמזגת עם המדיניות שמוגדרת במשאב 2. המדיניות בפועל מאפשרת רק ריבוע אדום .משאב 3 מגדיר מדיניות שקובעת ש-
inheritFromParentיהיהFALSEומאפשרת משושה צהוב. המדיניות מצומת הארגון לא עוברת בירושה, ולכן המדיניות בפועל מאפשרת רק את המשושה הצהוב.במשאב 4 מוגדרת מדיניות שקובעת את הערך
inheritFromParentל-FALSEוכוללת את הערךrestoreDefault. המדיניות מצומת הארגון לא עוברת בירושה, ונעשה שימוש בהתנהגות ברירת המחדל של האילוץ, כך שהמדיניות שחלה בפועל מאפשרת ל- את כל הערכים.
כללי הערכה של היררכיה
הכללים הבאים קובעים איך מתבצעת הערכה של מדיניות הארגון במשאב נתון. כדי להגדיר מדיניות ארגונית, צריך להיות לכם תפקיד של אדמין של מדיניות ארגונית.
אילוצים שנאכפים באופן אוטומטי
אם מדיניות ארגונית לא נאכפת, היא יורשת את המדיניות מהאב הקדמון הנמוך ביותר שבו נאכפת מדיניות ארגונית. אם לא נאכפת מדיניות ארגונית בשום מקום בהיררכיית האב, נאכפת התנהגות ברירת המחדל של האילוץ שמנוהלת על ידי Google.
אם התנהגות ברירת המחדל של אילוץ במדיניות הארגון שמנוהלת על ידי Google מגבילה פעולה מסוימת, הפעולה הזו תהיה מוגבלת גם אם לא הגדרתם מדיניות ארגון באופן מפורש. כדי לאפשר את הפעולות האלה, צריך ליצור מדיניות ארגונית שתבטל את המדיניות של ההורה.
רשימה של אילוצים של מדיניות הארגון עם התנהגות ברירת מחדל שמנוהלת על ידי Google ומגבילה פעולות זמינה במאמר בנושא אילוצים של מדיניות הארגון.
ירושה
משאב שהוגדרה לו מדיניות ארגונית כברירת מחדל מחליף כל מדיניות שהוגדרה למשאבי ההורה שלו בהיררכיה. עם זאת, אם למשאב מוגדר inheritFromParent = true, המדיניות האפקטיבית של משאב ההורה עוברת בירושה, מתמזגת ומתבצעת התאמה כדי להעריך את המדיניות האפקטיבית שמתקבלת. לדוגמה:
- התיקייה דוחה את הערך
projects/123. - פרויקט שנמצא מתחת לתיקייה הזו דוחה את הערך
projects/456.
שני כללי המדיניות ימוזגו, ובמקרה הזה יתקבל כלל מדיניות בפועל שחוסם את projects/123 ואת projects/456.
הורשה של התנהגות ברירת מחדל
התנהגות ברירת המחדל אף פעם לא ממוזגת. כשמגדירים מדיניות, היא תמיד מחליפה את התנהגות ברירת המחדל. לדוגמה:
- כברירת המחדל,
constraints/iam.allowServiceAccountCredentialLifetimeExtensionמוגדר כ-DENYברמת הארגון. - במקרה של האילוץ הזה, פרויקט שנמצא ישירות מתחת לארגון מאפשר את הערך
SomeServiceAccount.
מכיוון שההתנהגות שמוגדרת כברירת מחדל אף פעם לא משולבת ותמיד מוחלפת, התוצאה היא מדיניות שמאפשרת SomeServiceAccount. לעומת זאת, אם המדיניות מוגדרת באופן מפורש לערך DENY ברמת הארגון, יחול הכלל 'הערך DENY מקבל עדיפות' והמדיניות שתהיה בתוקף תהיה DENY.
איסור ירושה
אם למשאב יש מדיניות שכוללת את inheritFromParent = false, הוא לא יורש את מדיניות הארגון מההורה שלו. במקום זאת, המשאב מקבל בירושה את התנהגות ברירת המחדל של ההגבלה, אלא אם מגדירים מדיניות עם ערכים מותרים או אסורים.
התאמה של סתירות במדיניות
כשמשאב יורש מדיניות ארגונית, המדיניות שעוברת בירושה מתמזגת עם המדיניות הארגונית של משאב ההורה ומתעדכנת בהתאם. כשמעריכים מדיניות ארגונית עם כללי רשימה, הערכים של DENY תמיד קודמים. לדוגמה:
- התיקייה דוחה את הערך
projects/123. - פרויקט שנמצא מתחת לתיקייה הזו יכול להשתמש בערך
projects/123.
המדיניות מתמזגת והערך של DENY מקבל עדיפות. המדיניות האפקטיבית דוחה את כל הערכים, וההערכה שלה מתבצעת באותו אופן בין אם משאב האב או משאב הצאצא דוחה את הערך. מומלץ לא לכלול ערך גם ברשימת ההיתרים וגם ברשימת הדחייה. אם תעשו את זה, יהיה קשה יותר להבין את המדיניות שלכם.
מדיניות ארגונית עם כללים בוליאניים לא מתמזגת ולא מתבצעת בה התאמה. אם מציינים מדיניות במשאב, הערך TRUE או FALSE משמש לקביעת המדיניות בפועל. לדוגמה:
תיקייה מגדירה
enforced: trueעבורconstraints/iam.managed.disableServiceAccountCreation.בפרויקט שנמצא מתחת לתיקייה הזו, הערך
enforced: falseמוגדר ל-constraints/iam.managed.disableServiceAccountCreation.
המערכת מתעלמת מהערך של enforced: true שהוגדר בתיקייה כי enforced: false מוגדר בפרויקט עצמו. מדיניות הארגון לא נאכפת בפרויקט הזה.
איפוס למדיניות ברירת המחדל
כשמפעילים את RestoreDefault, מדיניות הארגון משתמשת בהתנהגות ברירת המחדל של האילוץ עבור המשאב הזה. גם משאבים צאצאים יורשים את ההתנהגות הזו.