איסוף יומני Forcepoint ONE CASB

גרסת המנתח: 2.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומנים של Forcepoint ONE CASB (לשעבר Forcepoint/Bitglass CASB) ב-Google Security Operations באמצעות Google Cloud Storage V2.

‫Forcepoint ONE CASB הוא מתווך אבטחה לגישה לענן (CASB) שמספק הרשאות גישה, תאימות והגנה מפני איומים לאפליקציות בענן. הוא עוקב אחרי הגישה לאפליקציות SaaS ומנהל אותה, אוכף כללי מדיניות למניעת אובדן נתונים ומזהה התנהגות חריגה של משתמשים בשירותי ענן מאושרים ולא מאושרים.

מידע נוסף זמין במסמכי התיעוד של Forcepoint CASB.

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

ודאו שאתם עומדים בדרישות המוקדמות הבאות:

  • מכונה של Google SecOps
  • פרויקט ב-GCP שבו מופעל Cloud Storage API
  • הרשאות ליצירה ולניהול של קטגוריות ב-GCS
  • הרשאות לניהול מדיניות IAM בקטגוריות של GCS
  • הרשאות ליצירת שירותי Cloud Run, נושאי Pub/Sub ומשימות ב-Cloud Scheduler
  • גישה מיוחדת לפורטל Forcepoint ONE (תפקיד אדמין)
  • פרטי כניסה ל-Forcepoint ONE API (טוקן גישה ל-API או פרטי כניסה של לקוח OAuth)

יצירת קטגוריה של Google Cloud Storage

  1. נכנסים למסוף Google Cloud.
  2. בוחרים את הפרויקט או יוצרים פרויקט חדש.
  3. בתפריט הניווט, נכנסים ל-Cloud Storage > Buckets.
  4. לוחצים על Create bucket.
  5. ממלאים את פרטי ההגדרה הבאים:

    הגדרה ערך
    Name your bucket מזינים שם ייחודי ברמה גלובלית (לדוגמה, forcepoint-casb-logs)
    סוג המיקום בוחרים לפי הצרכים (אזור, שני אזורים, מספר אזורים)
    Location בוחרים את המיקום (לדוגמה, us-central1)
    סוג אחסון (storage class) רגיל (מומלץ ליומנים שהגישה אליהם תכופה)
    בקרת גישה אחידה (מומלץ)
    כלי הגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים
  6. לוחצים על יצירה.

איסוף פרטי הכניסה ל-API של Forcepoint ONE CASB

קבלת טוקן גישה ל-API

  1. נכנסים לפורטל Forcepoint ONE בכתובת https://portal.bitglass.com (או לכתובת ה-URL של הפורטל האזורי) באמצעות חשבון אדמין.
  2. עוברים אל הגדרות > שילוב API.
  3. לוחצים על Generate API Token (או על Create New Token אם יוצרים אסימון בפעם הראשונה).
  4. מזינים את פרטי ההגדרה הבאים:
    • שם הטוקן: מזינים שם תיאורי (לדוגמה, SecOps-GCS-Integration).
    • הרשאות: בוחרים גישת קריאה להיקפים הבאים:
      • יומני גישה: פעילות משתמשים ואירועי גישה.
      • יומני ביקורת של אדמינים: שינויים ניהוליים ואירועי הגדרה.
      • אירועי DLP: אירועים של מניעת אובדן נתונים.
      • יומני הגנה מפני איומים: אירועים של זיהוי תוכנות זדוניות ואיומים.
  5. לוחצים על יצירה.
  6. מעתיקים ושומרים את הערכים הבאים באופן מאובטח:

    • טוקן גישה ל-API: ערך הטוקן שנוצר.
    • כתובת URL בסיסית של API: נקודת קצה ל-API של Forcepoint ONE (לדוגמה, https://portal.bitglass.com/api).

אימות ההרשאות

כדי לוודא שלחשבון יש את ההרשאות הנדרשות:

  1. נכנסים לפורטל Forcepoint ONE.
  2. עוברים אל הגדרות > אדמינים.
  3. מוודאים שבחשבון מוגדר התפקיד אדמין או אדמין אבטחה.
  4. אם האפשרות API Integration לא מופיעה, פנו לאדמין של Forcepoint ONE כדי לקבל את התפקיד הנדרש.

בדיקת הגישה ל-API

  • לפני שממשיכים בתהליך השילוב, בודקים את פרטי הכניסה:

    API_TOKEN="<your-api-token>"
    API_BASE="https://portal.bitglass.com"
    
    # Test API access - retrieve recent access logs
    curl -v -H "Authorization: Bearer ${API_TOKEN}" \
        -H "Accept: application/json" \
        "${API_BASE}/api/v1/logs/access?limit=1"
    

תגובה מוצלחת מחזירה את הערך HTTP 200 עם אובייקט JSON שמכיל רשומות ביומן. אם קיבלתם את השגיאה HTTP 401, בדקו את טוקן ה-API. אם קיבלתם את השגיאה HTTP 403, בדקו את ההרשאות בחשבון.

יצירת חשבון שירות לפונקציית Cloud Run

לפונקציית Cloud Run נדרש חשבון שירות עם הרשאות כתיבה בקטגוריית GCS, וצריך להפעיל אותה באמצעות Pub/Sub.

יצירת חשבון שירות

  1. במסוף GCP, נכנסים לדף IAM & Admin > Service Accounts.
  2. לוחצים על Create Service Account.
  3. מזינים את פרטי ההגדרה הבאים:
    • Service account name: מזינים forcepoint-casb-collector-sa
    • Service account description: מזינים Service account for Cloud Run function to collect Forcepoint ONE CASB logs
  4. לוחצים על יצירה והמשך.
  5. בקטע Grant this service account access to project, מוסיפים את התפקידים הבאים:
    1. לוחצים על בחירת תפקיד.
    2. מחפשים את התפקיד Storage Object Admin ובוחרים אותו.
    3. לוחצים על + הוספת תפקיד.
    4. מחפשים את התפקיד Cloud Run Invoker ובוחרים בו.
    5. לוחצים על + הוספת תפקיד.
    6. מחפשים את התפקיד Cloud Functions Invoker ובוחרים אותו.
  6. לוחצים על Continue.
  7. לוחצים על סיום.

התפקידים האלה נדרשים כדי:

  • אדמין של אובייקט אחסון: כתיבת יומנים בקטגוריית GCS וניהול קובצי תמונת מצב.
  • ‫Cloud Run Invoker: מאפשר ל-Pub/Sub להפעיל את הפונקציה.
  • מפעיל פונקציות של Cloud Functions: מאפשר להפעיל פונקציות.

הענקת הרשאות IAM בקטגוריית GCS

נותנים לחשבון השירות הרשאות כתיבה בקטגוריה של GCS:

  1. נכנסים לדף Cloud Storage > Buckets.
  2. לוחצים על שם הקטגוריה (לדוגמה, forcepoint-casb-logs).
  3. עוברים לכרטיסייה Permissions.
  4. לוחצים על הענקת גישה.
  5. מזינים את פרטי ההגדרה הבאים:
    • הוספת חשבונות משתמשים: מזינים את כתובת האימייל של חשבון השירות (לדוגמה, forcepoint-casb-collector-sa@PROJECT_ID.iam.gserviceaccount.com)
    • הקצאת תפקידים: בוחרים באפשרות אדמין של אובייקטים באחסון.
  6. לוחצים על Save.

יצירת נושא Pub/Sub

יוצרים נושא Pub/Sub ש-Cloud Scheduler יפרסם בו ופונקציית Cloud Run תירשם אליו.

  1. במסוף GCP, נכנסים לדף Pub/Sub > Topics.
  2. לוחצים על Create topic.
  3. מזינים את פרטי ההגדרה הבאים:
    • מזהה הנושא: מזינים forcepoint-casb-trigger
    • משאירים את שאר ההגדרות כברירת מחדל.
  4. לוחצים על יצירה.

יצירת פונקציית Cloud Run לאיסוף יומנים

הפונקציה של Cloud Run תופעל על ידי הודעות Pub/Sub מ-Cloud Scheduler כדי לאחזר יומנים מ-Forcepoint ONE CASB API ולכתוב אותם ב-GCS.

  1. במסוף GCP, נכנסים ל-Cloud Run.
  2. לוחצים על Create service.
  3. בוחרים באפשרות Function (שימוש בעורך ישיר כדי ליצור פונקציה).
  4. בקטע Configure, מזינים את פרטי ההגדרה הבאים:

    הגדרה ערך
    שם השירות forcepoint-casb-collector
    אזור בוחרים את האזור שתואם לקטגוריית ה-GCS (לדוגמה, us-central1)
    זמן ריצה בוחרים באפשרות Python 3.12 או גרסה עדכנית יותר.
  5. בקטע טריגר (אופציונלי):

    1. לוחצים על + הוספת טריגר.
    2. בוחרים באפשרות Cloud Pub/Sub.
    3. בקטע Select a Cloud Pub/Sub topic, בוחרים את forcepoint-casb-trigger.
    4. לוחצים על Save.
  6. בקטע אימות:

    1. לוחצים על דרישת אימות.
    2. בודקים את ניהול הזהויות והרשאות הגישה (IAM).
  7. גוללים למטה ומרחיבים את הקטע Containers, Networking, Security.

  8. עוברים לכרטיסייה אבטחה:

    • חשבון שירות: בוחרים באפשרות forcepoint-casb-collector-sa
  9. עוברים לכרטיסייה מאגרי תגים:

    1. לוחצים על Variables & Secrets.
    2. לוחצים על ‎+ Add variable לכל משתנה סביבה:
    שם משתנה ערך לדוגמה תיאור
    GCS_BUCKET forcepoint-casb-logs שם הקטגוריה ב-GCS
    GCS_PREFIX forcepoint-casb קידומת לקובצי יומן
    STATE_KEY forcepoint-casb/state.json נתיב קובץ תמונת המצב
    API_BASE https://portal.bitglass.com כתובת ה-URL הבסיסית של Forcepoint ONE API
    API_TOKEN your-api-token טוקן API של Forcepoint ONE
    MAX_RECORDS 5000 מספר הרשומות המקסימלי לכל הרצה
    PAGE_SIZE 500 רשומות בכל דף
    LOOKBACK_HOURS 24 תקופת המבט לאחור הראשונית
  10. בקטע Variables & Secrets, גוללים למטה אל Requests:

    • ‫Request timeout: מזינים 600 שניות (10 דקות)
  11. עוברים לכרטיסייה הגדרות:

    • בקטע Resources:
      • זיכרון: בוחרים באפשרות ‎512 MiB או יותר
      • מעבד (CPU): בוחרים באפשרות 1
  12. בקטע Revision scaling:

    • Minimum number of instances: מזינים 0
    • Maximum number of instances: מזינים 100 (או משנים בהתאם לעומס הצפוי)
  13. לוחצים על יצירה.

  14. ממתינים ליצירת השירות (דקה או שתיים).

  15. אחרי שיוצרים את השירות, עורך הקוד המוטבע נפתח באופן אוטומטי.

הוספת קוד פונקציה

  1. בשדה Entry point, מזינים main.
  2. בעורך הקוד, יוצרים שני קבצים:

    • main.py:

      import functions_framework
      from google.cloud import storage
      import json
      import os
      import urllib3
      from datetime import datetime, timezone, timedelta
      import time
      
      # Initialize HTTP client with timeouts
      http = urllib3.PoolManager(
          timeout=urllib3.Timeout(connect=5.0, read=30.0),
          retries=False,
      )
      
      # Initialize Storage client
      storage_client = storage.Client()
      
      # Environment variables
      GCS_BUCKET = os.environ.get('GCS_BUCKET')
      GCS_PREFIX = os.environ.get('GCS_PREFIX', 'forcepoint-casb')
      STATE_KEY = os.environ.get('STATE_KEY', 'forcepoint-casb/state.json')
      API_BASE = os.environ.get('API_BASE')
      API_TOKEN = os.environ.get('API_TOKEN')
      MAX_RECORDS = int(os.environ.get('MAX_RECORDS', '5000'))
      PAGE_SIZE = int(os.environ.get('PAGE_SIZE', '500'))
      LOOKBACK_HOURS = int(os.environ.get('LOOKBACK_HOURS', '24'))
      
      def parse_datetime(value: str) -> datetime:
          """Parse ISO datetime string to datetime object."""
          if value.endswith("Z"):
              value = value[:-1] + "+00:00"
          return datetime.fromisoformat(value)
      
      @functions_framework.cloud_event
      def main(cloud_event):
          """
          Cloud Run function triggered by Pub/Sub to fetch Forcepoint ONE CASB logs
          and write to GCS.
      
          Args:
              cloud_event: CloudEvent object containing Pub/Sub message
          """
      
          if not all([GCS_BUCKET, API_BASE, API_TOKEN]):
              print('Error: Missing required environment variables')
              return
      
          try:
              # Get GCS bucket
              bucket = storage_client.bucket(GCS_BUCKET)
      
              # Load state
              state = load_state(bucket, STATE_KEY)
      
              # Determine time window
              now = datetime.now(timezone.utc)
              last_time = None
      
              if isinstance(state, dict) and state.get("last_event_time"):
                  try:
                      last_time = parse_datetime(state["last_event_time"])
                      # Overlap by 2 minutes to catch any delayed events
                      last_time = last_time - timedelta(minutes=2)
                  except Exception as e:
                      print(f"Warning: Could not parse last_event_time: {e}")
      
              if last_time is None:
                  last_time = now - timedelta(hours=LOOKBACK_HOURS)
      
              print(f"Fetching logs from {last_time.isoformat()} to {now.isoformat()}")
      
              # Fetch logs
              records, newest_event_time = fetch_logs(
                  api_base=API_BASE,
                  api_token=API_TOKEN,
                  start_time=last_time,
                  end_time=now,
                  page_size=PAGE_SIZE,
                  max_records=MAX_RECORDS,
              )
      
              if not records:
                  print("No new log records found.")
                  save_state(bucket, STATE_KEY, now.isoformat())
                  return
      
              # Write to GCS as NDJSON
              timestamp = now.strftime('%Y%m%d_%H%M%S')
              object_key = f"{GCS_PREFIX}/logs_{timestamp}.ndjson"
              blob = bucket.blob(object_key)
      
              ndjson = '\n'.join([json.dumps(record, ensure_ascii=False) for record in records]) + '\n'
              blob.upload_from_string(ndjson, content_type='application/x-ndjson')
      
              print(f"Wrote {len(records)} records to gs://{GCS_BUCKET}/{object_key}")
      
              # Update state with newest event time
              if newest_event_time:
                  save_state(bucket, STATE_KEY, newest_event_time)
              else:
                  save_state(bucket, STATE_KEY, now.isoformat())
      
              print(f"Successfully processed {len(records)} records")
      
          except Exception as e:
              print(f'Error processing logs: {str(e)}')
              raise
      
      def load_state(bucket, key):
          """Load state from GCS."""
          try:
              blob = bucket.blob(key)
              if blob.exists():
                  state_data = blob.download_as_text()
                  return json.loads(state_data)
          except Exception as e:
              print(f"Warning: Could not load state: {e}")
      
          return {}
      
      def save_state(bucket, key, last_event_time_iso: str):
          """Save the last event timestamp to GCS state file."""
          try:
              state = {'last_event_time': last_event_time_iso}
              blob = bucket.blob(key)
              blob.upload_from_string(
                  json.dumps(state, indent=2),
                  content_type='application/json'
              )
              print(f"Saved state: last_event_time={last_event_time_iso}")
          except Exception as e:
              print(f"Warning: Could not save state: {e}")
      
      def fetch_logs(api_base: str, api_token: str, start_time: datetime, end_time: datetime, page_size: int, max_records: int):
          """
          Fetch logs from Forcepoint ONE CASB API with pagination and rate limiting.
      
          Args:
              api_base: Forcepoint ONE API base URL
              api_token: API access token
              start_time: Start time for log query
              end_time: End time for log query
              page_size: Number of records per page
              max_records: Maximum total records to fetch
      
          Returns:
              Tuple of (records list, newest_event_time ISO string)
          """
          base_url = api_base.rstrip('/')
          endpoint = f"{base_url}/api/v1/logs/access"
      
          headers = {
              'Authorization': f'Bearer {api_token}',
              'Accept': 'application/json',
              'Content-Type': 'application/json',
              'User-Agent': 'GoogleSecOps-ForcepointCASBCollector/1.0'
          }
      
          records = []
          newest_time = None
          page_num = 0
          backoff = 1.0
          start_index = 0
      
          start_iso = start_time.strftime('%Y-%m-%dT%H:%M:%SZ')
          end_iso = end_time.strftime('%Y-%m-%dT%H:%M:%SZ')
      
          while True:
              page_num += 1
      
              if len(records) >= max_records:
                  print(f"Reached max_records limit ({max_records})")
                  break
      
              current_limit = min(page_size, max_records - len(records))
              url = f"{endpoint}?startDate={start_iso}&endDate={end_iso}&offset={start_index}&limit={current_limit}"
      
              try:
                  response = http.request('GET', url, headers=headers)
      
                  # Handle rate limiting with exponential backoff
                  if response.status == 429:
                      retry_after = int(response.headers.get('Retry-After', str(int(backoff))))
                      print(f"Rate limited (429). Retrying after {retry_after}s...")
                      time.sleep(retry_after)
                      backoff = min(backoff * 2, 30.0)
                      continue
      
                  backoff = 1.0
      
                  if response.status != 200:
                      print(f"HTTP Error: {response.status}")
                      response_text = response.data.decode('utf-8')
                      print(f"Response body: {response_text}")
                      return [], None
      
                  data = json.loads(response.data.decode('utf-8'))
      
                  page_results = data.get('data', [])
      
                  if not page_results:
                      print(f"No more results (empty page)")
                      break
      
                  print(f"Page {page_num}: Retrieved {len(page_results)} events")
                  records.extend(page_results)
      
                  # Track newest event time
                  for event in page_results:
                      try:
                          event_time = event.get('timestamp') or event.get('created_at')
                          if event_time:
                              if newest_time is None or parse_datetime(event_time) > parse_datetime(newest_time):
                                  newest_time = event_time
                      except Exception as e:
                          print(f"Warning: Could not parse event time: {e}")
      
                  # Check for more results
                  if len(page_results) < current_limit:
                      print(f"Reached last page (size={len(page_results)} < limit={current_limit})")
                      break
      
                  start_index += len(page_results)
      
              except Exception as e:
                  print(f"Error fetching logs: {e}")
                  return [], None
      
          print(f"Retrieved {len(records)} total records from {page_num} pages")
          return records, newest_time
      
    • requirements.txt:

      functions-framework==3.*
      google-cloud-storage==2.*
      urllib3>=2.0.0
      
  3. לוחצים על Deploy כדי לשמור ולפרוס את הפונקציה.

  4. מחכים שהפריסה תסתיים (2-3 דקות).

יצירת משימה ב-Cloud Scheduler

‫Cloud Scheduler יפרסם הודעות בנושא Pub/Sub במרווחי זמן קבועים, ויפעיל את פונקציית Cloud Run.

  1. במסוף GCP, נכנסים ל-Cloud Scheduler.
  2. לוחצים על Create Job.
  3. ממלאים את פרטי ההגדרה הבאים:

    הגדרה ערך
    שם forcepoint-casb-collector-hourly
    אזור בוחרים את אותו אזור כמו של פונקציית Cloud Run.
    תדירות ‫0 * * * * (כל שעה, בשעה עגולה)
    אזור זמן בחירת אזור זמן (מומלץ לבחור ב-UTC)
    סוג היעד Pub/Sub
    נושא בחירת forcepoint-casb-trigger
    גוף ההודעה ‫{} (אובייקט JSON ריק)
  4. לוחצים על יצירה.

אפשרויות לתדירות התזמון

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

תדירות ביטוי Cron תרחיש לדוגמה
כל 5 דקות */5 * * * * נפח גבוה, זמן אחזור נמוך
כל 15 דקות */15 * * * * נפח חיפושים בינוני
כל שעה 0 * * * * רגיל (מומלץ)
כל 6 שעות 0 */6 * * * נפח נמוך, עיבוד ברצף (batch processing)
יומי 0 0 * * * איסוף נתונים היסטוריים

בדיקת השילוב

  1. במסוף Cloud Scheduler, מוצאים את המשימה (forcepoint-casb-collector-hourly).
  2. לוחצים על Force run כדי להפעיל את המשימה באופן ידני.
  3. מחכים כמה שניות.
  4. נכנסים לדף Cloud Run > Services.
  5. לוחצים על forcepoint-casb-collector.
  6. לוחצים על הכרטיסייה Logs.
  7. מוודאים שהפונקציה בוצעה בהצלחה. חפשו את:

    Fetching logs from YYYY-MM-DDTHH:MM:SS+00:00 to YYYY-MM-DDTHH:MM:SS+00:00
    Page 1: Retrieved X events
    Wrote X records to gs://forcepoint-casb-logs/forcepoint-casb/logs_YYYYMMDD_HHMMSS.ndjson
    Successfully processed X records
    
  8. נכנסים לדף Cloud Storage > Buckets.

  9. לוחצים על שם הקטגוריה (forcepoint-casb-logs).

  10. עוברים לתיקייה forcepoint-casb/.

  11. מוודאים שנוצר קובץ .ndjson חדש עם חותמת הזמן הנוכחית.

אם מופיעות שגיאות ביומנים:

  • ‫HTTP 401: בודקים את טוקן ה-API במשתני הסביבה.
  • ‫HTTP 403: מוודאים שלחשבון יש את ההרשאות הנדרשות בפורטל Forcepoint ONE.
  • ‫HTTP 429: הגבלת קצב של יצירת בקשות – הפונקציה תנסה שוב באופן אוטומטי עם השהיה לפני ניסיון חוזר.
  • משתני סביבה חסרים: ודאו שכל המשתנים הנדרשים מוגדרים.

אחזור של חשבון השירות של Google SecOps

מערכת Google SecOps משתמשת בחשבון שירות ייחודי כדי לקרוא נתונים מהקטגוריה שלכם ב-GCS. אתם צריכים לתת לחשבון השירות הזה גישה לקטגוריה שלכם.

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

  1. עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
  2. לוחצים על הוספת פיד חדש.
  3. לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Forcepoint CASB Logs).
  5. בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
  6. בוחרים באפשרות Forcepoint CASB בתור סוג היומן.
  7. לוחצים על Get Service Account (קבלת חשבון שירות). תוצג כתובת אימייל ייחודית של חשבון שירות, לדוגמה:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. מעתיקים את כתובת האימייל הזו כדי להשתמש בה בשלב הבא.

  9. לוחצים על הבא.

  10. מציינים ערכים לפרמטרים הבאים של הקלט:

    • כתובת ה-URL של קטגוריית האחסון: מזינים את ה-URI של קטגוריית GCS עם נתיב הקידומת:

      gs://forcepoint-casb-logs/forcepoint-casb/
      
    • אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה המועדפת:

      • Never: אף פעם לא למחוק קבצים אחרי העברות (מומלץ לבדיקה).
      • מחיקת קבצים שהועברו: מחיקת קבצים אחרי שהם הועברו בהצלחה.
      • מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת.
    • גיל הקובץ המקסימלי: כולל קבצים ששונו במספר הימים האחרונים (ברירת המחדל היא 180 ימים).

    • מרחב השמות של הנכס: מרחב השמות של הנכס.

    • תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה.

  11. לוחצים על הבא.

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

מתן הרשאות IAM לחשבון השירות של Google SecOps

לחשבון השירות של Google SecOps צריך להיות התפקיד צפייה באובייקט אחסון בקטגוריה של GCS.

  1. נכנסים לדף Cloud Storage > Buckets.
  2. לוחצים על שם הקטגוריה (forcepoint-casb-logs).
  3. עוברים לכרטיסייה Permissions.
  4. לוחצים על הענקת גישה.
  5. מזינים את פרטי ההגדרה הבאים:
    • הוספת חשבונות משתמשים: מדביקים את כתובת האימייל של חשבון השירות של Google SecOps.
    • הקצאת תפקידים: בוחרים באפשרות צפייה באובייקטים באחסון.
  6. לוחצים על Save.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
extensions extensions שינוי שם/מיפוי
request extensions.auth.auth_details מיפוי ישיר
intermediary intermediary ממוזג
smb_host intermediary.hostname מיפוי ישיר
smb_uid intermediary.user.userid מיפוי ישיר
metadata metadata שינוי שם/מיפוי
msg metadata.description מיפוי ישיר
event_name metadata.product_event_type מיפוי ישיר
event_type metadata.product_event_type מיפוי ישיר
value metadata.product_name מיפוי ישיר
product metadata.vendor_name מיפוי ישיר
network network שינוי שם/מיפוי
requestClientApplication network.http.user_agent מיפוי ישיר
principal principal שינוי שם/מיפוי
ahost principal.hostname מיפוי ישיר
agt principal.ip ממוזג
atz principal.location.country_or_region מיפוי ישיר
amac principal.mac ממוזג
sourceServiceName principal.platform_version מיפוי ישיר
av_label principal.resource.attribute.labels ממוזג
aid principal.resource.id מיפוי ישיר
at principal.resource.name מיפוי ישיר
agentZoneURI principal.url מיפוי ישיר
cs1 principal.user.email_addresses ממוזג
suid principal.user.userid מיפוי ישיר
security_result security_result ממוזג
action security_result.action ממוזג
msg security_result.summary מיפוי ישיר
src_label src שינוי שם/מיפוי
target target שינוי שם/מיפוי
dvchost target.hostname מיפוי ישיר
dvc target.ip ממוזג
deviceProcessName target.resource.name מיפוי ישיר
deviceZoneURI target.url מיפוי ישיר
לא רלוונטי extensions.auth.type קבוע: SSO
לא רלוונטי intermediary קבוע: intermediary
לא רלוונטי metadata.event_type קבוע: USER_RESOURCE_ACCESS
לא רלוונטי principal.ip קבוע: agt
לא רלוונטי principal.mac קבוע: amac
לא רלוונטי principal.platform קבוע: WINDOWS
לא רלוונטי principal.resource.attribute.labels קבוע: av_label
לא רלוונטי principal.user.email_addresses קבוע: cs1
לא רלוונטי security_result קבוע: security_result
לא רלוונטי security_result.action קבוע: action
לא רלוונטי target.ip קבוע: dvc

יומן שינויים

הצגת יומן השינויים של המנתח הזה

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.