המסמך הזה מיועד לאדמינים של אשכולות שכבר הגדירו את האשכולות החברים ב-Fleet לספקי זהויות של צד שלישי. הוא כולל הוראות להגדרה ולניהול של גישת משתמשים לאשכולות המוגדרים האלה עבור המפתחים ומשתמשים אחרים בארגון.
יש שני סוגים של שיטות אימות שבהן אפשר להשתמש כדי להגדיר גישת משתמשים לאשכולות:
- הגדרה עם גישה ל-FQDN (מומלץ): בגישה הזו, המשתמשים יכולים לבצע אימות ישירות לאשכול באמצעות שם הדומיין שמוגדר במלואו (FQDN) של שרת ה-API של Kubernetes באשכול. מידע נוסף זמין במאמר הגדרת גישה ל-FQDN.
- הגדרה עם גישה מבוססת-קובץ: בגישה הזו, יוצרים קובץ תצורה להתחברות ומפיצים אותו למשתמשי האשכול. לאחר מכן, המשתמשים יכולים להיכנס לאשכולות שהוגדרו באמצעות פקודות אימות
gcloudבאמצעות הקובץ הזה. מידע נוסף זמין במאמר בנושא הגדרת גישה לפי קבצים.
הגדרת גישה ל-FQDN (מומלץ)
בקטע הזה מוסבר איך להגדיר גישת משתמשים לכניסה על ידי מתן כתובת ה-URL (FQDN) של שרת שמשמש לאימות. תהליך האימות מאפשר למשתמש להיכנס באמצעות ספק הזהויות שלו ומספק למשתמש אסימון שנוסף לקובץ kubeconfig שלו כדי לגשת לאשכול. שיטת האימות הזו נתמכת רק באשכולות מקומיים (Google Distributed Cloud) ב-VMware וב-bare metal, החל מגרסה 1.29. אין תמיכה בסוגים אחרים של אשכולות. אם אתם צריכים להגדיר אימות לאשכולות מקומיים באמצעות גרסה ישנה יותר של תוכנה נתמכת, או לסוגים אחרים של אשכולות, אתם יכולים לפעול לפי ההוראות להגדרת גישה מבוססת-קובץ.
לפני שמשתפים את ה-FQDN עם המשתמשים, צריך לוודא שאתם או האדמין של הפלטפורמה ביצעתם את ההגדרה המתאימה, כולל הגדרת DNS ל-FQDN, וסיפקתם את ה-FQDN כחלק מההרשמה לספק הזהויות, אם נדרש.
שיתוף שם הדומיין המלא עם משתמשים
במקום קובץ תצורה, אדמינים של אשכולות יכולים לשתף עם המשתמשים את ה-FQDN של שרת ה-API של Kubernetes באשכול, כמו https://apiserver.example.com. המשתמשים יכולים להשתמש ב-FQDN הזה כדי להיכנס לאשכול.
הגדרת אפשרויות של שירות הזהויות
באמצעות אפשרות ההגדרה הזו, אתם יכולים להגדיר את משך החיים של הטוקן. לפרמטר identityServiceOptions ב-CR ClientConfig יש פרמטר sessionDuration שמאפשר להגדיר את משך החיים של האסימון (בדקות).
הפרמטר sessionDuration מוגבל לטווח של 15 דקות עד 1,440 דקות (24 שעות).
דוגמה לאופן שבו זה נראה ב-CR של ClientConfig:
spec:
identityServiceOptions:
sessionDuration: INT
כאשר INT הוא משך הסשן בדקות.
הגדרת גישה מבוססת-קבצים
כחלופה לגישה באמצעות FQDN, אדמינים של אשכולות יכולים ליצור קובץ הגדרות כניסה ולהפיץ אותו למשתמשים באשכול. כדאי להשתמש באפשרות הזו אם אתם מגדירים אימות לאשכול עם גרסה או סוג שלא תומכים בגישה ל-FQDN. הקובץ הזה מאפשר למשתמשים לגשת לאשכולות משורת הפקודה באמצעות הספק שנבחר. הגישה הזו לאימות נתמכת רק בספקי OIDC ו-LDAP.
יצירת הגדרות ההתחברות
המסוף
(הגדרה ברמת כלל המכשירים בארגון בלבד)
מעתיקים את הפקודה gcloud שמוצגת ומפעילים פתרונות חכמים כדי ליצור את הקובץ.
gcloud
אם הגדרתם את האשכול באמצעות gcloud CLI או אם אתם צריכים ליצור מחדש את הקובץ, מריצים את הפקודה הבאה כדי ליצור את הקובץ:
gcloud anthos create-login-config --kubeconfig=KUBECONFIG
KUBECONFIG הוא הנתיב לקובץ kubeconfig של האשכול. אם יש כמה הקשרים בקובץ kubeconfig, נעשה שימוש בהקשר הנוכחי. יכול להיות שתצטרכו לאפס את ההקשר הנוכחי לאשכול הנכון לפני שתריצו את הפקודה.
פרטים מלאים על הפקודה הזו, כולל פרמטרים אופציונליים נוספים, מופיעים במדריך העזר ל-CLI של Google Cloud.
שם ברירת המחדל של קובץ הגדרות הכניסה הוא kubectl-anthos-config.yaml, זה השם ש-Google Cloud CLI מצפה לו כשמשתמשים בקובץ כדי להיכנס. אם רוצים לשנות את השם הזה לשם אחר, אפשר לעיין בקטע הרלוונטי במאמר הפצת הגדרות הכניסה.
מידע על פתרון בעיות שקשורות לגישת משתמשים זמין במאמר פתרון בעיות גישת משתמשים.
הפצת הגדרות ההתחברות
אלה כמה דרכים להפצת קובץ התצורה:
צריך לארח את הקובץ בכתובת URL שאפשר לגשת אליה. משתמשים יכולים לציין את המיקום הזה באמצעות הדגל
--login-configכשמריצים אתgcloud anthos auth login, וכך לאפשר ל-Google Cloud CLI לאחזר את הקובץ.כדאי לארח את הקובץ במארח מאובטח. למידע נוסף על שימוש באישור PEM לגישת HTTPS מאובטחת, אפשר לעיין בדגל
--login-config-certשל ה-CLI של gcloud.מספקים את הקובץ לכל משתמש באופן ידני, עם מידע על המקום שבו צריך לשמור אותו במחשב המקומי – Google Cloud CLI מצפה למצוא את הקובץ במיקום ברירת מחדל ספציפי למערכת ההפעלה. אם לקובץ יש שם או מיקום שאינם ברירת המחדל, המשתמשים צריכים להשתמש בדגל
--login-configכדי לציין את המיקום של קובץ ההגדרות כשהם מריצים פקודות מול האשכול. הוראות למשתמשים לשמירת הקובץ מופיעות במאמר בחירת שיטת גישה להתחברות לאשכולות.משתמשים בכלים פנימיים כדי להעביר את קובץ הגדרות האימות לכל מכונה של משתמש. Google Cloud CLI מצפה למצוא את הקובץ במיקומים הבאים, בהתאם למערכת ההפעלה של המשתמש:
Linux
$HOME/.config/google/anthos/kubectl-anthos-config.yaml
macOS
$HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml
Windows
%APPDATA%\google\anthos\kubectl-anthos-config.yaml