Google Cloud Armor

במאמר הזה מוסבר איך להגדיר את Google Cloud Armor ולשלב אותו עם Google Security Operations.

דרישות מוקדמות

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

יצירה והגדרה של תפקיד IAM

  1. נכנסים לדף IAM Roles במסוף Google Cloud .

    כניסה לדף IAM Roles

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

  3. לתפקיד חדש בהתאמה אישית, צריך לציין שם, תיאור ומזהה ייחודי.

  4. מגדירים את שלב ההשקה של התפקיד לזמינות לכלל המשתמשים.

  5. מוסיפים את ההרשאות הבאות לתפקיד שנוצר:

    • compute.backendBuckets.setSecurityPolicy
    • compute.backendServices.setSecurityPolicy
    • compute.regionBackendServices.setSecurityPolicy
    • compute.regionSecurityPolicies.create
    • compute.regionSecurityPolicies.get
    • compute.regionSecurityPolicies.list
    • compute.regionSecurityPolicies.update
    • compute.securityPolicies.create
    • compute.securityPolicies.get
    • compute.securityPolicies.list
    • compute.securityPolicies.update
  6. לוחצים על יצירה.

יצירה של חשבון שירות

  1. כדי ליצור חשבון שירות, פועלים לפי ההליך של יצירת חשבון שירות.

  2. אחרי שיוצרים חשבון שירות, מורידים אותו כקובץ JSON. כשמגדירים את פרמטרי השילוב, צריך לספק את התוכן של קובץ JSON שהורדתם.

    כדי להשתמש בכתובת האימייל של איחוד שירותי אימות הזהות של עומסי עבודה ב-GKE במקום בתוכן של קובץ ה-JSON של חשבון השירות, צריך להקצות את התפקיד Service Account Token Creator לחשבון השירות שבו אתם משתמשים בשילוב.

שילוב של Cloud Armor עם Google SecOps

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

פרמטרים
API Root חובה

שורש ה-API של שירות Cloud Armor.

ערך ברירת המחדל הוא https://compute.googleapis.com/compute/v1/.

Project ID אופציונלי

מזהה הפרויקט שבו ישתמשו לשילוב עם Cloud Armor. אם לא מספקים ערך, מזהה הפרויקט מחולץ מתוכן קובץ ה-JSON שסופק בפרמטר User Service Account.

Workload Identity Email אופציונלי

כתובת האימייל של הלקוח בחשבון השירות.

אפשר להגדיר את הפרמטר הזה או את הפרמטר User Service Account.

כדי להתחזות לחשבונות שירות באמצעות כתובת האימייל של איחוד זהויות של עומסי עבודה ל-GKE, צריך להקצות לחשבון השירות את התפקיד Service Account Token Creator. לפרטים נוספים על זהויות של עומסי עבודה ועל אופן השימוש בהן, אפשר לעיין במאמר זהויות לעומסי עבודה.

User Service Account אופציונלי

התוכן של קובץ ה-JSON של חשבון השירות שבו אתם משתמשים בשירות Cloud Armor.

צריך לספק את התוכן המלא של קובץ ה-JSON של חשבון השירות.

אפשר להגדיר את הפרמטר הזה או את הפרמטר Workload Identity Email.

Verify SSL אופציונלי

אם בוחרים באפשרות הזו, הפרמטר מאמת שאישור ה-SSL של החיבור לשירות Cloud Armor תקף.

האפשרות הזו מסומנת כברירת מחדל.

פעולות

בחלק מהפעולות לא צריך להזין פרמטרים.

הוספת כלל למדיניות אבטחה

מוסיפים כלל חדש למדיניות האבטחה בשירות Cloud Armor.

ישויות

הפעולה הזו לא מופעלת על ישויות.

הוספת נתונים לפעולה

כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:

פרמטרים
Policy Name חובה

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

Region אופציונלי

האזור שבו רוצים להוסיף את הכלל למדיניות.

אם לא מציינים ערך, הכלל מתווסף למדיניות האבטחה ברמה הגלובלית.

Rule JSON חובה

הגדרת JSON של הכלל שרוצים להוסיף.

מידע נוסף על הוספת כלל למדיניות זמין במאמר Method: securityPolicies.addRule.

פלט של פעולות

סוג הפלט של הפעולה
קיר המארז לא רלוונטי
קישור לקיר של הפנייה לא רלוונטי
טבלת קיר עם תושבת לא רלוונטי
טבלת העשרה לא רלוונטי
תוצאה בפורמט JSON יש גישה
תוצאת סקריפט יש גישה
תוצאת סקריפט
שם התוצאה של הסקריפט ערך
is_success נכון או לא נכון
תוצאה בפורמט JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Case wall

הפעולה הזו מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully added a new rule to the security policy! הפעולה הסתיימה בהצלחה.
Error executing action "Add a Rule to a Security Policy". Reason: ERROR_REASON

הפעולה נכשלה.

בודקים את החיבור לשרת, את פרמטרי הקלט, את פרטי הכניסה, את שם האזור, את התוכן של קובץ ה-JSON או את שם המדיניות.

יצירת מדיניות אבטחה

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

ישויות

הפעולה הזו לא מופעלת על ישויות.

הוספת נתונים לפעולה

כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:

פרמטרים
Region אופציונלי

האזור שבו רוצים ליצור מדיניות.

אם לא מציינים ערך, נוצרת מדיניות אבטחה ברמה הגלובלית.

Policy JSON חובה

הגדרת ה-JSON של המדיניות שרוצים ליצור.

מידע נוסף על מדיניות זמין במאמר REST Resource: securityPolicies.

פלט של פעולות

סוג הפלט של הפעולה
קיר המארז לא רלוונטי
קישור לקיר של הפנייה לא רלוונטי
טבלת קיר עם תושבת לא רלוונטי
טבלת העשרה לא רלוונטי
תוצאה בפורמט JSON יש גישה
תוצאת סקריפט יש גישה
תוצאת סקריפט
שם התוצאה של הסקריפט ערך
is_success נכון או לא נכון
תוצאה בפורמט JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Case wall

הפעולה הזו מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully created a new security policy! הפעולה הסתיימה בהצלחה.
Error executing action "Create a Security Policy". Reason: ERROR_REASON

הפעולה נכשלה.

בודקים את החיבור לשרת, את פרמטרי הקלט, את פרטי הכניסה, את שם האזור או את התוכן של קובץ JSON.

פינג

בודקים את הקישוריות לשירות Cloud Armor באמצעות הפרמטרים שמופיעים בדף הגדרת השילוב.

ישויות

הפעולה הזו לא מופעלת על ישויות.

הוספת נתונים לפעולה

לא רלוונטי

פלט של פעולות

סוג הפלט של הפעולה
קיר המארז לא רלוונטי
קישור לקיר של הפנייה לא רלוונטי
טבלת קיר עם תושבת לא רלוונטי
טבלת העשרה לא רלוונטי
תוצאה בפורמט JSON לא רלוונטי
תוצאת סקריפט יש גישה
תוצאת סקריפט
שם התוצאה של הסקריפט ערך
is_success נכון או לא נכון
Case wall

הפעולה הזו מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully connected to the Google Cloud Armor service with the provided connection parameters! הפעולה הסתיימה בהצלחה.
Failed to connect to the Google Cloud Armor service! Error is ERROR_REASON

הפעולה נכשלה.

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

עדכון מדיניות אבטחה

עדכון מדיניות האבטחה הקיימת בשירות Cloud Armor.

הפעולה הזו לא יכולה לעדכן כללים במדיניות. כדי להוסיף כלל למדיניות הקשורה, משתמשים בפעולה Add a Rule to a Security Policy (הוספת כלל למדיניות אבטחה).

ישויות

הפעולה הזו לא מופעלת על ישויות.

הוספת נתונים לפעולה

כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:

פרמטרים
Policy Name חובה

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

Region אופציונלי

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

אם לא מציינים ערך, נוצרת מדיניות אבטחה ברמה הגלובלית.

Rule JSON חובה

הגדרת JSON של המדיניות לעדכון.

מידע נוסף על עדכוני המדיניות זמין במאמר בנושא שיטה: securityPolicies.patch .

אי אפשר לעדכן כללים באמצעות הפעולה הזו. כדי להוסיף כלל למדיניות, משתמשים בפעולה Add a Rule to a Security Policy.

פלט של פעולות

סוג הפלט של הפעולה
קיר המארז לא רלוונטי
קישור לקיר של הפנייה לא רלוונטי
טבלת קיר עם תושבת לא רלוונטי
טבלת העשרה לא רלוונטי
תוצאה בפורמט JSON יש גישה
תוצאת סקריפט יש גישה
תוצאת סקריפט
שם התוצאה של הסקריפט ערך
is_success נכון או לא נכון
תוצאה בפורמט JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Case wall

הפעולה הזו מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully added comment to the identity protection detection with ID DETECTION_ID in CrowdStrike הפעולה הסתיימה בהצלחה.
Error executing action "Update a Security Policy". Reason: ERROR_REASON

הפעולה נכשלה.

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

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.