איסוף יומני הקשר של Google Cloud Identity
גרסת המנתח: 1.0
במאמר הזה מוסבר איך להטמיע יומני הקשר של Google Cloud Identity ב-Google Security Operations באמצעות Google Cloud Storage V2.
ההקשר של Cloud Identity מספק מידע על המשתמשים והמכשירים כדי לקבל החלטות לגבי גישה מבוססת-זהות, כולל מצב המכשיר, מאפייני המשתמשים והחברויות בקבוצות שמשמשות להעשרת ההקשר של האבטחה.
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps
- פרויקט ב-GCP שבו מופעל Cloud Storage API
- הרשאות ליצירה ולניהול של קטגוריות ב-GCS
- הרשאות לניהול מדיניות IAM בקטגוריות של GCS
- סביבת Google Workspace או Cloud Identity עם משתמשים ומכשירים
- הרשאות IAM ליצירת sink ביומן בפרויקט GCP
- תפקיד אדמין ב-Logging (
roles/logging.admin) או הרשאות שוות ערך
יצירת קטגוריה של Google Cloud Storage
באמצעות מסוף Google Cloud
- נכנסים למסוף Google Cloud.
- בוחרים את הפרויקט או יוצרים פרויקט חדש.
- בתפריט הניווט, נכנסים ל-Cloud Storage > Buckets.
- לוחצים על Create bucket.
ממלאים את פרטי ההגדרה הבאים:
הגדרה ערך Name your bucket מזינים שם ייחודי ברמה גלובלית (לדוגמה, cloud-identity-context-logs)סוג המיקום בוחרים לפי הצרכים (אזור, שני אזורים, מספר אזורים) Location בוחרים את המיקום (לדוגמה, us-central1)סוג אחסון (storage class) רגיל (מומלץ ליומנים שהגישה אליהם תכופה) בקרת גישה אחידה (מומלץ) כלי הגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים לוחצים על יצירה.
שימוש בכלי שורת הפקודה של Google Cloud
לחלופין, אפשר ליצור קטגוריה באמצעות הפקודה
gcloud:gcloud storage buckets create gs://cloud-identity-context-logs \ --location=us-central1 \ --default-storage-class=STANDARD- מחליפים את
cloud-identity-context-logsבשם הקטגוריה (ייחודי באופן גלובלי). - מחליפים את
us-central1באזור הרצוי (למשל,us-central1,europe-west1).
- מחליפים את
ייצוא יומני ההקשר של Cloud Identity ל-GCS
יומני ההקשר של Cloud Identity נאספים ב-Cloud Logging. כדי לייצא אותם ל-GCS, צריך ליצור sink ב-Cloud Logging:
- נכנסים למסוף Google Cloud.
- בוחרים את הפרויקט הרצוי.
- עוברים אל Logging > Log Router.
- לוחצים על Create sink.
ממלאים את הפרטים הבאים:
- Sink name:
cloud-identity-context-sink - Sink description: תיאור אופציונלי
- לחצו על Next.
- Sink name:
בקטע Select sink service:
- בוחרים באפשרות קטגוריה של Cloud Storage בתור שירות הכיור.
- בוחרים את הקטגוריה שיצרתם קודם
- לחצו על Next.
בקטע Choose logs to include in sink, משתמשים במסנן הבא:
resource.type="audited_resource" protoPayload.serviceName="cloudidentity.googleapis.com"לחצו על Next.
בודקים את הגדרות הכיור ולוחצים על Create sink.
מעתיקים את חשבון השירות שמוצג בהודעת האישור (למשל,
service-PROJECT_NUMBER@gcp-sa-logging.iam.gserviceaccount.com).נכנסים לדף Cloud Storage > Buckets.
בוחרים את הקטגוריה.
עוברים לכרטיסייה Permissions.
לוחצים על הענקת גישה.
מדביקים את כתובת האימייל של חשבון השירות משלב 9.
מקצים את התפקיד יצירת אובייקטים באחסון.
לוחצים על Save.
אחזור של חשבון השירות של Google SecOps
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- לוחצים על Get Service Account (קבלת חשבון שירות).
תוצג כתובת אימייל ייחודית של חשבון שירות, לדוגמה:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comמעתיקים את כתובת האימייל הזו. תצטרכו אותו בשלב הבא.
מתן הרשאות IAM לחשבון השירות של Google SecOps
באמצעות מסוף Google Cloud
- נכנסים לדף Cloud Storage > Buckets.
- לוחצים על שם הקטגוריה.
- עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- הוספת חשבונות משתמשים: מדביקים את כתובת האימייל של חשבון השירות של Google SecOps.
- הקצאת תפקידים: בוחרים באפשרות צפייה באובייקטים באחסון.
- לוחצים על Save.
שימוש בכלי שורת הפקודה של Google Cloud
משתמשים בפקודה הבאה:
gcloud storage buckets add-iam-policy-binding gs://cloud-identity-context-logs \ --member="serviceAccount:<SECOPS_SERVICE_ACCOUNT_EMAIL>" \ --role="roles/storage.objectViewer"מחליפים את:
-
cloud-identity-context-logs: שם הקטגוריה. -
<SECOPS_SERVICE_ACCOUNT_EMAIL>: עם כתובת האימייל של חשבון השירות של Google SecOps.
-
הגדרת פיד ב-Google SecOps כדי להטמיע יומני הקשר של Cloud Identity
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Cloud Identity Context Logs). - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות Google Cloud Identity Context בתור Log type.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
Storage bucket URI: מזינים את ה-URI של קטגוריית GCS:
gs://cloud-identity-context-logs/אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה המועדפת:
- אף פעם לא למחוק קבצים: אף פעם לא למחוק קבצים אחרי ההעברה.
- מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת.
גיל הקובץ המקסימלי (ימים): כולל קבצים ששונו במספר הימים האחרונים. ברירת המחדל היא 180.
מרחב השמות של הנכס: מרחב השמות של הנכס.
תוויות הטמעה: תוויות שנוספות לכל האירועים מהפיד הזה.
לוחצים על הבא.
בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
מידע נוסף על פידים של Google Security Operations זמין במסמכי התיעוד של פידים של Google Security Operations. מידע על הדרישות של כל סוג פיד זמין במאמר הגדרת פיד לפי סוג.
אם נתקלתם בבעיות ביצירת פידים, פנו לתמיכה של Google Security Operations.
הפניה למיפוי שדות
מנתח ההקשר של Cloud Identity מחלץ מידע על זהות המשתמש והמכשיר מ-Google Cloud Identity, כולל מאפייני משתמש, כתובות אימייל, חברויות בקבוצות, נתיבים של יחידות ארגוניות ונתוני מצב המכשיר. הוא ממפה את השדות האלה למודל UDM entity עם סוג הישות USER.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
product_object_id |
entity.asset.product_object_id |
מיפוי ישיר |
data.protoPayload.requestMetadata.callerIp |
entity.ip |
ממוזג |
authorizationInfodata_granted_label |
entity.labels |
ממוזג |
authorizationInfodata_permission_label |
entity.labels |
ממוזג |
authorizationInfodata_resource_label |
entity.labels |
ממוזג |
data_logname_label |
entity.labels |
ממוזג |
field_ |
entity.labels |
ממוזג |
referencedTables_datasetId_label |
entity.labels |
ממוזג |
referencedTables_projectId_label |
entity.labels |
ממוזג |
referencedTables_tableId_label |
entity.labels |
ממוזג |
referencedViews_datasetId_label |
entity.labels |
ממוזג |
referencedViews_projectId_label |
entity.labels |
ממוזג |
referencedViews_tableId_label |
entity.labels |
ממוזג |
value |
entity.location.country_or_region |
מיפוי ישיר |
data.protoPayload.resourceName |
entity.resource.name |
מיפוי ישיר |
company_name |
entity.user.company_name |
שינוי שם/מיפוי |
depart |
entity.user.department |
ממוזג |
organisation |
entity.user.department |
ממוזג |
alias |
entity.user.email_addresses |
ממוזג |
data.protoPayload.authenticationInfo.principalEmail |
entity.user.email_addresses |
ממוזג |
email |
entity.user.email_addresses |
ממוזג |
emails |
entity.user.email_addresses |
ממוזג |
primaryEmail |
entity.user.email_addresses |
ממוזג |
employeeId |
entity.user.employee_id |
מיפוי ישיר |
employee_id |
entity.user.employee_id |
מיפוי ישיר |
ext.value |
entity.user.employee_id |
מיפוי ישיר |
first_name |
entity.user.first_name |
מיפוי ישיר |
givenName |
entity.user.first_name |
מיפוי ישיר |
name.givenName |
entity.user.first_name |
מיפוי ישיר |
orgUnitPath |
entity.user.group_identifiers |
ממוזג |
familyName |
entity.user.last_name |
מיפוי ישיר |
last_name |
entity.user.last_name |
מיפוי ישיר |
name.familyName |
entity.user.last_name |
מיפוי ישיר |
office_address.country_or_region |
entity.user.office_address.country_or_region |
מיפוי ישיר |
office_address.state |
entity.user.office_address.state |
מיפוי ישיר |
number |
entity.user.phone_numbers |
ממוזג |
data.insertId |
entity.user.product_object_id |
מיפוי ישיר |
id |
entity.user.product_object_id |
מיפוי ישיר |
title |
entity.user.title |
מיפוי ישיר |
familyName |
entity.user.user_display_name |
מיפוי ישיר |
givenName |
entity.user.user_display_name |
מיפוי ישיר |
name.fullName |
entity.user.user_display_name |
מיפוי ישיר |
user_display_name |
entity.user.user_display_name |
מיפוי ישיר |
data.insertId |
entity.user.userid |
מיפוי ישיר |
userid |
entity.user.userid |
מיפוי ישיר |
windows_sid |
entity.user.windows_sid |
מיפוי ישיר |
value |
metadata.event_timestamp |
נותח בתור ISO8601 |
| לא רלוונטי | metadata.description |
קבוע: From BigQuery |
| לא רלוונטי | metadata.entity_type |
קבוע: USER |
| לא רלוונטי | metadata.product_entity_id |
קבוע: unknown |
| לא רלוונטי | metadata.product_name |
קבוע: Cloud Identity |
| לא רלוונטי | metadata.vendor_name |
קבוע: Google |
יומן שינויים
הצגת יומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.