אתם יכולים להשתמש ברשימות היתרים ובכללי מדיניות כדי לקבוע אילו עומסי עבודה עם הרשאות יכולים לפעול במצב Autopilot של Google Kubernetes Engine (GKE). במאמר הזה נתאר את אילוצי ברירת המחדל שמופעלים על עומסי עבודה במצב Autopilot, את סוגי עומסי העבודה עם הרשאות שאפשר להריץ במצב Autopilot ואת השיטות לשליטה על קבלת עומסי עבודה עם הרשאות.
המסמך הזה מיועד לאנשים הבאים:
- אדמינים ומפעילים של פלטפורמות שרוצים להריץ עומסי עבודה עם הרשאות ב-GKE ממקורות שונים במצב אוטומטי.
- אדמינים של זהויות וחשבונות שרוצים לשפר את מצב האבטחה של הארגון על ידי חסימת כל עומסי העבודה עם הרשאות היתר, מלבד עומסי עבודה ספציפיים.
מידע על עומסי עבודה עם הרשאות במצב אוטומטי
כדי לשפר את מצב האבטחה, באשכולות ובצמתים במצב אוטומטי נאכפות כברירת מחדל מגבלות אבטחה ספציפיות. לדוגמה, Autopilot דוחה את רוב הפודים שמגדירים את השדה spec.securityContext.privileged ל-true בקונטיינר. עומסי עבודה עם הרשאות ב-Autopilot הם עומסי עבודה שלא עומדים באילוצי ברירת המחדל האלה. כברירת מחדל, צמתים ב-Autopilot בארגון Cloud de Confiance
דוחים עומסי עבודה עם הרשאות.
עומסי עבודה ספציפיים בעלי הרשאות יכולים לפעול במצב אוטומטי רק אם לאשכול יש רשימות היתרים שתואמות לעומסי העבודה האלה. כשאדמין של אשכול יוצר או משנה אשכול, הוא יכול לציין נתיבים לרשימות היתרים שהאשכול יכול להריץ. כברירת מחדל, כל Cloud de Confiance ארגון תומך ברשימות היתרים של שותפי Autopilot ושל פרויקטים מאומתים בקוד פתוח.
מנהלי חשבון ארגוני יכולים לשנות את התנהגות ברירת המחדל הזו בדרכים הבאות, באמצעות שירות מדיניות הארגון:
- לאפשר את כל עומסי העבודה משותפי GKE Autopilot ומעומסי עבודה מאומתים בקוד פתוח. זו התנהגות ברירת המחדל בכל הארגונים שלCloud de Confiance .
- לאפשר עומסי עבודה ספציפיים של שותפים או עומסי עבודה מאומתים של קוד פתוח.
- לאפשר רק עומסי עבודה ספציפיים עם הרשאות בבעלות הלקוח.
- דחייה של כל עומסי העבודה עם הרשאות הניהול.
הגישה הזו, של דחיית הכול ואז אישור של חלק, היא שיטה מומלצת לאבטחה שמאפשרת לכם לשלוט בדיוק במה שפועל עם הרשאות מורחבות באשכולות GKE.
יכול להיות שתרצו לשלוט בעומסי עבודה עם הרשאות במצב Autopilot במצבים כמו:
- אתם מריצים עומסי עבודה במצב אוטומטי באשכולות Standard ואתם רוצים שעומסי עבודה עם הרשאות ירוצו בצמתים האלה.
- אתם רוצים לאפשר רק לקבוצה ספציפית של עומסי עבודה עם הרשאות להפעיל בפרויקט, בתיקייה או בארגון שלכם.
מקורות של עומסי עבודה עם הרשאות ב-Autopilot
בטבלה הבאה מתוארים סוגי עומסי העבודה המורשים שאפשר להריץ ב-Autopilot:
| סוגים של עומסי עבודה עם הרשאות | |
|---|---|
| עומסי עבודה של שותפים בטייס אוטומטי | חלק מהשותפים של Cloud de Confiance מספקים עומסי עבודה עם הרשאות למצב אוטומטי. GKE מאמת את עומסי העבודה של השותפים האלה. עומסי העבודה האלה זמינים לכל לקוח. כברירת מחדל, כל לקוח יכול להתקין את רשימות ההיתרים המתאימות בכל אשכול Autopilot או אשכול רגיל. מידע נוסף על עומסי העבודה של השותפים זמין במאמר בנושא שותפי Autopilot. |
| עומסי עבודה בקוד פתוח | לעומסי עבודה ספציפיים של קוד פתוח עם הרשאות מיוחדות יש רשימות היתרים שמאפשרות להריץ את עומסי העבודה האלה במצב אוטומטי. GKE מאמת את עומסי העבודה האלה. כברירת מחדל, כל לקוח יכול להתקין את רשימות ההיתרים המתאימות בכל אשכול במצב Autopilot או במצב רגיל. למידע נוסף על עומסי העבודה הזמינים בקוד פתוח, אפשר לעיין במאמר בנושא הרצת עומסי עבודה בקוד פתוח עם הרשאות ב-GKE Autopilot. |
| עומסי עבודה בבעלות הלקוח | אם אתם לקוחות שעומדים בדרישות ויש לכם עומסי עבודה עם הרשאות מיוחדות שאתם רוצים להריץ בצמתים של Autopilot, אתם יכולים ליצור רשימות היתרים לעומסי העבודה האלה. היכולת הזו מושבתת כברירת מחדל בכל הארגונים ב- Cloud de Confiance . אתם משתמשים בשירות מדיניות הארגון כדי להוסיף נתיבים לרשימת ההיתרים של עומסי עבודה ספציפיים, ואז מעדכנים את האשכולות כדי להתקין את רשימות ההיתרים האלה. מידע נוסף זמין בקטע עומסי עבודה עם הרשאות מורחבות בבעלות הלקוח. |
איך פועלת בקרת הגישה של עומסי עבודה עם הרשאות
כדי לאפשר לעומסי עבודה ספציפיים עם הרשאות לפעול בצומתי Autopilot, צריך להתקין רשימות היתרים שתואמות לכל עומס עבודה. רשימות ההיתרים האלה הן משאבים בהתאמה אישית של WorkloadAllowlist Kubernetes. GKE מאמת את פרטי עומס העבודה מול כל רשימת WorkloadAllowlist באשכול, ומאפשר גישה רק אם הפרטים תואמים. כברירת מחדל, בכל אשכול במצב Autopilot או במצב Standard בארגון ב- Cloud de Confianceאפשר להתקין רשימות היתרים של עומסי עבודה, גם לעומסי עבודה של שותפי Autopilot וגם לעומסי עבודה בקוד פתוח.
ככלל, כדי להריץ עומסי עבודה עם הרשאות בצומתי Autopilot צריך לבצע את השלבים הבאים:
- מנהל הארגון מוודא שהמגבלה המנוהלת של מדיניות הארגון
container.managed.autopilotPrivilegedAdmissionמאפשרת התקנה של רשימות היתרים ממקור ספציפי. מידע נוסף זמין בקטע אילוץ מנוהל של מדיניות הארגון לרשימות היתרים. - בעומסי עבודה עם הרשאות בבעלות הלקוח, מנהל המערכת של הפלטפורמה יוצר רשימות היתרים שתואמות לעומסי העבודה עם ההרשאות. מידע נוסף זמין בקטע עומסי עבודה עם הרשאות מורחבות בבעלות הלקוח.
- אדמין האשכול מגדיר אשכול במצב Autopilot או אשכול רגיל כדי לאפשר התקנה של רשימות היתרים ממקור ספציפי. מידע נוסף מופיע בקטע הגדרת אשכול.
- האדמין של האשכול יוצר AllowlistSynchronizer שמפנה לנתיב של רשימת ההיתרים. ה-AllowlistSynchronizer מתקין את רשימת ההיתרים ומעדכן אותה. מידע נוסף זמין בקטע התקנה של רשימת היתרים.
אחרי השלבים האלה, מפעיל האפליקציה יכול לפרוס את עומס העבודה עם הרשאות הניהול באשכול.
אילוץ מנוהל של מדיניות הארגון לרשימות היתרים
כברירת מחדל, בכל ארגון ב- Cloud de Confiance נאכפת מדיניות ארגונית שמבוססת על האילוץ המנוהל container.managed.autopilotPrivilegedAdmission.
האילוץ הזה מגדיר קבוצה של נתיבי קבצים או ספריות שמהם אשכולות GKE יכולים להתקין רשימות היתרים. הגדרת האשכול צריכה להשתמש בנתיבים של רשימת ההיתרים מהפרמטרים של האילוץ הזה.
כברירת מחדל, האילוץ autopilotPrivilegedAdmission מאפשר שימוש בכל רשימות ההיתרים שנמצאות בבעלות של שותפי GKE מאושרים ובפרויקטים של קוד פתוח. ההגדרה הזו תואמת להגדרת ברירת המחדל של אשכולות GKE, שניתן להתקין בהם כל אחת מרשימות ההיתרים שאושרו.
אדמינים של מדיניות הארגון יכולים לשנות את קבוצת הנתיבים ברשימת ההיתרים שאפשר להחיל על אשכולות GKE בארגון, בתיקייה או בפרויקט. לדוגמה, כדי לאפשר שימוש ברשימת היתרים בהתאמה אישית שבבעלות הארגון, מוסיפים את הנתיב של רשימת ההיתרים לאילוץ המנוהל.
פרמטרים של אילוצים מנוהלים
המפרט של האילוץ המנוהל autopilotPrivilegedAdmission:
spec:
rules:
- enforce: true
parameters:
allowAnyGKEPath: ALLOW_GKE_PATHS
allowPaths:
- PATH1
- PATH2
- PATH3
השדות הבאים במפרט קובעים את קבוצת הרשימות הלבנות שבהן אשכולות יכולים להשתמש:
allowAnyGKEPath: ערך בוליאני שקובע אם אשכולות יכולים להשתמש בקבוצת ברירת המחדל של נתיבי הרשאה שאושרו על ידי GKE. הפרמטר הזה תומך בערכים הבאים:
True: אדמינים של אשכולות יכולים להגדיר אשכולות בלי לשנות את ההגדרה של רשימת ההיתרים, עם נתיב אחד או יותר של רשימת היתרים שמתחיל ב-gke://, או עם מחרוזת ריקה כדי להשבית את כל רשימות ההיתרים של האשכול. Trueהוא ערך ברירת המחדל של הפרמטר הזה.
False: אדמינים של אשכולות צריכים להגדיר אשכולות עם מחרוזת ריקה או עם נתיבים של רשימת היתרים מהפרמטרallowPaths.
allowPaths: רשימה של מקורות מאושרים ברשימת ההיתרים, שמנהלי האשכולות יכולים לציין ערכים מתוכם כשהם מגדירים אשכול. אפשר לציין נתיבים לקבצים ספציפיים של רשימת ההיתרים או לספריות שלמות.
בטבלה הבאה מתוארות התוצאות של הגדרת הפרמטרים האלה בדרכים שונות:
ערך של allowAnyGKEPath |
ערך של allowPaths |
תוצאה |
|---|---|---|
True |
ריק או לא צוין. | אדמינים של אשכולות יכולים לבצע את הפעולות הבאות במהלך יצירה או שינוי של אשכול:
|
False |
ריק או לא צוין. | אדמינים של אשכולות צריכים לציין ערך ריק להגדרת הרשימה הלבנה של האשכול. אם אדמינים של אשכולות מדלגים על הגדרת הנתיב של רשימת ההיתרים, אז יצירה או שינוי של אשכולות ייכשלו. |
True |
הערכים מצוינים. | אדמינים של אשכולות יכולים לבצע כל אחת מהפעולות הבאות במהלך יצירה או שינוי של אשכול:
|
False |
הערכים מצוינים. | מנהלי האשכולות צריכים לבצע אחת מהפעולות הבאות במהלך היצירה או השינוי של האשכול:
|
מידע נוסף על שליטה בקבלת עומסי עבודה עם הרשאות ניהול במדיניות הארגון זמין במאמר הגבלת עומסי עבודה עם הרשאות ניהול ב-GKE בארגונים.
עומסי עבודה עם הרשאות בבעלות הלקוח
כלקוחות GKE, יכול להיות שיש לכם עומסי עבודה מיוחדים משלכם שדורשים יותר הרשאות באשכול מאלה שמאפשרות מגבלות האבטחה שמוגדרות כברירת מחדל ב-Autopilot. בגרסה 1.35 ואילך של GKE, אתם יכולים להחריג את עומסי העבודה האלה מהאילוצים שמוגדרים כברירת מחדל ב-Autopilot, על ידי יצירת רשימות היתרים.
רשימת היתרים היא קובץ YAML שמגדיר משאב WorkloadAllowlist בהתאמה אישית ב-Kubernetes. המפרט של WorkloadAllowlist תואם לשדות שונים במפרט של Kubernetes Pod. כשמגדירים WorkloadAllowlist, צריך להתאים את הערכים ב-WorkloadAllowlist לשדות המתאימים במפרט של עומס העבודה עם ההרשאות. אתם מאחסנים את קובצי ה-YAML בקטגוריה של Cloud Storage.
כדי להתקין את רשימות ההיתרים האלה באשכול, צריך לבצע את הפעולות הבאות:
- האדמין בארגון מוסיף את הנתיבים של Cloud Storage למדיניות הארגון. מידע נוסף מופיע בקטע מידע על האילוץ המנוהל של מדיניות הארגון.
- מוסיפים את הנתיבים של Cloud Storage להגדרת אשכול. למידע נוסף, קראו את הקטע הגדרת אשכול.
למידע נוסף על יצירת WorkloadAllowlists משלכם, קראו את המאמר יצירת רשימות היתרים לעומסי עבודה עם הרשאות ב-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 | מבצעים את הפעולות הבאות:
|
מבצעים אחת מהפעולות הבאות:
|
| לאפשר רק רשימות WorkloadAllowlists ספציפיות שאושרו על ידי GKE | מבצעים את הפעולות הבאות:
|
כשיוצרים או מעדכנים אשכול, מציינים נתיבים ל-WorkloadAllowlists ספציפיים שאושרו על ידי GKE. מדיניות הארגון עשויה להגביל את הנתיבים שאושרו על ידי GKE שאפשר לציין. |
| מותר להשתמש רק ברשימות WorkloadAllowlist בניהול הלקוח | מבצעים את הפעולות הבאות:
|
כשיוצרים או מעדכנים אשכול, מציינים את הנתיבים ל-WorkloadAllowlists בניהול הלקוח. הנתיבים שאתם מציינים צריכים להיות בפרמטר allowPaths של מדיניות הארגון. |
| מניעת השימוש ברשימות היתרים של עומסי עבודה | מבצעים את הפעולות הבאות:
|
מגדירים מחרוזת ריקה "" כנתיב המאושר כשיוצרים או מעדכנים אשכול. |