הגדרת שיטת אימות לגישת משתמשים

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

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

  • הגדרה עם גישה ל-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 הזה כדי להיכנס לאשכול.

הגדרת אפשרויות של שירות הזהויות

באמצעות אפשרות ההגדרה הזו, אתם יכולים להגדיר את משך החיים של הטוקן. ל-CR‏ ClientConfig יש פרמטר sessionDuration שמאפשר להגדיר את משך החיים של האסימון (בדקות).identityServiceOptions הערך המינימלי של הפרמטר 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, נעשה שימוש בהקשר הנוכחי. יכול להיות שתצטרכו לאפס את ההקשר הנוכחי לאשכול הנכון לפני שתריצו את הפקודה.

במדריך העזר של Google Cloud CLI אפשר לראות פרטים מלאים על הפקודה הזו, כולל פרמטרים אופציונליים נוספים.

שם ברירת המחדל של קובץ הגדרות הכניסה הוא 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