ניהול זהויות באמצעות שירות הזהויות של GKE

‫GKE on AWS תומך ב-OpenID Connect ‏ (OIDC) וב-AWS IAM כמנגנון אימות לאינטראקציה עם שרת ה-Kubernetes API של אשכול, באמצעות שירות הזהויות של GKE. שירות הזהויות של GKE הוא שירות אימות שמאפשר לכם להשתמש בפתרונות הזהויות הקיימים שלכם לאימות בסביבות שונות. המשתמשים יכולים להיכנס לאשכולות GKE ולהשתמש בהם משורת הפקודה או מGoogle Cloud מסוף Google Cloud, והכול באמצעות ספק הזהויות הקיים שלכם.

סקירה כללית על אופן הפעולה של שירות הזהויות של GKE זמינה במאמר היכרות עם שירות הזהויות של GKE.

אם אתם כבר משתמשים או רוצים להשתמש בזהויות Google כדי להיכנס לאשכולות GKE, מומלץ להשתמש בפקודה gcloud containers aws clusters get-credentials לאימות. מידע נוסף זמין במאמר חיבור לאשכול ואימות שלו.

אימות OpenID Connect

לפני שמתחילים

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

  2. כדי לבצע אימות דרך מסוף Google Cloud , צריך לרשום כל אשכול שרוצים להגדיר עם פרויקט ה-Fleet. ב-GKE ב-AWS, זה קורה באופן אוטומטי אחרי שיוצרים מאגר צמתים.

  3. כדי לאפשר למשתמשים לבצע אימות דרך מסוף Google Cloud , צריך לוודא שכל האשכולות שרוצים להגדיר רשומים בצי הפרויקטים. ב-GKE ב-AWS, זה קורה אוטומטית אחרי שיוצרים מאגר צמתים.

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

  1. רושמים את GKE Identity Service כלקוח אצל ספק ה-OIDC לפי ההוראות במאמר הגדרת ספקים ל-GKE Identity Service.

  2. בוחרים מבין אפשרויות ההגדרה הבאות של האשכול:

  3. מגדירים גישת משתמשים לאשכולות, כולל בקרת גישה מבוססת-תפקידים (RBAC), לפי ההוראות במאמר הגדרת גישת משתמשים לשירות הזהויות של GKE.

גישה לאשכולות

אחרי שמגדירים את שירות הזהויות של GKE באשכול, המשתמשים יכולים להתחבר לאשכולות באמצעות שורת הפקודה או Google Cloud המסוף.

אימות ב-AWS IAM

התמיכה ב-AWS IAM ב-GKE ב-AWS מתבססת על GKE Identity Service.

לפני שמתחילים

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

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

כדי להגדיר את האשכול כך שיאפשר אימות של AWS IAM לאזור מסוים ב-AWS:

  1. עורכים את המשאב ClientConfig באשכול:

    kubectl --kubeconfig=KUBECONFIG_PATH edit ClientConfigs default -n kube-public
    

    מחליפים את KUBECONFIG_PATH בנתיב לקובץ kubeconfig של האשכול, לדוגמה, $HOME/.kube/config.

    הכלי לעריכת הטקסט טוען את משאב ClientConfig של האשכול. מוסיפים את האובייקט spec.authentication.aws כמו שמוצג למטה. אל תשנו נתוני ברירת מחדל שכבר נכתבו.

    apiVersion: authentication.gke.io/v2alpha1
    kind: ClientConfig
    metadata:
      name: default
      namespace: kube-public
    spec:
      authentication:
      - name: NAME
        aws:
          region: AWS_REGION
    

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

    • NAME: שם שרירותי של שיטת האימות הזו. לדוגמה, aws-iam.
    • AWS_REGION: האזור ב-AWS שבו מאוחזרים פרטי המשתמש. האזור צריך להיות זהה לאזור שהוגדר ב-AWS CLI של המשתמשים.
  2. כדי לאפשר למשתמשים באשכול להשתמש ב-AWS IAM, צריך לפעול לפי ההוראות במאמר הגדרת גישת משתמשים ל-GKE Identity Service.

גישה לאשכולות

אחרי שמגדירים את שירות הזהויות של GKE באשכול, המשתמשים יכולים להתחבר לאשכולות באמצעות שורת הפקודה או Google Cloud המסוף.

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