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
לפני שמתחילים
כדי להשתמש באימות OIDC, המשתמשים צריכים להיות מסוגלים להתחבר למישור הבקרה של האשכול. אפשר לעיין במאמר בנושא התחברות למישור הבקרה של האשכול.
כדי לבצע אימות דרך מסוף Google Cloud , צריך לרשום כל אשכול שרוצים להגדיר עם פרויקט ה-Fleet. ב-GKE ב-AWS, זה קורה באופן אוטומטי אחרי שיוצרים מאגר צמתים.
כדי לאפשר למשתמשים לבצע אימות דרך מסוף Google Cloud , צריך לוודא שכל האשכולות שרוצים להגדיר רשומים בצי הפרויקטים. ב-GKE ב-AWS, זה קורה אוטומטית אחרי שיוצרים מאגר צמתים.
תהליך ההגדרה ואפשרויות ההגדרה
רושמים את GKE Identity Service כלקוח אצל ספק ה-OIDC לפי ההוראות במאמר הגדרת ספקים ל-GKE Identity Service.
בוחרים מבין אפשרויות ההגדרה הבאות של האשכול:
מגדירים את האשכולות ברמת הצי בהתאם להוראות במאמר הגדרת אשכולות לשימוש בשירות הזהויות של GKE ברמת הצי. באפשרות הזו, הגדרת האימות מנוהלת באופן מרכזי על ידיGoogle Cloud.
מגדירים כל אשכול בנפרד לפי ההוראות במאמר הגדרת אשכולות ל-GKE Identity Service באמצעות OIDC.
מגדירים גישת משתמשים לאשכולות, כולל בקרת גישה מבוססת-תפקידים (RBAC), לפי ההוראות במאמר הגדרת גישת משתמשים לשירות הזהויות של GKE.
גישה לאשכולות
אחרי שמגדירים את שירות הזהויות של GKE באשכול, המשתמשים יכולים להתחבר לאשכולות באמצעות שורת הפקודה או Google Cloud המסוף.
- כאן מוסבר איך מתחברים לאשכולות רשומים באמצעות מזהה OIDC.
- במאמר כניסה לאשכול ממסוף Google Cloud מוסבר איך להיכנס לאשכולות ממסוף. Google Cloud
אימות ב-AWS IAM
התמיכה ב-AWS IAM ב-GKE ב-AWS מתבססת על GKE Identity Service.
לפני שמתחילים
כדי להשתמש באימות AWS IAM, המשתמשים צריכים להיות מסוגלים להתחבר למישור הבקרה של האשכול. אפשר לעיין במאמר בנושא התחברות למישור הבקרה של האשכול.
תהליך ההגדרה ואפשרויות ההגדרה
כדי להגדיר את האשכול כך שיאפשר אימות של AWS IAM לאזור מסוים ב-AWS:
עורכים את המשאב
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 של המשתמשים.
-
כדי לאפשר למשתמשים באשכול להשתמש ב-AWS IAM, צריך לפעול לפי ההוראות במאמר הגדרת גישת משתמשים ל-GKE Identity Service.
גישה לאשכולות
אחרי שמגדירים את שירות הזהויות של GKE באשכול, המשתמשים יכולים להתחבר לאשכולות באמצעות שורת הפקודה או Google Cloud המסוף.
כדי ללמוד איך מתחברים לאשכולות רשומים באמצעות זהות AWS IAM, אפשר לעיין במאמר בנושא גישה לאשכולות באמצעות שירות הזהויות של GKE.