אתם יכולים לקבוע אילו עומסי עבודה עם הרשאות יכולים לפעול במצב Autopilot של Google Kubernetes Engine (GKE) באמצעות רשימות היתרים ומדיניות. במאמר הזה מוסבר על האילוצים שמוגדרים כברירת מחדל ב-Autopilot ומיושמים על עומסי עבודה, על הסוגים של עומסי עבודה עם הרשאות שאפשר להריץ במצב Autopilot ועל השיטות לשליטה בגישה לעומסי עבודה עם הרשאות.
המסמך הזה מיועד לאנשים הבאים:
- אדמינים ומפעילים של פלטפורמות שרוצים להריץ עומסי עבודה עם הרשאות ב-GKE ממקורות שונים במצב Autopilot.
- אדמינים של זהויות וחשבונות שרוצים לשפר את רמת האבטחה של הארגון על ידי חסימה של כל עומסי העבודה עם הרשאות מיוחדות, למעט עומסי עבודה ספציפיים.
מידע על עומסי עבודה עם הרשאות במצב Autopilot
כדי לשפר את מצב האבטחה, במצב Autopilot, קלאסטרים וצמתים
אוכפים אילוצים ספציפיים של אבטחה כברירת מחדל. לדוגמה, Autopilot דוחה את רוב ה-Pods שמגדירים את השדה spec.securityContext.privileged לערך true בקונטיינר. עומסי עבודה עם הרשאות מיוחדות ב-Autopilot הם עומסי עבודה שלא עומדים במגבלות ברירת המחדל האלה. כברירת מחדל, צמתים ב-Autopilot בארגון Cloud de Confiance
דוחים עומסי עבודה עם הרשאות.
עומסי עבודה ספציפיים עם הרשאות מיוחדות יכולים לפעול במצב Autopilot רק אם באשכול יש רשימות היתרים שתואמות לעומסי העבודה האלה. כשמנהל אשכול יוצר או משנה אשכול, הוא יכול לציין נתיבים לרשימות ההיתרים שהאשכול יכול להריץ. כברירת מחדל, כל Cloud de Confiance ארגון תומך ברשימות היתרים משותפי Autopilot ומפרויקטים מאומתים של קוד פתוח.
אדמינים ארגוניים יכולים לשנות את התנהגות ברירת המחדל הזו בדרכים הבאות באמצעות Organization Policy Service:
- אפשר להשתמש בכל עומסי העבודה משותפי GKE Autopilot ומעומסי עבודה מאומתים של קוד פתוח. זאת התנהגות ברירת המחדל בכל הארגונים שלCloud de Confiance .
- לאפשר עומסי עבודה ספציפיים של שותפים או עומסי עבודה מאומתים של קוד פתוח.
- לאפשר רק לעומסי עבודה ספציפיים עם הרשאות מיוחדות שנמצאים בבעלות הלקוח.
- דחיית כל עומסי העבודה עם הרשאות מיוחדות.
הגישה הזו של דחיית כל הבקשות ואז אישור חלק מהן היא שיטה מומלצת לאבטחה שמאפשרת לכם לשלוט בדיוק במה שמופעל עם הרשאות מורחבות באשכולות GKE.
כדאי לשלוט בעומסי עבודה עם הרשאות במצב Autopilot במצבים הבאים:
- אתם מריצים עומסי עבודה במצב Autopilot באשכולות רגילים ואתם רוצים שעומסי עבודה עם הרשאות ירוצו על הצמתים האלה.
- אתם רוצים לאפשר רק לקבוצה ספציפית של עומסי עבודה עם הרשאות מיוחדות לפעול בארגון, בתיקייה או בפרויקט.
מקורות של עומסי עבודה עם הרשאות ב-Autopilot
בטבלה הבאה מפורטים סוגי עומסי העבודה עם הרשאות מיוחדות שאפשר להריץ ב-Autopilot:
| סוגים של עומסי עבודה עם הרשאות | |
|---|---|
| עומסי עבודה של שותפים בטייס אוטומטי | קבוצת משנה של Cloud de Confiance שותפים מספקת עומסי עבודה עם הרשאות מיוחדות למצב Autopilot. GKE מאמת את עומסי העבודה של השותפים האלה. עומסי העבודה האלה זמינים לכל הלקוחות. כברירת מחדל, כל לקוח יכול להתקין את רשימות ההיתרים המתאימות בכל אשכול Autopilot או Standard. מידע נוסף על עומסי העבודה של השותפים שזמינים מופיע במאמר בנושא שותפי Autopilot. |
| עומסי עבודה של קוד פתוח | לעומסי עבודה ספציפיים של קוד פתוח עם הרשאות מיוחדות יש רשימות היתרים שמאפשרות להריץ את עומסי העבודה האלה במצב Autopilot. GKE מאמת את עומסי העבודה האלה. כברירת מחדל, כל לקוח יכול להתקין את רשימות ההיתרים המתאימות בכל אשכול Autopilot או Standard. למידע נוסף על עומסי העבודה הזמינים בקוד פתוח, ראו הרצת עומסי עבודה בקוד פתוח עם הרשאות ב-GKE Autopilot. |
| עומסי עבודה בבעלות הלקוח | אם אתם לקוחות שעומדים בדרישות ויש לכם עומסי עבודה עם הרשאות מיוחדות שאתם רוצים להריץ בצמתי Autopilot, אתם יכולים ליצור רשימות היתרים לעומסי העבודה האלה. היכולת הזו מושבתת כברירת מחדל בכל הארגונים של Cloud de Confiance . משתמשים בשירות Organization Policy כדי להוסיף נתיבים לרשימת ההיתרים של עומסי עבודה ספציפיים, ואז מעדכנים את האשכולות כדי להתקין את רשימות ההיתרים האלה. מידע נוסף זמין בקטע עומסי עבודה עם הרשאות בבעלות הלקוח. |
איך פועל בקרת הגישה לעומסי עבודה עם הרשאות
כדי לאפשר לעומסי עבודה ספציפיים עם הרשאות להפעיל את הצמתים שלכם ב-Autopilot, אתם מתקינים רשימות היתרים שתואמות לכל עומס עבודה. רשימות ההיתרים האלה הן משאבים מותאמים אישית של Kubernetes מסוג WorkloadAllowlist. GKE מאמת את פרטי העומס בהשוואה לכל רשימות ההיתרים של עומסי העבודה באשכול, ומאפשר גישה רק אם הפרטים תואמים. כברירת מחדל, כל אשכול Autopilot או אשכול רגיל בארגון מאפשר לכם להתקין רשימות היתרים של עומסי עבודה עבור עומסי עבודה של שותפי Autopilot ועבור עומסי עבודה של קוד פתוח. Cloud de Confiance
באופן כללי, כדי להריץ עומסי עבודה עם הרשאות בצמתי Autopilot צריך לבצע את השלבים הבאים:
- האדמין הארגוני מאמת שהמגבלה
container.managed.autopilotPrivilegedAdmissionמנוהלת של מדיניות הארגון מאפשרת התקנה של רשימות היתרים ממקור ספציפי. מידע נוסף זמין בקטע הגבלות שמוגדרות על ידי מדיניות הארגון לגבי רשימות היתרים. - עבור עומסי עבודה עם הרשאות מיוחדות שבבעלות הלקוח, האדמין של הפלטפורמה יוצר רשימות היתרים שתואמות לעומסי העבודה עם ההרשאות המיוחדות. מידע נוסף מופיע בקטע בנושא עומסי עבודה עם הרשאות מורחבות בבעלות הלקוח.
- אדמין האשכול מגדיר אשכול Autopilot או אשכול רגיל כדי לאפשר התקנה של רשימות היתרים ממקור ספציפי. מידע נוסף מופיע בקטע הגדרת אשכול.
- אדמין האשכול יוצר AllowlistSynchronizer שמפנה לנתיב של הרשימה הלבנה. הכלי AllowlistSynchronizer מתקין את רשימת ההיתרים ושומר אותה מעודכנת. מידע נוסף זמין בקטע התקנה של רשימת ההיתרים.
אחרי השלמת השלבים האלה, מפעיל אפליקציה יכול לפרוס את עומס העבודה עם הרשאות היתר באשכול.
אילוץ מנוהל של מדיניות הארגון לגבי רשימות היתרים
כברירת מחדל, כל ארגון Cloud de Confiance אוכף מדיניות ארגון שמבוססת על container.managed.autopilotPrivilegedAdmission
אילוץ מנוהל.
האילוץ המנוהל הזה כולל את הפרמטרים הבאים:
allowAnyGKEPath: ערך בוליאני שמאפשר לאדמינים של אשכולות להגדיר אשכולות להתקנה מרשימת ההיתרים מנתיבים עם הקידומתgke://. יש תמיכה בערכים הבאים:-
true: מאפשר לאדמינים של אשכולות להגדיר אשכולות עם מקורות ברירת המחדל של רשימת ההיתרים של GKE, עם כל נתיב של רשימת היתרים שמתחיל ב-gke://, או עם מחרוזת ריקה (שמונעת את כל רשימות ההיתרים). זה ערך ברירת המחדל של הפרמטרallowAnyGKEPath. -
false: דורש מאדמינים של אשכולות להגדיר אשכולות עם מחרוזת ריקה עבור מקורות ברשימת ההיתרים או עם נתיבים כלשהם ברשימת ההיתרים מהפרמטרallowPaths.
-
allowPaths: רשימה של מקורות מאושרים ברשימת ההיתרים, שמנהלי אשכולות יכולים לציין ערכים מתוכה כשהם מגדירים אשכול.
אדמינים ארגוניים יכולים לעדכן את הפרמטרים של המדיניות הזו כדי לקבוע אילו עומסי עבודה עם הרשאות מיוחדות יכולים לפעול בארגון שלהם. Cloud de Confianceלדוגמה, הגדרת מדיניות הארגון הבאה מאפשרת לאדמינים של אשכולות להתקין רשימות היתרים רק עבור עומס עבודה ספציפי של שותף Cloud de Confiance:
name: organizations/ORGANIZATION_ID/policies/container.managed.autopilotPrivilegedAdmission
spec:
rules:
- enforce: true
parameters:
allowAnyGKEPath: ALLOW_GKE_PATHS
allowPaths:
- PATH1
- PATH2
- PATH3
מחליפים את מה שכתוב בשדות הבאים:
ALLOW_GKE_PATHS: האם לאפשר רשימות היתרים שאושרו על ידי GKE. מציינים אחד מהערכים הבאים:-
True: מאפשרת הגדרת אשכול עם עומסי עבודה של שותפים ב-GKE או עם עומסי עבודה מאומתים של קוד פתוח. זה ערך ברירת המחדל. -
False: מאפשר להגדיר את האשכול רק באמצעות הנתיבים בשדהallowPaths.
-
PATH1,: רשימת נתיבים למקורות מאושרים ברשימת ההיתרים שאדמינים של אשכולות יכולים להשתמש בהם כשהם מגדירים אשכולות. כברירת מחדל, הפרמטר הזה ריק. אם מציינים נתיבים לפרמטר הזה, אדמינים של אשכולות צריכים לציין אפס או יותר מהנתיבים האלה כשהם יוצרים או מעדכנים אשכול.PATH2,...
מידע נוסף על שליטה בהרשאת עומסי עבודה עם הרשאות מיוחדות במדיניות הארגון זמין במאמר הגבלת עומסי עבודה עם הרשאות מיוחדות ב-GKE בארגונים.
עומסי עבודה עם הרשאות בבעלות הלקוח
אם אתם לקוחות GKE, יכול להיות שיש לכם עומסי עבודה מיוחדים שדורשים יותר הרשאות באשכול מאשר המגבלות האוטומטיות של Autopilot מאפשרות. ב-GKE בגרסה 1.35 ואילך, אפשר ליצור רשימות היתרים כדי להחריג את עומסי העבודה האלה מהאילוצים של Autopilot שמוגדרים כברירת מחדל.
רשימת ההיתרים היא קובץ YAML שמגדיר משאב מותאם אישית של Kubernetes WorkloadAllowlist. המפרט של WorkloadAllowlist תואם לשדות שונים במפרט של Kubernetes Pod. כשמגדירים WorkloadAllowlist, צריך להתאים את הערכים ב-WorkloadAllowlist לשדות המתאימים במפרט של עומס העבודה עם ההרשאות. אתם מאחסנים את קובצי ה-YAML בקטגוריה של Cloud Storage.
כדי להתקין את רשימות ההיתרים האלה בבעלות הלקוח באשכול, צריך לבצע את השלבים הבאים:
- האדמין בארגון מוסיף את הנתיבים של Cloud Storage למדיניות הארגון. מידע נוסף זמין בקטע מידע על האילוץ המנוהל של מדיניות הארגון.
- מוסיפים את הנתיבים של Cloud Storage להגדרת אשכול. מידע נוסף זמין בקטע הגדרת אשכול.
למידע נוסף על יצירת רשימות היתרים משלכם לעומסי עבודה, אפשר לקרוא את המאמר יצירת רשימות היתרים לעומסי עבודה עם הרשאות ב-Autopilot.
הגדרת אשכול
כדי להריץ עומס עבודה עם הרשאות במצב Autopilot, אדמין של אשכול מוסיף נתיב אחד או יותר של רשימת היתרים מאושרת להגדרת האשכול. אחרי שמוסיפים את הנתיבים לאשכול, מפעילים של אפליקציות יכולים להתקין את רשימות ההיתרים המתאימות ואת עומסי העבודה עם הרשאות באשכול.
כברירת מחדל, אפשר להתקין רשימות היתרים משותפי Autopilot ומפרויקטים מאושרים בקוד פתוח. יכול להיות שקבוצת ברירת המחדל הזו של מקורות מאושרים לרשימות ההיתרים תשתנה בגלל מדיניות הארגון, כמו שמתואר בקטע הקודם. אם מדיניות ארגונית שולטת בנתיבים המאושרים ברשימת ההיתרים, צריך לתאם עם האדמין בארגון כדי לזהות את הנתיבים האלה. אחר כך תוכלו לציין נתיב מאושר אחד או יותר בהגדרות של האשכול.
מידע נוסף על הגדרת אשכולות זמין במאמר הרצת עומסי עבודה עם הרשאות ב-Autopilot.
הוספה לרשימת ההיתרים של התקנה
כדי להתקין רשימת היתרים ממקור מאושר באשכול, משתמשים במשאב מותאם אישית של Kubernetes שנקרא AllowlistSynchronizer. אתם מגדירים ויוצרים AllowlistSynchronizers באופן דומה לאופן שבו אתם יוצרים משאבי Kubernetes אחרים, כמו Pods ו-Deployments. לכל AllowlistSynchronizer יש רשימה של נתיבים לרשימות ההיתרים שרוצים להתקין באשכול.
כשיוצרים AllowlistSynchronizer, GKE מתקין רשימות היתרים מהנתיבים האלה ושומר על עדכניות של רשימות ההיתרים. כל 10 דקות, GKE בודק אם יש שינויים בקבצים של רשימת ההיתרים. אם יש עדכון, הכלי לסנכרון מתקין את רשימת ההיתרים המעודכנת באשכול.
אחרי ש-GKE מתקין רשימת היתרים על סמך AllowlistSynchronizer, אפשר ליצור את עומס העבודה המתאים עם הרשאות מיוחדות באשכול.
מידע נוסף על התקנת רשימות היתרים באשכול זמין במאמר הרצת עומסי עבודה עם הרשאות ב-Autopilot.
נתיבים ברשימת ההיתרים
כשמגדירים תמיכה ברשימת היתרים במדיניות הארגון או באשכולות, מציינים נתיבים לאחת או יותר רשימות היתרים של עומסי עבודה שאושרו להתקנה. התחביר של הנתיבים האלה תלוי במי שיצר את WorkloadAllowlist, באופן הבא:
שותפים ספציפיים של Autopilot ופרויקטים מאושרים בקוד פתוח:
gke://REPOSITORY_PATH/SELECTORמחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY_PATH: הנתיב לספרייה שמכילה רשימות היתרים לעומס העבודה, כמוGrafana/alloy. למידע נוסף על הנתיבים ברשימת ההיתרים של עומסי העבודה האלה, אפשר לעיין בדפים הבאים: -
SELECTOR: השם של קובץ ספציפי או התו*, שבוחר כל קובץ בספרייה הזו.
לדוגמה, הנתיב הבא בוחר כל רשימת היתרים בספרייה
Grafana/alloy:gke://Grafana/alloy/*-
עומסי עבודה עם הרשאות מיוחדות בבעלות הלקוח:
gs://DIRECTORY_PATH/SELECTORמחליפים את
DIRECTORY_PATHבנתיב לספרייה ב-Cloud Storage שמכילה את הקבצים של רשימת ההיתרים. אפשר לציין כמה נתיבים.
אתם יכולים לציין נתיב אחד או יותר מהנתיבים שלמעלה במדיניות הארגון או בהגדרות האשכול. לדוגמה, אפשר להוסיף עומסי עבודה של שותפי GKE ועומסי עבודה בבעלות הלקוח לאותה הגדרה. אפשר גם להשתמש בתו * כדי לבחור את כל רשימות ההיתרים. לדוגמה, gke://* בוחר כל רשימת היתרים שאושרה על ידי GKE מכל מקור.
בטבלה הבאה מתוארת ההגדרה שנדרשת במדיניות הארגון או באשכולות כדי לתמוך ביעדים מסוימים:
| מטרה | הגדרת מדיניות הארגון | הגדרת אשכול |
|---|---|---|
| מתן הרשאה לכל רשימות ההיתרים של עומסי עבודה שאושרו על ידי GKE | מבצעים את הפעולות הבאות:
|
מבצעים אחת מהפעולות הבאות:
|
| מתן הרשאה רק לרשימות היתרים ספציפיות של עומסי עבודה שאושרו ב-GKE | מבצעים את הפעולות הבאות:
|
כשיוצרים או מעדכנים אשכול, מציינים נתיבים לרשימות היתרים ספציפיות של עומסי עבודה שאושרו על ידי GKE. מדיניות הארגון עשויה להגביל את הנתיבים שאושרו על ידי GKE שאפשר לציין. |
| אפשר להשתמש רק ברשימות היתרים של עומסי עבודה בניהול הלקוח | מבצעים את הפעולות הבאות:
|
מציינים נתיבים לרשימות היתרים של עומסי עבודה שמנוהלות על ידי הלקוח כשיוצרים או מעדכנים אשכול. הנתיבים שאתם מציינים צריכים להיות בפרמטר allowPaths של מדיניות הארגון. |
| מניעת השימוש ברשימות היתרים של עומסי עבודה | מבצעים את הפעולות הבאות:
|
מגדירים מחרוזת ריקה "" כנתיב המאושר כשיוצרים או מעדכנים אשכול. |