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

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

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

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

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

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

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

נקודות קצה

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

[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. לוחצים על הוספהיצירת תפקיד בהתאמה אישית.

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

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

  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 ליד בדיקה ומאתרים את כתובת האימייל של הזהות שמתחילה ב-gke-init-python@... או ב-soar-python@....

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

נותנים הרשאה לזהות המופע ב- Google Cloud

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

    לדף Service accounts

  2. בוחרים את חשבון השירות של היעד ועוברים אל הרשאות > הענקת גישה.

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

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

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

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

    כניסה לדף IAM

  2. מאתרים את חשבון השירות ולוחצים על עריכת הגורם המורשה (עריכה).

  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. עוברים לכרטיסייה מפתחות ולוחצים על הוספת מפתח > יצירת מפתח חדש.

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

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

השילוב של Pub/Sub דורש את הפרמטרים הבאים:

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

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

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

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

Workload Identity Email

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

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

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

Project ID

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

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

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

Quota Project ID

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

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

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

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

Verify SSL

חובה.

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

הוראות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.

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

פעולות

מידע נוסף על פעולות זמין במאמרים איך מגיבים לפעולות שממתינות לאישור ב-Your Workdesk ואיך מבצעים פעולה ידנית.

פינג

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

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

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

אין.

פלט של פעולות

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

סוג הפלט של הפעולה זמינות
קיר המארז לא זמין
קישור לקיר של הפנייה לא זמין
טבלת קיר עם תושבת לא זמין
טבלת העשרה לא זמין
תוצאה בפורמט 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!

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

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

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

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

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

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

משתמשים בפעולה 'חיפוש פעילות בחשבון שירות' כדי לחפש פעילות שקשורה לחשבונות שירות ב-כלים לבקרת מדיניות.

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

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

הפעולה 'פעילות בחשבון שירות לחיפוש' דורשת את הפרמטרים הבאים:

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

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

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

Service Account Resource Name חובה

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

Max Activities To Return חובה

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

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

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

פלט של פעולות

הפעולה 'פעילות בחשבון שירות של חיפוש' מספקת את התוצאות הבאות:

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

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

[
  {
    "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.