מידע על אישור של עומסי עבודה עם הרשאות במצב Autopilot

אתם יכולים לשלוט בעומסי עבודה עם הרשאות מיוחדות שיכולים לפעול במצב 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 או במצב רגיל.

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

עומסי עבודה של קוד פתוח

לעומסי עבודה ספציפיים של קוד פתוח עם הרשאות מיוחדות יש רשימות היתרים שמאפשרות להריץ את עומסי העבודה האלה במצב Autopilot. ‫GKE מאמת את עומסי העבודה האלה. כברירת מחדל, כל לקוח יכול להתקין את רשימות ההיתרים המתאימות בכל אשכול Autopilot או Standard.

מידע נוסף על עומסי העבודה הזמינים בקוד פתוח זמין במאמר הרצת עומסי עבודה בקוד פתוח עם הרשאות ב-GKE Autopilot.

עומסי עבודה בבעלות הלקוח

אם אתם לקוחות שעומדים בדרישות ויש לכם עומסי עבודה עם הרשאות מיוחדות שאתם רוצים להריץ בצמתי Autopilot, אתם יכולים ליצור רשימות היתרים לעומסי העבודה האלה. היכולת הזו מושבתת כברירת מחדל בכל הארגונים של Cloud de Confiance . משתמשים בשירות Organization Policy כדי להוסיף נתיבים לרשימת ההיתרים של עומסי עבודה ספציפיים, ואז מעדכנים את האשכולות כדי להתקין את רשימות ההיתרים האלה.

מידע נוסף זמין בקטע עומסי עבודה עם הרשאות מורחבות בבעלות הלקוח.

איך פועל בקרת הגישה לעומסי עבודה עם הרשאות

כדי לאפשר לעומסי עבודה ספציפיים עם הרשאות מיוחדות לפעול בצמתים של Autopilot, צריך להתקין רשימות היתרים שמתאימות לכל עומס עבודה. רשימות ההיתרים האלה הן משאבים מותאמים אישית של Kubernetes מסוג WorkloadAllowlist. ‫GKE מאמת את פרטי עומס העבודה מול כל רשימת היתרים של עומסי עבודה באשכול, ומאפשר גישה רק אם הפרטים תואמים. כברירת מחדל, כל אשכול במצב Autopilot או אשכול רגיל בארגון מאפשר לכם להתקין רשימות היתרים של עומסי עבודה כדי לאפשר עומסי עבודה של שותפים במצב Autopilot ועומסי עבודה של קוד פתוח. Cloud de Confiance

באופן כללי, כדי להריץ עומסי עבודה עם הרשאות בצמתי Autopilot צריך לבצע את השלבים הבאים:

  1. האדמין הארגוני מאמת שהמגבלה container.managed.autopilotPrivilegedAdmission מנוהלת של מדיניות הארגון מאפשרת התקנה של רשימות היתרים ממקור ספציפי. מידע נוסף זמין בקטע הגבלות מנוהלות של מדיניות הארגון לגבי רשימות היתרים.
  2. עבור עומסי עבודה עם הרשאות מיוחדות שבבעלות הלקוח, האדמין של הפלטפורמה יוצר רשימות היתרים שתואמות לעומסי העבודה עם ההרשאות המיוחדות. מידע נוסף זמין בקטע עומסי עבודה עם הרשאות מורחבות בבעלות הלקוח.
  3. אדמין האשכול מגדיר אשכול במצב Autopilot או אשכול רגיל כדי לאפשר התקנה של רשימות היתרים ממקור ספציפי. מידע נוסף מופיע בקטע הגדרת אשכול.
  4. אדמין האשכול יוצר 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: אדמינים של אשכולות צריכים להגדיר אשכולות עם מחרוזת ריקה לכתובות IP ברשימת ההיתרים או עם נתיבים כלשהם ברשימת ההיתרים מהפרמטר allowPaths.

  • allowPaths: רשימה של מקורות מאושרים ברשימת ההיתרים, שמנהלי אשכולות יכולים לציין ערכים מתוכה כשהם מגדירים אשכול. אפשר לציין נתיבים לקבצים ספציפיים ברשימת ההיתרים או לספריות שלמות.

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

ערך של allowAnyGKEPath ערך של allowPaths תוצאה
True ריק או לא צוין.

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

  • שימוש בהגדרת ברירת המחדל של רשימת ההיתרים: לא מציינים אפשרויות הגדרה של רשימת ההיתרים, כדי שהאשכול יוכל להתקין רשימות היתרים מכל נתיב שמתחיל בקידומת gke://.
  • השבתה של התקנה מרשימת ההיתרים: מציינים ערך ריק להגדרת רשימת ההיתרים של האשכול.
  • מציינים נתיבים לרשימת ההיתרים של GKE: מציינים נתיב אחד או יותר לרשימת ההיתרים עם הקידומת gke://. אפשר להתקין את רשימות ההיתרים באשכול רק מהנתיבים האלה.
False ריק או לא צוין.

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

True הערכים מצוינים.

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

  • שימוש בהגדרת ברירת המחדל של רשימת ההיתרים:לא מציינים אפשרויות הגדרה של רשימת ההיתרים, כדי שהאשכול יוכל להתקין רשימות היתרים מכל נתיב שמתחיל בקידומת gke://.
  • השבתה של התקנה מרשימת ההיתרים: מציינים ערך ריק להגדרת רשימת ההיתרים של האשכול.
  • Specify allowlist paths: specify one or more allowlist paths that have either the gke:// prefix or are specified in the allowPaths parameter.
False הערכים מצוינים.

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

  • השבתה של התקנה מרשימת ההיתרים: מציינים ערך ריק להגדרת רשימת ההיתרים של האשכול.
  • Specify allowlist paths: מציינים נתיב אחד או יותר ברשימת ההיתרים מהפרמטר allowPaths.

מידע נוסף על שליטה בהרשאת עומסי עבודה עם הרשאות מיוחדות במדיניות הארגון זמין במאמר הגבלת עומסי עבודה עם הרשאות מיוחדות ב-GKE בארגונים.

עומסי עבודה עם הרשאות בבעלות הלקוח

אם אתם לקוחות GKE, יכול להיות שיש לכם עומסי עבודה מיוחדים שדורשים יותר הרשאות באשכול מאשר המגבלות האוטומטיות של Autopilot מאפשרות. ב-GKE בגרסה 1.35 ואילך, אפשר ליצור רשימות היתרים כדי להחריג את עומסי העבודה האלה מהאילוצים שמוגדרים כברירת מחדל ב-Autopilot.

רשימת ההיתרים היא קובץ YAML שמגדיר משאב מותאם אישית של Kubernetes WorkloadAllowlist. המפרט של WorkloadAllowlist תואם לשדות שונים במפרט של Kubernetes Pod. כשמגדירים WorkloadAllowlist, צריך להתאים את הערכים ב-WorkloadAllowlist לשדות המתאימים במפרט של עומס העבודה עם ההרשאות. אתם מאחסנים את קובצי ה-YAML בקטגוריה של Cloud Storage.

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

  1. האדמין בארגון מוסיף את הנתיבים של Cloud Storage למדיניות הארגון. מידע נוסף זמין בקטע מידע על האילוץ המנוהל של מדיניות הארגון.
  2. מוסיפים את הנתיבים של Cloud Storage להגדרת אשכול. מידע נוסף זמין בקטע הגדרת אשכול.

מידע נוסף על יצירת רשימות היתרים משלכם לעומסי עבודה זמין במאמר יצירת רשימות היתרים לעומסי עבודה עם הרשאות ב-Autopilot.

הגדרת האשכול

כדי להריץ עומס עבודה עם הרשאות במצב Autopilot, אדמין של אשכול מוסיף נתיב אחד או יותר שאושרו לרשימת ההיתרים להגדרת האשכול. אחרי שמוסיפים את הנתיבים לאשכול, מפעילים של אפליקציות יכולים להתקין באשכול את רשימות ההיתרים המתאימות ואת עומסי העבודה עם הרשאות.

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

מידע נוסף על הגדרת אשכולות זמין במאמר הרצת עומסי עבודה עם הרשאות ב-Autopilot.

הוספה לרשימת ההיתרים להתקנה

כדי להתקין רשימת היתרים ממקור מאושר באשכול, משתמשים במשאב מותאם אישית של Kubernetes שנקרא AllowlistSynchronizer. הגדרתם ויצרתם AllowlistSynchronizers באופן דומה לאופן שבו אתם יוצרים משאבי Kubernetes אחרים, כמו Pods ו-Deployments. לכל AllowlistSynchronizer יש רשימה של נתיבים לרשימות ההיתרים שרוצים להתקין באשכול.

כשיוצרים AllowlistSynchronizer, ‏ GKE מתקין רשימות היתרים מהנתיבים האלה ושומר על עדכניות של רשימות ההיתרים. כל 10 דקות,‏ GKE בודק אם יש שינויים בקבצים של רשימת ההיתרים. אם יש עדכון, הכלי לסנכרון מתקין את רשימת ההיתרים המעודכנת באשכול.

אחרי ש-GKE מתקין רשימת היתרים על סמך AllowlistSynchronizer, אפשר ליצור את עומס העבודה המתאים עם הרשאות מיוחדות באשכול.

מידע נוסף על התקנת רשימות היתרים באשכול זמין במאמר הרצת עומסי עבודה עם הרשאות ב-Autopilot.

נתיבים ברשימת ההיתרים

כשמגדירים תמיכה ברשימת היתרים במדיניות הארגון או באשכולות, מציינים נתיבים לאחת או יותר WorkloadAllowlists שאושרו להתקנה. התחביר של הנתיבים האלה תלוי במי שיצר את WorkloadAllowlist, באופן הבא:

אתם יכולים לציין נתיב אחד או יותר מהנתיבים שלמעלה במדיניות הארגון או בהגדרות האשכול. לדוגמה, אפשר להוסיף עומסי עבודה של שותפי GKE ועומסי עבודה בבעלות הלקוח לאותו ההגדרה. אפשר גם להשתמש בתו * כדי לבחור את כל רשימות ההיתרים. לדוגמה, gke://* בוחר כל רשימת היתרים שאושרה על ידי GKE מכל מקור.

בטבלה הבאה מתוארת ההגדרה שנדרשת במדיניות הארגון או באשכולות כדי לתמוך ביעדים מסוימים:

מטרה הגדרת מדיניות הארגון הגדרת האשכול
מתן הרשאה לכל רשימות ההיתרים של עומסי עבודה שאושרו על ידי GKE מבצעים את הפעולות הבאות:
  1. מגדירים את הפרמטר allowAnyGKEPath לערך ברירת המחדל של True.
  2. משאירים את הפרמטר allowPaths ריק.
מבצעים אחת מהפעולות הבאות:
  • אל תגדירו רשימות היתרים לאשכול. כברירת מחדל, בכל האשכולות מותרת ההתקנה של רשימות היתרים של עומסי עבודה שאושרו על ידי GKE.
  • כשמגדירים רשימות היתרים לאשכול, מציינים רק את gke://* כנתיב המאושר.
מתן הרשאה רק לרשימות היתרים ספציפיות של עומסי עבודה שאושרו ב-GKE מבצעים את הפעולות הבאות:
  1. מגדירים את הפרמטר allowAnyGKEPath לערך False.
  2. מציינים נתיבים לרשימות היתרים ספציפיות של עומסי עבודה שאושרו על ידי GKE בפרמטר allowPaths.
כשיוצרים או מעדכנים אשכול, מציינים נתיבים לרשימות היתרים ספציפיות של עומסי עבודה שאושרו על ידי GKE. מדיניות הארגון עשויה להגביל את הנתיבים שאושרו על ידי GKE שאפשר לציין.
אפשר להשתמש רק ברשימות היתרים של עומסי עבודה שמנוהלות על ידי הלקוח מבצעים את הפעולות הבאות:
  1. מגדירים את הפרמטר allowAnyGKEPath לערך False.
  2. מציינים את הנתיבים לרשימות ההיתרים של עומסי העבודה שמנוהלות על ידי הלקוח בפרמטר allowPaths.
כשיוצרים או מעדכנים אשכול, מציינים את הנתיבים לרשימות ההיתרים של עומסי העבודה שמנוהלות על ידי הלקוח. הנתיבים שאתם מציינים צריכים להיות בפרמטר allowPaths של מדיניות הארגון.
מניעת השימוש ברשימות היתרים של עומסי עבודה מבצעים את הפעולות הבאות:
  1. מגדירים את הפרמטר allowAnyGKEPath לערך False.
  2. משאירים את הפרמטר allowPaths ריק.
מגדירים מחרוזת ריקה "" כנתיב המאושר כשיוצרים או מעדכנים אשכול.

המאמרים הבאים