Workload Identity מאפשרת להקצות זהויות והרשאות שונות ומפורטות לכל אפליקציה באשכול. הדרך המומלצת לאפליקציות שפועלות ב-GKE ב-AWS לגשת לשירותי AWS ו- Google Cloud היא באמצעות Workload Identity.
בכל אשכולות ה-GKE מופעלת Workload Identity.
חשבונות שירות של Kubernetes
Workload Identity מיישם איחוד שירותי אימות זהויות, או הקצאת הרשאות או תפקידים לספק חיצוני. לכל אשכול יש ספק OpenID Connect (OIDC) מובנה. כשקבוצת Pod פועלת באשכול, היא פועלת באמצעות חשבון שירות של Kubernetes. אפשר להגדיר את ה-Pod כך שיקבל אסימון עם פרטי כניסה לטווח קצר לחשבון השירות שלו ב-Kubernetes באמצעות כרך של אסימון חשבון שירות מאוגד.
ספקי OpenID Connect
כל אשכול יכול לשמש כספק OpenID Connect (OIDC). באמצעות הספק הזה, אתם יכולים לספק פרטי כניסה של חשבון שירות של Kubernetes לשירותים שתומכים באיחוד זהויות באמצעות OIDC.
מזהה ה-URI של המנפיק של הספק הזה משמש גם כנקודת קצה (endpoint) לגילוי OIDC. שירותים יכולים להשתמש בנקודת הקצה הזו של גילוי כדי לקבל את JSON Web Key Set (JWKS), שמספק מידע על מפתח ציבורי שמאפשר להם לאמת את פרטי הכניסה של חשבון שירות Kubernetes.
Google Cloud מאגרי זהויות וספקים של IAM
Google Cloud IAM תומך באיחוד זהויות באמצעות OIDC.
כל אשכולות GKE מוגדרים כספקי זהויות במאגר הזהויות של עומסי העבודה PROJECT_ID.svc.id.goog.
כדי לקבל את השם של מאגר הזהויות של עומסי עבודה והספקים, אפשר לעיין במאמר בנושא שימוש ב-Workload Identity עם Google Cloud.
ספקי זהויות של AWS IAM
AWS IAM תומך באיחוד שירותי אימות הזהות באמצעות OIDC. כדי לגשת ל-AWS באמצעות זהויות של חשבונות שירות של עומס עבודה, צריך ליצור ספק OIDC ב-AWS IAM. כברירת מחדל, לא מוגדר ב-GKE ב-AWS ספק זהויות ל-AWS IAM.
חלופות ל-Workload Identity
יש שיטות חלופיות לגישה לשירותים מ-GKE ב-AWS. אנחנו לא ממליצים על השיטות הבאות בגלל סיבוכים.
ייצוא פרטי הכניסה ואחסון שלהם כסודות של Kubernetes. במקרה כזה, צריך לבצע רוטציה של פרטי הכניסה המאוחסנים באופן ידני גם ב-AWS IAM וגם באשכול. בנוסף, אם תוקף גונב פרטי כניסה, הוא יכול לנצל אותם.
מצרפים פרטי כניסה למכונות הבסיסיות של מאגרי הצמתים. במקרה כזה, כל עומסי העבודה שפועלים באותו צומת חולקים את אותם פרטי כניסה, מה שיכול להוביל למערכת הרשאות גדולה יותר מעומסי העבודה. כדי לחסום את הגישה להרשאות של מכונה, אשכולות GKE חוסמים את הגישה מ-Pod לשירות המטא-נתונים של המכונה.
המאמרים הבאים
- שימוש ב-Workload Identity עם שירותי Google Cloud
- שימוש ב-Workload Identity עם AWS
- מידע נוסף על איחוד שירותי אימות הזהויות של עומסי עבודה