עדכון של פרטי הכניסה לצורך אבטחה

בנושא הזה מוסבר איך להחליף את פרטי הכניסה לאבטחה בשירות הניהול ובאשכולות המשתמשים של GKE on AWS. מידע נוסף על תכונות האבטחה של GKE ב-AWS זמין במאמר בנושא אבטחה.

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

כדי לבצע את השלבים בדף הזה, אתם צריכים גישה לספרייה עם ההגדרה של GKE on AWS.

אישורים של שירות הניהול

בקטע הזה מוסבר איך להחליף אישורים בשביל שירות הניהול.

רשויות אישורים לניהול

בקטע הזה מוסבר איך לבצע רוטציה של אישורי חתימה של רשות אישורים (CA) לרכיבי GKE ב-AWS.

אישור CA בסיסי של שרת Management API

כדי לבצע רוטציה של אישור ה-CA הבסיסי של שרת ה-API, פועלים לפי השלבים הבאים:

  1. עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
    cd anthos-aws
  2. פותחים את קובץ anthos-gke.status.yaml בכלי לעריכת טקסט.
  3. מסירים את כל הערכים מתחת למפתח certificateAuthority. הם כוללים את encryptedPrivateKey.kmsKeyARN,‏ encryptedPrivateKey.value ו-encryptedPrivateKey.certificate.
  4. מריצים את הפקודה anthos-gke aws management init כדי לעדכן את הקובץ anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. מריצים את הפקודה anthos-gke aws management apply כדי לעדכן את שירות הניהול.

     anthos-gke aws management apply
    

  1. בספרייה של anthos-aws, משתמשים ב-anthos-gke כדי להעביר את ההקשר לשירות הניהול.
    cd anthos-aws
    anthos-gke aws management get-credentials

אישורי CA אחרים לניהול

בקטע הזה מוסבר איך אפשר לבצע רוטציה של כל רשויות האישורים הבאות:

  • רשות אישורים (CA) של webhook לאימות
  • Etcd CA
  • רשות CA לחתימה על חשבון שירות

אפשר לסובב את רשויות האישורים האלה באחת מהשיטות הבאות:

  • מסירים את הקטע certificateAuthority מה-anthos-gke.status.yaml.

    1. עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
      cd anthos-aws
    2. פותחים את קובץ anthos-gke.status.yaml בכלי לעריכת טקסט.
    3. מסירים את כל הערכים מתחת למפתח certificateAuthority. הם כוללים את encryptedPrivateKey.kmsKeyARN,‏ encryptedPrivateKey.value ו-encryptedPrivateKey.certificate.
    4. מריצים את הפקודה anthos-gke aws management init כדי לעדכן את הקובץ anthos-gke.status.yaml.

       anthos-gke aws management init
      
    5. מריצים את הפקודה anthos-gke aws management apply כדי לעדכן את שירות הניהול.

       anthos-gke aws management apply
      

  • אם גרסה חדשה של GKE ב-AWS זמינה, צריך לשדרג את שירות הניהול של GKE ב-AWS.

  • יוצרים מחדש את מופע EC2 של שירות הניהול.

    1. בספרייה anthos-aws, משתמשים בפקודה terraform כדי לקבל את המזהה של שירות הניהול.
      cd anthos-aws
      terraform output cluster_id
      הפלט כולל את מזהה שירות הניהול. בדוגמה שלמטה, המזהה הוא gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. פותחים את מסוף AWS EC2.
    3. לוחצים על Instances (מופעים).
    4. מוצאים את המכונה בשם cluster-id-management-0.
    5. בוחרים באפשרות Actions -> Instance state -> terminate (פעולות -> מצב המופע -> סיום) כדי להסיר את המופע. מערכת EC2 יוצרת באופן אוטומטי מופע חדש עם אותו נפח אחסון EBS.

ניהול מפתחות ואישורים של לקוח / שרת TLS

כדי לבצע רוטציה של מפתחות ואישורים של לקוח / שרת TLS בשירות הניהול, צריך ליצור מחדש את מופע שירות הניהול. כדי ליצור מחדש את המופע: פועלים לפי השלבים הבאים:

  1. בספרייה anthos-aws, משתמשים בפקודה terraform כדי לקבל את המזהה של שירות הניהול.
    cd anthos-aws
    terraform output cluster_id
    הפלט כולל את מזהה שירות הניהול. בדוגמה שלמטה, המזהה הוא gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. פותחים את מסוף AWS EC2.
  3. לוחצים על Instances (מופעים).
  4. מוצאים את המכונה בשם cluster-id-management-0.
  5. בוחרים באפשרות Actions -> Instance state -> terminate (פעולות -> מצב המופע -> סיום) כדי להסיר את המופע. מערכת EC2 יוצרת באופן אוטומטי מופע חדש עם אותו נפח אחסון EBS.

Google Cloud חשבונות שירות

חשבונות שירות של שירות הניהול

כדי לבצע רוטציה של Google Cloud חשבונות השירות בשירות הניהול, פועלים לפי השלבים הבאים.

  1. יוצרים חשבונות שירות חדשים ומורידים מפתחות של חשבונות שירות לפי השלבים שמפורטים במאמר דרישות מוקדמות.
  2. עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
    cd anthos-aws
  3. אם הורדתם מפתחות לנתיב אחר, פותחים את קובץ anthos-gke.yaml בכלי לעריכת טקסט. משנים את הערך של .spec.googleCloud.serviceAccountKeys.managementService, .status.googleCloud.serviceAccountKeys.connectAgent ו-.spec.googleCloud.serviceAccountKeys.node לנתיבים החדשים.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
     name: management
    spec:
     googleCloud:
       serviceAccountKeys:
         managementService: MANAGEMENT_KEY_PATH
         connectAgent: CONNECT_KEY_PATH
         node: NODE_KEY_PATH
     ...
    
  4. מריצים את הפקודה anthos-gke aws management init כדי לעדכן את הקובץ anthos-gke.status.yaml.

    anthos-gke aws management init
    
  5. מריצים את הפקודה anthos-gke aws management apply כדי לעדכן את שירות הניהול.

    anthos-gke aws management apply
    

חשבונות שירות באשכולות משתמשים

כדי להחיל את חשבונות השירות האלה על AWSClusters ו-AWSNodePools, צריך לשדרג או למחוק אותם ואז ליצור אותם מחדש.

אישורים של אשכולות משתמשים

בקטע הזה מוסבר איך להחליף אישורים עבור אשכולות המשתמשים.

אישורים של רשויות אישורים ומפתחות SSH באשכול משתמשים

רוב הרשאות הגישה לאשכולות המשתמשים נוצרות כשהאשכול נוצר.

כשמוחקים אשכול משתמשים,‏ GKE ב-AWS מבצע רוטציה של האישורים הבאים:

  • CA בסיס של שרת API
  • CA של proxy קדמי ל-API
  • etcd CA
  • CA לחתימה על חשבון שירות של Kubernetes
  • זוגות מפתחות SSH ממישור הבקרה לצומת

תגובה לפעולה מאתר אחר (Webhook) של רשות אישורים (CA) לאימות באשכול משתמשים

כדי להחליף את ה-CA של ה-webhook לאימות אשכול המשתמשים, עורכים את הקובץ anthos-gke.status.yaml ומחילים את השינויים.

  1. עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
    cd anthos-aws
  2. פותחים את קובץ anthos-gke.status.yaml בכלי לעריכת טקסט.
  3. מסירים את כל הערכים מתחת למפתח certificateAuthority. הם כוללים את encryptedPrivateKey.kmsKeyARN,‏ encryptedPrivateKey.value ו-encryptedPrivateKey.certificate.
  4. מריצים את הפקודה anthos-gke aws management init כדי לעדכן את הקובץ anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. מריצים את הפקודה anthos-gke aws management apply כדי לעדכן את שירות הניהול.

     anthos-gke aws management apply
    

זוגות של מפתחות ואישורים של TLS באשכול משתמשים

‫GKE ב-AWS יוצר זוגות מפתחות TLS ואישורים כשיוצרים מופע. כדי להחליף את הצמדים האלה, צריך ליצור מחדש את המופע על ידי ביצוע השלבים הבאים עבור מישור הבקרה ומאגרי הצמתים.

מישור הבקרה

  1. בספרייה של anthos-aws, משתמשים ב-anthos-gke כדי להעביר את ההקשר לשירות הניהול.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. משתמשים ב-kubectl כדי לקבל את קבוצת היעד של AWS EC2 ממישור הבקרה שלכם מ-AWSCluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    הפלט כולל את השם של קבוצת היעד EC2 של מישור הבקרה. לדוגמה, gke-123456a7-controlplane.

  3. פותחים את מסוף AWS EC2. בחלונית הימנית, בוחרים באפשרות קבוצות מיקוד.

  4. לוחצים על סרגל החיפוש ומחפשים את קבוצת היעד. לוחצים על שם קבוצת היעד ואז על יעדים. תוצג רשימה של מופעי מישור הבקרה.

  5. לכל מופע בקבוצת היעד, מבצעים את השלבים הבאים:

    1. לוחצים על מזהה המכונה של המכונה. מופיעה מסוף המכונות של AWS EC2.

    2. לוחצים על מזהה המכונה.

    3. בוחרים באפשרות Actions -> Instance state -> terminate (פעולות -> מצב המופע -> סיום) כדי להסיר את המופע. מערכת EC2 יוצרת באופן אוטומטי מופע חדש עם אותו נפח אחסון EBS.

    4. חוזרים לדף 'קבוצות מיקוד'.

  6. אחרי שמסיימים את כל המופעים בקבוצה, חוזרים לדף Target Groups (קבוצות טירגוט).

  7. בקטע Registered Targets בדף, מחפשים את העמודה Status. לכל אחד מהמופעים צריך להיות סטטוס של תקין. אם אחת מהמכונות תקינה, מחכים כמה דקות ולוחצים על סמל הרענון ().

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

מאגרי צמתים

כדי להחליף את אישורי ה-TLS של מאגר הצמתים:

  1. בספרייה של anthos-aws, משתמשים ב-anthos-gke כדי להעביר את ההקשר לשירות הניהול.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. משתמשים ב-kubectl כדי לקבל את קבוצת היעד של AWS EC2 של מאגר הצמתים מ-AWSNodePool.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
    

    הפלט כולל את השם של קבוצת היעד של EC2 של מאגר הצמתים. לדוגמה, gke-123456a7-nodepool-abc123.

  3. פותחים את מסוף AWS EC2. בחלונית הימנית, בוחרים באפשרות קבוצות מיקוד.

  4. לוחצים על סרגל החיפוש ומחפשים את קבוצת היעד. לוחצים על שם קבוצת היעד ואז על יעדים. תוצג רשימה של מופעי מישור הבקרה.

  5. לכל מופע בקבוצת היעד, מבצעים את השלבים הבאים:

    1. לוחצים על מזהה המכונה של המכונה. מופיעה מסוף המכונות של AWS EC2.

    2. לוחצים על מזהה המכונה.

    3. בוחרים באפשרות Actions -> Instance state -> terminate (פעולות -> מצב המופע -> סיום) כדי להסיר את המופע. מערכת EC2 יוצרת באופן אוטומטי מופע חדש עם אותו נפח אחסון EBS.

    4. חוזרים לדף 'קבוצות מיקוד'.

  6. אחרי שמסיימים את כל המופעים בקבוצה, חוזרים לדף Target Groups (קבוצות טירגוט).

  7. בקטע Registered Targets בדף, מחפשים את העמודה Status. לכל אחד מהמופעים צריך להיות סטטוס של תקין. אם אחת מהמכונות תקינה, מחכים כמה דקות ולוחצים על סמל הרענון ().

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