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

אתם יכולים להשתמש ברשימות היתרים ובכללי מדיניות כדי לקבוע אילו עומסי עבודה עם הרשאות יכולים לפעול במצב 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 במצבים כמו:

מקורות של עומסי עבודה עם הרשאות ב-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 צריך לבצע את השלבים הבאים:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. האדמין בארגון מוסיף את הנתיבים של Cloud Storage למדיניות הארגון. מידע נוסף מופיע בקטע מידע על האילוץ המנוהל של מדיניות הארגון.
  2. מוסיפים את הנתיבים של 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
    

    מחליפים את מה שכתוב בשדות הבאים:

    לדוגמה, הנתיב הבא בוחר כל רשימת היתרים בספרייה Grafana/alloy:

    gke://Grafana/alloy/*
    
  • עומסי עבודה עם הרשאות מיוחדות בבעלות הלקוח:

    gs://DIRECTORY_PATH/SELECTOR
    

    מחליפים את DIRECTORY_PATH בנתיב לספרייה ב-Cloud Storage שמכילה את הקבצים של רשימת ההיתרים. אפשר לציין כמה נתיבים.

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

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

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

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