איסוף יומני הקשר של Cloud Storage
גרסת המנתח: 1.0
במאמר הזה מוסבר איך לייצא יומני הקשר של Cloud Storage ולהטמיע אותם ב-Google Security Operations באמצעות Cloud Storage. המנתח מנקה ומארגן את נתוני ה-JSON שנכנסים מהיומנים של Cloud Storage. לאחר מכן, הוא ממפה שדות רלוונטיים למודל הנתונים המאוחד (UDM), ומעשיר את הנתונים בתוויות ובמטא-נתונים כדי לייצג ולנתח אותם באופן עקבי בסביבת האבטחה.
לפני שמתחילים
ודאו שאתם עומדים בדרישות המוקדמות הבאות:
- מופע של Google SecOps.
- Cloud Storage מוגדר ופעיל בסביבת Google Cloud .
- גישה מיוחדת ל- Google Cloud והרשאות מתאימות.
יצירת קטגוריה של Cloud Storage
- נכנסים למסוףGoogle Cloud .
נכנסים לדף Cloud Storage Buckets.
לוחצים על Create.
ממלאים את פרטי הקטגוריה בדף Create a bucket. אחרי כל אחד מהשלבים הבאים, לוחצים על המשך כדי לעבור לשלב הבא:
בקטע Get started:
- מזינים שם ייחודי שעומד בדרישות לשמות של קטגוריות, לדוגמה google-storage-context-logs.
כדי להפעיל מרחב שמות היררכי, לוחצים על החץ להרחבת הקטע Optimize for file oriented and data-intensive workloads ובוחרים באפשרות Enable Hierarchical namespace on this bucket.
כדי להוסיף תווית לקטגוריה, לוחצים על החץ להרחבת הקטע Labels.
לוחצים על Add label ומציינים מפתח וערך בשביל התווית.
בקטע Choose where to store your data מבצעים את הפעולות הבאות:
- בוחרים Location type.
בתפריט של סוג המיקום, בוחרים מיקום שבו נתוני האובייקטים בקטגוריה יאוחסנו באופן קבוע.
כדי להגדיר שכפול בין קטגוריות, מרחיבים את הקטע Set up cross-bucket replication.
בקטע Choose a storage class for your data, בוחרים default storage class לקטגוריה, או בוחרים ב-Autoclass לניהול אוטומטי של סוג האחסון (storage class) של נתוני הקטגוריה.
בקטע Choose how to control access to objects, בוחרים באפשרות not כדי לאכוף את public access prevention, ובוחרים access control model לאובייקטים של הקטגוריה.
בקטע Choose how to protect object data:
- בוחרים באחת מהאפשרויות בקטע הגנה על נתונים שרוצים להגדיר לקטגוריה.
- כדי לבחור איך נתוני האובייקטים יוצפנו, לוחצים על החץ להרחבה שנקרא Data encryption ובוחרים Data encryption method.
לוחצים על יצירה.
הגדרת ייצוא של יומני הקשר ל-Cloud Storage
- נכנסים למסוףGoogle Cloud .
- עוברים אל Logging > Log Router.
- לוחצים על Create Sink.
מציינים את פרמטרי ההגדרה הבאים:
- Sink Name: מזינים שם בעל משמעות, לדוגמה
Storage-Context-Sink. - Sink Destination: בוחרים באפשרות Cloud Storage Storage ומזינים את ה-URI של הקטגוריה, לדוגמה
gs://google-storage-context-logs/. מסנן יומנים:
logName="*storage*" resource.type="gcs_bucket"
- Sink Name: מזינים שם בעל משמעות, לדוגמה
לוחצים על יצירה.
הגדרת הרשאות ל-Cloud Storage
- נכנסים לדף IAM & Admin > IAM.
- מאתרים את חשבון השירות של Cloud Logging.
- מקצים את התפקיד roles/storage.admin בקטגוריה.
הגדרת פידים
יש שתי נקודות כניסה שונות להגדרת פידים בפלטפורמת Google SecOps:
- הגדרות > ניהול נתונים > פידים > הוספת פיד חדש (בפלטפורמה של SIEM בלבד, הגדרות > פידים > הוספת פיד חדש)
- מרכז התוכן > חבילות תוכן > מתחילים
איך מגדירים את פיד ההקשר של Cloud Storage
- לוחצים על החבילה Google Cloud Compute platform.
- מאתרים את סוג היומן GCP Google Cloud Storage Context ולוחצים על Add new feed.
מציינים ערכים בשדות הבאים:
- סוג המקור: Google Cloud Storage V2.
- Storage Bucket URI: כתובת ה-URL של קטגוריה של Cloud Storage, לדוגמה
gs://compute-context-logs/. כתובת ה-URL הזו חייבת להסתיים בקו נטוי (/). - אפשרויות למחיקת המקור: בוחרים את אפשרות המחיקה הרצויה.
- גיל הקובץ המקסימלי: כולל קבצים ששונו במספר הימים האחרונים. ברירת המחדל היא 180 ימים.
אפשרויות מתקדמות
- שם הפיד: ערך שמולא מראש ומזהה את הפיד.
- מרחב השמות של הנכס: מרחב השמות שמשויך לפיד.
- תוויות הטמעה: תוויות שנוספו לכל האירועים מהפיד הזה.
- לוחצים על יצירת פיד.
למידע נוסף על הגדרת כמה פידים לסוגי יומנים שונים במשפחת המוצרים הזו, ראו הגדרת פידים לפי מוצר.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
| אבות קדמונים | event.idm.entity.entity.resource.attribute.labels.value | ערך האב הקדמון נשלף מהמערך של האבות הקדמונים ביומן הגולמי. |
| assetType | event.idm.entity.entity.resource.type | ממופה ישירות מהשדה assetType ביומן הגולמי. |
| insertId | event.idm.entity.metadata.product_entity_id | ממופה ישירות מהשדה insertId ביומן הגולמי. |
| labels.compute.googleapis.com/resource_name | event.idm.entity.entity.resource.name | ממופה ישירות מהשדה labels.compute.googleapis.com/resource_name ביומן הגולמי. |
| labels.k8s-pod/controller-revision-hash | event.idm.entity.entity.file.sha1 | ממופה ישירות מהשדה labels.k8s-pod/controller-revision-hash ביומן הגולמי. |
| labels.k8s-pod/name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה labels.k8s-pod/name ביומן הגולמי. |
| labels.k8s-pod/pod-template-generation | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה labels.k8s-pod/pod-template-generation ביומן הגולמי. |
| logName | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה logName ביומן הגולמי. |
| name | event.idm.entity.entity.resource.name | ממופה ישירות מהשדה name ביומן הגולמי. |
| receiveTimestamp | event.idm.entity.entity.resource.attribute.creation_time | ההמרה לפורמט של חותמת זמן מתבצעת מהשדה receiveTimestamp ביומן הגולמי. |
| resource.data.iamConfiguration.publicAccessPrevention | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.iamConfiguration.publicAccessPrevention ביומן הגולמי. |
| resource.data.id | event.idm.entity.entity.resource.product_object_id | ממופה ישירות מהשדה resource.data.id ביומן הגולמי. |
| resource.data.kind | event.idm.entity.entity.resource.type | ממופה ישירות מהשדה resource.data.kind ביומן הגולמי. |
| resource.data.labels.app_id | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.app_id ביומן הגולמי. |
| resource.data.labels.app_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.app_name ביומן הגולמי. |
| resource.data.labels.bucket_id | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.bucket_id ביומן הגולמי. |
| resource.data.labels.data_classification | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.data_classification ביומן הגולמי. |
| resource.data.labels.dept_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.dept_name ביומן הגולמי. |
| resource.data.labels.dept_no | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.dept_no ביומן הגולמי. |
| resource.data.labels.environment | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.environment ביומן הגולמי. |
| resource.data.labels.goog-composer-environment | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.goog-composer-environment ביומן הגולמי. |
| resource.data.labels.goog-composer-location | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.goog-composer-location ביומן הגולמי. |
| resource.data.labels.goog-composer-version | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.goog-composer-version ביומן הגולמי. |
| resource.data.labels.technical_contact | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.technical_contact ביומן הגולמי. |
| resource.data.labels.type | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.data.labels.type ביומן הגולמי. |
| resource.data.location | event.idm.entity.entity.location.name | ממופה ישירות מהשדה resource.data.location ביומן הגולמי. |
| resource.data.projectNumber | event.idm.entity.entity.resource.attribute.cloud.project.id | ממופה ישירות מהשדה resource.data.projectNumber ביומן הגולמי. |
| resource.data.selfLink | event.idm.entity.entity.url | ממופה ישירות מהשדה resource.data.selfLink ביומן הגולמי. |
| resource.data.timeCreated | event.idm.entity.entity.resource.attribute.creation_time | ההמרה לפורמט של חותמת זמן מתבצעת מהשדה resource.data.timeCreated ביומן הגולמי. |
| resource.data.updated | event.idm.entity.entity.resource.attribute.last_update_time | הומר לפורמט של חותמת זמן מהשדה resource.data.updated ביומן הגולמי. |
| resource.discoveryDocumentUri | event.idm.entity.entity.file.full_path | ממופה ישירות מהשדה resource.discoveryDocumentUri ביומן הגולמי. |
| resource.labels.cluster_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.cluster_name ביומן הגולמי. |
| resource.labels.container_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.container_name ביומן הגולמי. |
| resource.labels.location | event.idm.entity.entity.location.name | ממופה ישירות מהשדה resource.labels.location ביומן הגולמי. |
| resource.labels.namespace_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.namespace_name ביומן הגולמי. |
| resource.labels.pod_name | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.labels.pod_name ביומן הגולמי. |
| resource.labels.project_id | event.idm.entity.entity.resource.attribute.cloud.project.id | ממופה ישירות מהשדה resource.labels.project_id ביומן הגולמי. |
| resource.parent | event.idm.entity.entity.resource.parent | ממופה ישירות מהשדה resource.parent ביומן הגולמי. |
| resource.type | event.idm.entity.entity.resource.type | ממופה ישירות מהשדה resource.type ביומן הגולמי. |
| resource.version | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה resource.version ביומן הגולמי. |
| textPayload | event.idm.entity.entity.resource.attribute.labels.value | ממופה ישירות מהשדה textPayload ביומן הגולמי. |
| לא רלוונטי | event.idm.entity.metadata.collected_timestamp | חותמת הזמן שנאספת היא חותמת הזמן של הרשומה ביומן. |
| לא רלוונטי | event.idm.entity.metadata.entity_type | מקודד בתוך הקוד ל-RESOURCE. |
| לא רלוונטי | event.idm.entity.metadata.product_name | מקודד בתוך הקוד ל-GCP Storage Context. |
| לא רלוונטי | event.idm.entity.metadata.vendor_name | מקודד בתוך הקוד ל-Google Cloud Platform. |
| לא רלוונטי | event.idm.entity.entity.resource.attribute.cloud.environment | מקודד בתוך הקוד ל-GOOGLE_CLOUD_PLATFORM. |
| לא רלוונטי | event.idm.entity.entity.resource.resource_type | מקודד בתוך הקוד ל-STORAGE_BUCKET. |
| לא רלוונטי | event.timestamp | חותמת הזמן של האירוע היא חותמת הזמן של הרשומה ביומן. |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.