ייצוא ממצאים בכמות גדולה ל-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 ל מקור הממצא. לדוגמה, לכל הממצאים מהמקור Cloud Anomaly Detection יש אותו ערך 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 שמופיע, לוחצים על הפעלה.

‫Security Command Center API מופעל בפרויקט.

איך מעניקים גישה להיקף ב-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.

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