שילוב של כלים לבקרת מדיניות עם Google SecOps

במאמר הזה מוסבר איך לשלב את כלים לבקרת מדיניות עם Google Security Operations.

תרחישים לדוגמה

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

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

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

  • אוטומציה של ביקורת תאימות: אוספים את המטא-נתונים של האימות של חשבון השירות לדוחות קלים להבנה, כדי לעמוד בדרישות הרגולטוריות למעקב אחרי הגישה לזהויות והשימוש בהן.

נקודות קצה

השילוב יוצר אינטראקציה עם נקודת הקצה (endpoint) היחידה activities:query ב-API של כלים לבקרת מדיניות, באמצעות פרמטרים שונים לפעולות שונות. זו דוגמה לנקודת קצה (endpoint) לשילוב:

[https://policyintelligence.googleapis.com/v1/projects/](https://policyintelligence.googleapis.com/v1/projects/)PROJECT_ID/locations/global/activityTypes/serviceAccountLastAuthentication/activities:query

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

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

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

  2. יוצרים חשבון שירות.

  3. בוחרים אחת משיטות האימות הבאות ומגדירים אותה:

    • אפשרות 1: Workload Identity (מומלץ): בשיטה הזו משתמשים באסימונים לטווח קצר באמצעות התחזות לחשבון שירות.

    • אפשרות 2: מפתח JSON של חשבון שירות: השיטה הזו מסתמכת על קובץ מפתח סודי סטטי לטווח ארוך.

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

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

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

    לדף Roles

  2. לוחצים על addCreate custom role.

  3. מזינים שם (לדוגמה, SecOps Policy Intelligence Analyst), תיאור ומזהה ייחודי.

  4. מגדירים את Role Launch Stage ל-General Availability.

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

    • policyanalyzer.serviceAccountLastAuthenticationActivities.query
  6. לוחצים על יצירה.

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

  1. במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts.

    לדף Service accounts

  2. לוחצים על addCreate service account.

  3. מזינים שם ותיאור ולוחצים על יצירה והמשך.

  4. בשלב Grant this service account access to project, מקצים את התפקיד בהתאמה אישית שיצרתם.

  5. לוחצים על סיום. שימו לב לכתובת האימייל של חשבון השירות.

הגדרת פרטי הכניסה של Workload Identity

הגישה המומלצת היא Workload Identity, כי היא משתמשת באסימוני גישה לטווח קצר באמצעות התחזות לחשבון שירות.

זיהוי המופע הייחודי של הזהות

כדי ליצור חיבור, צריך לתת למכונה של Google SecOps הרשאה להתחזות לחשבון השירות.

  1. ב-Google SecOps, עוברים אל Content Hub > Response Integrations.

  2. בוחרים את השילוב של כלים לבקרת מדיניות ומזינים את כתובת האימייל של חשבון השירות ב-Workload Identity Email.

  3. לוחצים על שמירה > בדיקה. הבדיקה צפויה להיכשל.

  4. לוחצים על הכפתור close_small ליד Test ומחפשים את כתובת האימייל של הזהות שמתחילה ב-gke-init-python@... או ב-soar-python@....

  5. מעתיקים את כתובת האימייל הייחודית הזו.

אישור זהות המכונה ב- Google Cloud

  1. במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts.

    לדף Service accounts

  2. בוחרים את חשבון השירות הרצוי ועוברים אל Permissions > Grant Access.

  3. מדביקים את כתובת האימייל הייחודית בשדה New principals ומקצים את התפקיד Service Account Token Creator‏ (roles/iam.serviceAccountTokenCreator).

מתן גישה לפרויקט המכסות

כדי לבצע אימות באמצעות Workload Identity, צריך Quota Project ID כדי לעקוב אחרי השימוש ב-API והחיוב.

  1. במסוף Google Cloud , נכנסים לדף IAM בפרויקט שמוגדר לחיוב על מכסות.

    כניסה לדף IAM

  2. מאתרים את חשבון השירות ולוחצים על Edit principal (edit).

  3. לוחצים על Add another role ובוחרים את התפקיד Service Usage Consumer (roles/serviceusage.serviceUsageConsumer).

  4. לוחצים על Save.

הגדרת מפתח JSON

קבצים סטטיים של מפתחות סודיים לטווח ארוך דורשים רוטציה ידנית. השתמשו בשיטה הזו רק אם האימות של Workload Identity לא זמין.

  1. במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts ובוחרים את חשבון השירות.

    לדף Service accounts

  2. עוברים לכרטיסייה Keys ולוחצים על Add key > Create new key.

  3. בוחרים באפשרות JSON ולוחצים על Create. הדפדפן מוריד את קובץ ה-JSON למחשב.

פרמטרים של שילוב

כדי לשלב את Pub/Sub, צריך להגדיר את הפרמטרים הבאים:

פרמטר תיאור
Service Account JSON File Content

זה שינוי אופציונלי.

התוכן המלא של קובץ ה-JSON של מַפְתח חשבון השירות.

מגדירים את הפרמטר הזה לאימות באמצעות מפתח של חשבון שירות.

Workload Identity Email

זה שינוי אופציונלי.

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

צריך להגדיר את הפרמטר הזה רק אם מבצעים אימות באמצעות Workload Identity. אם מגדירים את המאפיין הזה, צריך לציין גם את המאפיין Quota Project ID, והמערכת תתעלם מהמאפיין Service Account JSON File Content.

Project ID

זה שינוי אופציונלי.

מזהה הפרויקט לטירגוט ב-Pub/Sub.

אם לא מציינים ערך, השילוב מאחזר את המזהה מפרטי הכניסה של חשבון השירות.

Quota Project ID

זה שינוי אופציונלי.

מזהה הפרויקט שמשמש לחיוב ולשימוש ב-API.

הפרמטר הזה נדרש כשמשתמשים באימות של Workload Identity.

אם לא מציינים ערך, השילוב מאחזר את המזהה מפרטי הכניסה של חשבון השירות.

Verify SSL

חובה.

מאמת את אישור ה-SSL של החיבור לשרת. מופעלת כברירת מחדל.

איך מגדירים שילובים ב-Google SecOps

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

פעולות

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

פינג

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

הפעולה הזו לא פועלת על ישויות של Google SecOps.

קלט של הפעולה

אין.

ערכי פלט של פעולות

הפעולה "פינג" מספקת את הפלטים הבאים:

סוג הפלט של הפעולה זמינות
חיבור לקיר של המארז לא זמין
קישור ללוח הפניות לא זמין
שולחן קונסולה צמוד לקיר לא זמין
טבלת העשרה לא זמין
תוצאת JSON לא זמין
הודעות פלט יש גישה
תוצאת הסקריפט יש גישה
הודעות פלט

ב-Case Wall, הפעולה Ping מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully connected to the Google Cloud Policy Intelligence server with the provided connection parameters! הפעולה בוצעה בהצלחה.
Failed to connect to the Google Cloud Policy Intelligence server!

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

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

תוצאת הסקריפט

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

שם תוצאת הסקריפט ערך
is_success True או False

חיפוש פעילות בחשבון השירות

אפשר להשתמש בפעולה Search Service Account Activity כדי לחפש פעילות שקשורה לחשבונות שירות ב-Policy Intelligence.

הפעולה הזו לא פועלת על ישויות של Google SecOps.

קלט של הפעולה

כדי להשתמש בפעולה "חיפוש פעילות בחשבון שירות", צריך להגדיר את הפרמטרים הבאים:

פרמטרים תיאור
Project ID אופציונלי

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

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

Service Account Resource Name חובה

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

Max Activities To Return חובה

מספר הפעילויות שיוחזרו לחשבון שירות.

המספר המקסימלי הוא 1,000.

כברירת מחדל, הפעולה מחזירה 50 פעילויות.

ערכי פלט של פעולות

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

סוג הפלט של הפעולה זמינות
חיבור לקיר של המארז לא זמין
קישור ללוח הפניות לא זמין
שולחן קונסולה צמוד לקיר לא זמין
טבלת העשרה לא זמין
תוצאת JSON יש גישה
הודעות פלט יש גישה
תוצאת הסקריפט יש גישה
תוצאת JSON

בדוגמה הבאה מתואר פלט התוצאה ב-JSON שמתקבל כשמשתמשים בפעולה "חיפוש פעילות בחשבון שירות":

[
  {
    "Entity": "//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT@ENTITY_ID",
    "EntityResult": [
      {
        "fullResourceName": "//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT@ENTITY_ID",
        "activityType": "serviceAccountLastAuthentication",
        "observationPeriod": {
          "startTime": "2023-05-23T07:00:00Z",
          "endTime": "2023-08-20T07:00:00Z"
        },
        "activity": {
          "lastAuthenticatedTime": "2023-08-20T07:00:00Z",
          "serviceAccount": {
            "serviceAccountId": "SERVICE_ACCOUNT_ID",
            "projectNumber": "PROJECT_NUMBER",
            "fullResourceName": "//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT@ENTITY_ID"
          }
        }
      }
    ]
  }
]
הודעות פלט

ב-Case Wall, הפעולה Search Service Account Activity מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה

Successfully found activity for the following service accounts in Google Cloud Policy Intelligence: SERVICE_ACCOUNTS

No activity was found for the following service accounts in Google Cloud Policy Intelligence: SERVICE_ACCOUNTS

No activity was found for the provided service accounts in Google Cloud Policy Intelligence

הפעולה בוצעה בהצלחה.
Error executing action "Search Service Account Activity". Reason: ERROR_REASON

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

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

תוצאת הסקריפט

בטבלה הבאה מתוארים הערכים של פלט תוצאת הסקריפט כשמשתמשים בפעולה Search Service Account Activity:

שם תוצאת הסקריפט ערך
is_success True או False

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