הגדרת עדכונים באצווה לכללים של מדיניות חומת האש

במאמר הזה מוסבר איך מנהלי רשת יכולים לעדכן כמה כללים של מדיניות חומת אש היררכית ורשתית באמצעות קובצי תצורה בפורמט YAML. תהליך חבילת העדכונים כולל יצירה או ייצוא של כללים לקובץ YAML, שינוי הקובץ והחלת השינויים באמצעות Google Cloud CLI או Compute Engine API.

אם אתם משתמשים בממשקי API בארכיטקטורת REST כדי לעדכן את הכללים של מדיניות חומת האש בחבילת עדכונים, צריך להשתמש ב-method‏ patch. השיטה patch מאפשרת להחליף את כל הכללים במדיניות חומת האש על ידי ציון השדה rules בבקשה. אין צורך ליצור קובץ YAML. כשמשתמשים בשיטה patch, כדאי להשאיר את כללי ברירת המחדל goto_next עם העדיפות הכי נמוכה.

אם אתם משתמשים ב-CLI של gcloud כדי לעדכן את הכללים של מדיניות חומת האש, אתם יכולים להשתמש בפקודות הבאות של ה-CLI של gcloud:

  • export-rules: מאפשר לייצא את הגדרות הכללים של מדיניות חומת האש לקובץ YAML. בקובץ ה-YAML, אפשר להוסיף, לשנות ולהסיר את הגדרות הכללים של מדיניות חומת האש בהתאם לדרישות שלכם.

  • import-rules: מאפשר לייבא את קובץ התצורה של כללי מדיניות חומת האש ששונה. הפעולה הזו מחליפה את הכללים הקיימים במדיניות חומת האש שצוינה.

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

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

כדי לבצע את העדכון הקבוצתי, צריך לוודא שהכלים הבאים מותקנים ומוגדרים:

  • Google Cloud CLI
  • Compute Engine API
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine כמו שמתואר בקטע הזה.

המסוף

כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.

gcloud

  1. אחרי ההתקנה של Google Cloud CLI, מאתחלים אותו באמצעות הפקודה הבאה:

    
    gcloud init
    
    

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  2. מגדירים את אזור ברירת המחדל והתחום בלקוח המקומי.

REST

כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

אחרי ההתקנה של Google Cloud CLI, מאתחלים אותו באמצעות הפקודה הבאה:


gcloud init

אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות שלGoogle Cloud .

יצירת קובץ YAML

אפשר להשתמש בפקודה export-rules כדי לייצא כללים קיימים של מדיניות חומת אש לקובץ YAML. מידע נוסף זמין במאמר ייצוא כלל במדיניות של חומת אש. קובץ ה-YAML המיוצא כולל את כללי ברירת המחדל goto_next עם העדיפות הכי נמוכה (כללים עם עדיפות שגדולה מ-2147483644 או שווה לה), לכן חשוב לא לשנות את כללי ברירת המחדל האלה goto_next.

עם זאת, אם אתם לא רוצים להשתמש בפקודה export-rules, אתם יכולים גם ליצור קובץ YAML חדש באופן ידני כדי לערוך את הכללים. כדי ליצור קובץ YAML חדש באופן ידני:

  1. יוצרים קובץ YAML RULES_YAML_FILE. מחליפים את RULES_YAML_FILE בשם קובץ לבחירתכם.

  2. מוסיפים את השדה rules לקובץ ה-YAML. השדה rules מכיל רשימה של כללי מדיניות חומת האש. לעיון בסכימה שמתארת את פורמט הייצוא או הייבוא, אפשר לעבור אל CLOUDSDKROOT/lib/googlecloudsdk/schemas/compute/beta/FirewallPolicy.yaml. כאשר CLOUDSDKROOT הוא ספריית ההתקנה של Google Cloud CLI.

    זוהי דוגמה לסכימת YAML.

        rules:
        -action: deny
         description:
         priority: 1
         disabled: false
         enable-logging: false
         kind: compute#firewallPolicyRule
         ...
        -action: goto_next
         priority: 2
         disabled: false
         enable-logging: false
         ...
      

    כדי לשנות כללים של מדיניות חומת האש, אפשר לעיין במאמר בנושא שינוי כללים של מדיניות חומת האש.

ייצוא כלל מדיניות חומת אש

אפשר להתחיל עדכונים באמצעות ה-CLI של gcloud או Compute Engine API.

ייצוא של מדיניות חומת אש היררכית

מייצאים את כללי המדיניות של חומת האש ממדיניות חומת האש ההיררכית.

gcloud

כדי לייצא כללים ממדיניות חומת אש היררכית, משתמשים בפקודה gcloud compute firewall-policies export-rules:

gcloud compute firewall-policies export-rules FIREWALL_POLICY \
    --destination=DESTINATION \
    --organization=ORGANIZATION

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

  • FIREWALL_POLICY: השם המקוצר או המזהה של מדיניות חומת האש ההיררכית שממנה רוצים לייצא כללים
  • DESTINATION: הנתיב לקובץ YAML שאליו תתבצע יצוא של ההגדרות
  • ORGANIZATION: הארגון שבו צריך לעדכן את מדיניות חומת האש של הארגון. חובה להגדיר אם FIREWALL_POLICY הוא כינוי

API

כדי לייצא את הכללים הקיימים ממדיניות חומת האש ההיררכית, משתמשים ב-method‏ firewallPolicies.get ב-Compute Engine API:

  GET https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
  

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

ייצוא מדיניות חומת אש ברשת

מייצאים כללים של חומת אש ממדיניות חומת האש של הרשת.

gcloud

כדי לייצא את הגדרות הכללים של מדיניות חומת האש ברשת לקובץ, משתמשים בפקודה gcloud compute network-firewall-policies export-rules:

gcloud compute network-firewall-policies export-rules FIREWALL_POLICY \
    --destination=RULES_YAML_FILE_PATH \
    --global | --region=REGION

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

  • FIREWALL_POLICY: השם של מדיניות חומת האש של הרשת שממנה רוצים לייצא כללים
  • RULES_YAML_FILE_PATH: הנתיב לקובץ YAML שאליו מיוצאת התצורה
  • REGION: מציינים --global אם מדובר במדיניות גלובלית או REGION אם מדובר במדיניות אזורית.

API

כדי לייצא את הכללים הקיימים ממדיניות חומת האש הגלובלית של הרשת, משתמשים ב-method‏ networkFirewallPolicies.get ב-API של Compute Engine:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicies/FIREWALL_POLICY_NAME
   

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

  • PROJECT: מזהה הפרויקט
  • FIREWALL_POLICY_NAME: השם של מדיניות חומת האש שרוצים לייצא

כדי לייצא את הכללים הקיימים ממדיניות חומת אש אזורית ברשת, משתמשים ב-method‏ regionNetworkFirewallPolicies.get ב-API של Compute Engine:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME

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

  • PROJECT: מזהה הפרויקט
  • REGION: האזור של כללי מדיניות חומת האש
  • FIREWALL_POLICY_NAME: השם של מדיניות חומת האש שרוצים לייצא

הבקשה הזו מחזירה הגדרה של משאב מדיניות חומת אש.

שינוי כללי מדיניות חומת אש

משנים את הכללים של מדיניות חומת האש שייצאתם בקטע הקודם.

  1. פותחים את הקובץ המיוצא. לדוגמה, RULES_YAML_FILE.

  2. מוסיפים את השדה rules כמו בדוגמה הבאה.

        rules:
         -action: allow
          description: test-rule1
          direction: INGRESS
          disabled: false
          enableLogging: false
          kind: compute#firewallPolicyRule
      

  3. מוסיפים את שדות ההגדרה הנוספים כמו action, direction ו-priority. לפניכם דוגמה לקובץ YAML בסיסי.

        rules:
         -action: allow
          description: test-rule1
          direction: INGRESS
          disabled: false
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -192.0.2.0/24
          priority: 1
          ruleTupleCount: 2
         -action: goto_next
          description: default egress rule
          direction: EGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            destIpRanges:
            -::/0
            layer4Configs:
            -ipProtocol: all
          priority: 2147483644
          ruleTupleCount: 2
         -action: goto_next
          description: default ingress rule
          direction: INGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -::/0
          priority: 2147483645
          ruleTupleCount: 2
         -action: goto_next
          description: default egress rule
          direction: EGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            destIpRanges:
            -198.51.100.0/24
            layer4Configs:
            -ipProtocol: all
          priority: 2147483646
          ruleTupleCount: 2
         -action: goto_next
          description: default ingress rule
          direction: INGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -192.0.2.0/24
          priority: 2147483647
          ruleTupleCount: 2
      

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

אחרי שמשנים את הקובץ עם העדכונים הנדרשים, מייבאים את הכללים למדיניות חומת האש. ייבוא הקובץ ששונה יחליף את הכללים הקיימים במדיניות חומת האש בכללים שסופקו.

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

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

gcloud

כדי לייבא כללים למדיניות חומת האש ההיררכית, משתמשים בפקודה gcloud compute firewall-policies import-rules:

gcloud compute firewall-policies import-rules FIREWALL_POLICY \
    --source=RULES_YAML_FILE_PATH \
    --organization=ORGANIZATION

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

  • FIREWALL_POLICY: השם המקוצר או המזהה של מדיניות חומת האש ההיררכית שרוצים לעדכן
  • RULES_YAML_FILE_PATH: הנתיב לקובץ ה-YAML שממנו מייבאים את הכללים
  • ORGANIZATION: הארגון שבו צריך לעדכן את מדיניות חומת האש של הארגון. חובה להגדיר את הערך אם FIREWALL_POLICY הוא שם מקוצר.

API

כדי לייבא את הכללים של מדיניות חומת האש, משתמשים ב-method ‏firewallPolicies.patch ב-Compute Engine API:

  PATCH https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
  

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

ייבוא מדיניות חומת אש בין רשתות

מייבאים את קובץ ה-YAML של כללי חומת האש ששונה למדיניות חומת האש של הרשת.

gcloud

כדי לייבא כללים למדיניות חומת האש של הרשת, משתמשים בפקודה gcloud compute network-firewall-policies import-rules:

gcloud compute network-firewall-policies import-rules FIREWALL_POLICY \
    --source=RULES_YAML_FILE_PATH \
    --global | --region=REGION

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

  • FIREWALL_POLICY: השם של מדיניות חומת האש ברשת שרוצים לעדכן
  • RULES_YAML_FILE_PATH: הנתיב שנבחר לייבוא הכללים
  • REGION: מציינים --global אם מדובר במדיניות גלובלית או REGION אם מדובר במדיניות אזורית.

API

כדי לייבא את הכללים ששונו במדיניות חומת האש של הרשת, משתמשים בmethod‏ networkFirewallPolicies.patch ב-API של Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicy/FIREWALL_POLICY_NAME
  

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

  • PROJECT: מזהה הפרויקט של הכללים במדיניות חומת האש ברשת
  • FIREWALL_POLICY_NAME: השם של מדיניות חומת האש ברשת שרוצים לייצא

כדי לייבא את הכללים ששונו במדיניות אזורית של חומת אש ברשת, משתמשים ב-method‏ regionNetworkFirewallPolicies.patch ב-Compute Engine API:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME
   

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

  • PROJECT: מזהה הפרויקט של כללי מדיניות חומת האש ברשת האזורית
  • REGION: האזור של כללי מדיניות חומת האש
  • FIREWALL_POLICY_NAME: השם של מדיניות חומת האש שרוצים לייצא

    הבקשה הזו מחזירה הגדרה של משאב מדיניות חומת אש ברשת.

המאמרים הבאים