ייצוא ממצאים בכמות גדולה ל-BigQuery

במאמר הזה מוסבר איך להתחיל ייצוא בכמות גדולה של ממצאים מ-Security Command Center ל-BigQuery לפי דרישה.

‫BigQuery הוא מחסן נתונים לצורכי ניתוח מנוהל של Google Cloudבקנה מידה של פטה-בייט וחסכוני, שמאפשר להריץ ניתוח נתונים על כמויות אדירות של נתונים כמעט בזמן אמת. מידע נוסף על BigQuery זמין במאמרי העזרה של BigQuery.

סקירה כללית

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

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

מבנה מערך הנתונים

הממצאים מיוצאים ל-BigQuery כשורות בטבלה findings שממוינת לפי source_id, finding_id ו-event_time.

כל מערך נתונים מכיל טבלה בשם findings, עם השדות הבאים:

שדה תיאור
source_id

מזהה ייחודי שמוקצה על ידי Security Command Center ל מקור הממצא. לדוגמה, לכל הממצאים ממקור זיהוי אנומליות בענן יש אותו ערך source_id.

לדוגמה: 1234567890

finding_id מזהה ייחודי שמייצג את הממצא. הוא ייחודי במקור נתונים של ארגון. הוא אלפאנומרי ומכיל עד 32 תווים.
event_time

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

לדוגמה: 2019-09-26 12:48:00.985000 UTC

bulk_export_id

בייצוא בכמות גדולה, זהו מזהה ייחודי אוניברסלי (UUID).

בשביל ייצוא רציף, השדה הזה ריק.

finding

רשומה של נתוני הערכה כמו אבטחה, סיכון, בריאות או פרטיות, שמוזנים ל-Security Command Center לצורך הצגה, התראה, ניתוח, בדיקה ואכיפה של מדיניות. לדוגמה, נקודת חולשה של XSS‏ (cross-site scripting) באפליקציית App Engine היא ממצא.

למידע נוסף על השדות המקוננים, אפשר לעיין בהפניה ל-API של האובייקט Finding.

resource

מידע שקשור ל Google Cloud משאב שמשויך לממצא הזה.

למידע נוסף על השדות המקוננים, אפשר לעיין בהפניה ל-API של האובייקט Resource.

עלות

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

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

צריך להשלים את השלבים האלה לפני שמפעילים את התכונה הזו.

הגדרת ההרשאות

כדי להשלים את המדריך הזה, אתם צריכים את התפקידים הבאים בניהול זהויות והרשאות גישה (IAM):

יצירת מערך נתונים ב-BigQuery

יוצרים מערך נתונים ב-BigQuery לפי השלבים שמפורטים במאמר בנושא יצירת מערכי נתונים.

הפעלת Security Command Center API

כדי לייצא תוצאות, צריך להפעיל את Security Command Center API. לשם כך, פועלים לפי השלבים הבאים:

  1. עוברים לדף API Library במסוף Google Cloud .

    לדף API Library

  2. בוחרים את הפרויקט שבו רוצים להפעיל את Security Command Center API.

  3. בשדה חיפוש, מזינים Security Command Center ולוחצים על Security Command Center בתוצאות החיפוש.

  4. בדף ה-API שמופיע, לוחצים על הפעלה.

ה-API של Security Command Center מופעל בפרויקט.

איך מעניקים גישה להיקף ב-VPC Service Controls

אם אתם משתמשים ב-VPC Service Controls, כדאי לעיין במאמר בנושא הענקת גישה לגבולות גזרה ב-VPC Service Controls ולבצע את השלבים שמתוארים בו, אם צריך.

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

יצירת כלל כניסה לייצוא החדש בכמות גדולה ל-BigQuery

אם אתם משתמשים ב-VPC Service Controls, כדאי לעיין במאמר יצירת כלל לתעבורת נתונים נכנסת (ingress) לייצוא החדש ל-BigQuery ולפעול לפי השלבים שמופיעים בו, אם צריך.

מגבלות על ייצוא בכמות גדולה ל-BigQuery

כשיוצרים ייצוא בכמות גדולה ב-BigQuery, חשוב לקחת בחשבון את ההגבלות הבאות:

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

יצירת ייצוא בכמות גדולה ל-BigQuery

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

כדי להתחיל בייצוא בכמות גדולה של ממצאים למופע BigQuery, משתמשים ב-CLI של gcloud ופועלים לפי השלבים הבאים:

  1. נכנסים למסוף Google Cloud .

    כניסה ל Google Cloud מסוף

  2. בוחרים את הפרויקט שבו הפעלתם את Security Command Center API.

  3. לוחצים על הפעלת Cloud Shell.

  4. כדי ליצור הגדרת ייצוא חדשה, מריצים את הפקודה הבאה:

    gcloud scc findings export-to-bigquery PARENT \
        --dataset=DATASET_NAME \
        [--location=LOCATION; default="global"] \
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PARENT: השם היחסי של היקף הייצוא: ארגון, פרויקט או תיקייה. דוגמאות לפורמטים: organizations/ORGANIZATION_ID, projects/PROJECT_ID, folders/FOLDER_ID
    • DATASET_NAME: השם של מערך הנתונים ב-BigQuery. פורמט לדוגמה: projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: המיקום של Security Command Center שבו רוצים ליצור הגדרת ייצוא. אם מופעלת תכונת שמירת נתונים באזור מסוים, צריך להשתמש בערך eu,‏ sa או us. אחרת, צריך להשתמש בערך global. המשתנה הזה הוא אופציונלי.

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

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
      

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

      כדי ליצור את אותו ייצוא בכמות גדולה לנקודת הקצה eu, מריצים את הפקודה הבאה:

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
        --location=locations/eu
      

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

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

שאילתות

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

הצגת הסטטוס של ייצוא בכמות גדולה

כדי לראות את הסטטוס של ייצוא בכמות גדולה, צריך את long running operation name המחרוזת שהוחזרה לכם כשיצרתם את הייצוא בכמות גדולה.

  1. נכנסים למסוף Google Cloud .

    כניסה ל Google Cloud מסוף

  2. בוחרים את הפרויקט שבו הפעלתם את Security Command Center API.

  3. לוחצים על הפעלת Cloud Shell.

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

    gcloud scc operations describe LONG_RUNNING_OPERATION_NAME \
        --organization=ORGANIZATION_ID
    

    מחליפים את מה שכתוב בשדות הבאים:

    • LONG_RUNNING_OPERATION_NAME: המחרוזת name שמוחזרת כשיוצרים את הייצוא בכמות גדולה.
    • ORGANIZATION_ID

      לדוגמה, כדי לראות את הסטטוס של בקשת ייצוא בכמות גדולה שהוחזר ממנה name: "long-running-operation-name" מארגון שמזהה הארגון שלו מוגדר כ-123, מריצים את הפקודה הבאה:

      gcloud scc operations describe long-running-operation-name \
        --organization=123
      
  • אם הייצוא הסתיים בהצלחה, התגובה מכילה done: true.
  • אם הייצוא נכשל, התשובה תכיל קוד שגיאה.
  • אם הייצוא עדיין מתבצע, התשובה לא תכיל את הערך done: true ולא קוד שגיאה.

ייצוא בכמות גדולה וייצוא רציף ל-BigQuery

אם רוצים להשתמש בייצוא בכמות גדולה ובייצוא רציף של נתונים מ-BigQuery ביחד באותו מערך נתונים ב-BigQuery, יש שתי אפשרויות:

  • קודם יוצרים ייצוא רציף, ואז מבצעים ייצוא בכמות גדולה כדי למלא את החוסרים.

    1. הגדרת ייצוא רציף למערך נתונים ב-BigQuery. אחרי שהייצוא נוצר בהצלחה, מתחילים לקבל ממצאי Security Command Center בזמן אמת.

    2. יוצרים ייצוא בכמות גדולה באמצעות אותו יעד של מערך נתונים ב-BigQuery. תמונת מצב של כל הממצאים ב-Security Command Center בזמן הייצוא מיוצאת למערך הנתונים שנבחר.

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

  • קודם יוצרים ייצוא בכמות גדולה, ואז יוצרים ייצוא רציף.

    1. יוצרים ייצוא בכמות גדולה. תמונת מצב של כל הממצאים ב-Security Command Center בזמן הפעלת הייצוא מיוצאת למערך הנתונים שנבחר ב-BigQuery.

    2. מגדירים ייצוא רציף לאותו מערך נתונים ב-BigQuery. אחרי שהייצוא נוצר בהצלחה, מתחילים לקבל ממצאי Security Command Center בזמן אמת.

    אם הייצוא בכמות גדולה נוצר בשעה T1, צילום המצב של הממצאים לייצוא בכמות גדולה מסתיים בשעה T2, והייצוא הרציף מופעל בשעה T3, יכול להיות שהממצאים בין T2 ל-T3 לא יופיעו במערך הנתונים של BigQuery.

המאמרים הבאים