איסוף יומני כניסה של Microsoft Entra ID (לשעבר Azure Active Directory)

גרסת מנתח הנתונים: 26.0

נתמך ב:

במאמר הזה מוסבר איך לאסוף יומני כניסה של Microsoft Entra ID (לשעבר Azure Active Directory) על ידי הגדרת פיד של Google Security Operations. אפשר להגדיר את ההעברה בשתי דרכים: Azure Event Hub (מומלץ) או API של צד שלישי.

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

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מופע של Google SecOps.
  • גישה עם הרשאות מיוחדות לפורטל Microsoft Azure.
  • תפקיד אדמין אבטחה או אדמין כללי ב-Microsoft Entra ID (נדרש להגדרות אבחון).
  • בשיטה של API של צד שלישי, אחת מההרשאות הבאות למתן הסכמת אדמין:
    • אדמין כללי: יכול לתת הסכמה לכל הרשאה, לכל API.
    • אדמין עם הרשאות מיוחדות לניהול תפקידים: יכול להעניק הסכמה לכל הרשאה, לכל API.
    • אדמין של אפליקציות בענן: יכול להעניק הסכמה לכל הרשאה לכל API, חוץ מתפקידי אפליקציה (הרשאות אפליקציה) של Microsoft Graph.

בשיטה הזו, יומני הכניסה של Microsoft Entra ID מועברים בסטרימינג דרך Azure Event Hub באמצעות הגדרות אבחון. ‫Google SecOps קולט את היומנים ישירות מ-Event Hub באמצעות סוג הפיד Azure Event Hub.

יצירת מרחב שמות של Event Hub

מרחב שמות של Event Hub הוא מאגר ניהול של Event Hub אחד או יותר.

  1. ב-Azure portal, מחפשים את Event Hubs.
  2. לוחצים על ‎+ Create.
  3. מזינים את פרטי ההגדרה הבאים:

    הגדרה ערך
    מינוי בוחרים את המינוי ל-Azure
    קבוצת משאבים בוחרים באפשרות 'קיים' או 'יצירה של קהל חדש'
    שם מרחב השמות מזינים שם ייחודי (לדוגמה, secops-entraid-signin).
    Location בחירת האזור שהכי קרוב לדייר Microsoft Entra
    רמת מחיר רגיל (מומלץ לשימוש בסביבת ייצור)
    יחידות של נפח נתונים מתחילים עם 1, מפעילים את ההגדלה האוטומטית (מומלץ)
  4. לוחצים על בדיקה + יצירה.

  5. בודקים את הסקירה ולוחצים על יצירה.

  6. ממתינים עד שהפריסה תושלם (דקה או שתיים).

יצירת מרכז אירועים

  1. אחרי פריסת מרחב השמות, עוברים למרחב השמות של Event Hub.
  2. בחלונית הימנית, בוחרים באפשרות Event Hubs (מרכזי אירועים) בקטע Entities (ישויות).
  3. לוחצים על + Event Hub (מרכז אירועים).
  4. מזינים את פרטי ההגדרה הבאים:

    הגדרה ערך
    שם מזינים שם ייחודי (לדוגמה, entraid-signin-logs).
    מספר המחיצות 40 (מומלץ לאופטימיזציה של ההתאמה של Google SecOps)
    שמירת הודעות 7 ימים (מומלץ לפחות)
    Capture מושבת (לא נדרש ל-Google SecOps)
  5. לוחצים על יצירה.

קבלת מחרוזת חיבור של Event Hub

כדי לבצע אימות ל-Event Hub, צריך מחרוזת חיבור ל-Google SecOps.

  1. עוברים אל מרחב השמות של Event Hub.
  2. בתפריט הניווט הימני, בוחרים באפשרות מדיניות גישה משותפת בקטע הגדרות.
  3. לוחצים על מדיניות ברירת המחדל RootManageSharedAccessKey.
  4. מעתיקים את מחרוזת החיבור – מפתח ראשי.
  5. חשוב לשמור את מחרוזת החיבור הזו באופן מאובטח.
  • דוגמה:

    Original: Endpoint=sb://secops-entraid-signin.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==;EntityPath=entraid-signin-logs
    
    Remove EntityPath: Endpoint=sb://secops-entraid-signin.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==
    

אפשרות ב': מחרוזת חיבור ברמת Event Hub

  1. עוברים אל מרכז האירועים (לא אל מרחב השמות).
  2. בתפריט הניווט הימני, בוחרים באפשרות מדיניות גישה משותפת בקטע הגדרות.
  3. לוחצים על + הוספה כדי ליצור מדיניות חדשה.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם המדיניות: מזינים שם תיאורי (לדוגמה, chronicle-read)
    • הרשאות: בוחרים באפשרות האזנה בלבד (גישה לקריאה בלבד)
  5. לוחצים על יצירה.
  6. לוחצים על המדיניות החדשה שיצרתם.
  7. מעתיקים את מחרוזת החיבור – מפתח ראשי.
  8. חשוב לשמור את מחרוזת החיבור הזו באופן מאובטח.

הגדרת הגדרות אבחון ב-Microsoft Entra ID

  1. נכנסים אל מרכז הניהול של Microsoft Entra לפחות בתור אדמין אבטחה.
  2. עוברים אל Entra ID > Monitoring & health > Diagnostic settings (ניטור ובדיקת תקינות > הגדרות אבחון).
  3. לוחצים על + הוספת הגדרת אבחון.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם הגדרת האבחון: מזינים שם תיאורי (לדוגמה, signin-logs-to-eventhub).
    • בקטע יומנים, בוחרים את הקטגוריות של יומני הכניסה שרוצים לייצא:
      • SignInLogs: כניסות אינטראקטיביות של משתמשים.
      • NonInteractiveUserSignInLogs: כניסות של משתמשים לא אינטראקטיביים (מומלץ).
      • ServicePrincipalSignInLogs: כניסות של חשבונות ראשיים של שירותים (אופציונלי).
      • ManagedIdentitySignInLogs: כניסות של זהויות מנוהלות (אופציונלי).
      • ADFSSignInLogs: יומני כניסה ל-AD FS (אופציונלי, אם נעשה שימוש ב-AD FS).
      • RiskyUsers: משתמשים שסומנו כסיכון על ידי Microsoft Entra ID Protection (אופציונלי).
      • UserRiskEvents: פרטים על אירועי כניסה מסוכנים (אופציונלי).
    • בקטע פרטי יעד, בוחרים באפשרות הזרמה למרכז אירועים.
    • מינוי: בוחרים את המינוי שמכיל את מרחב השמות של Event Hub.
    • מרחב שמות של Event Hub: בוחרים את מרחב השמות שיצרתם (למשל, secops-entraid-signin).
    • שם של מרכז אירועים: בוחרים את מרכז האירועים שיצרתם (לדוגמה, entraid-signin-logs).
    • שם המדיניות של מרכז האירועים: בוחרים באפשרות RootManageSharedAccessKey.
  5. לוחצים על Save.

(אופציונלי) הגדרת Azure Blob Storage ליצירת נקודות ביקורת

‫Google SecOps יכול להשתמש ב-Azure Blob Storage כדי לאחסן נקודות ביקורת של Event Hub, שמאפשרות לעקוב אחרי האירועים שעברו עיבוד. כך נמנעת הטמעה כפולה אם יש הפרעה זמנית לפיד.

יצירת חשבון אחסון לנקודות ביקורת

  1. ב-Azure portal, מחפשים Storage accounts.
  2. לוחצים על ‎+ Create.
  3. מזינים את פרטי ההגדרה הבאים:

    הגדרה ערך
    מינוי בוחרים את המינוי ל-Azure
    קבוצת משאבים שימוש באותה קבוצת משאבים כמו Event Hub
    שם חשבון האחסון מזינים שם ייחודי (לדוגמה, secopsaadsignin).
    אזור אותו אזור כמו Event Hub
    ביצועים רגילה
    יתירות LRS (Locally redundant storage)
  4. לוחצים על בדיקה + יצירה.

  5. לוחצים על יצירה.

יצירת קונטיינר Blob

  1. עוברים לחשבון האחסון שיצרתם.
  2. בתפריט הניווט הימני, בקטע אחסון נתונים, בוחרים באפשרות מאגרי תגים.
  3. לוחצים על + מאגר תגים.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם: מזינים checkpoints
    • רמת הגישה הציבורית: פרטית (אין גישה אנונימית)
  5. לוחצים על יצירה.

קבלת פרטי כניסה לחשבון אחסון

  1. בחשבון האחסון, בוחרים באפשרות מפתחות גישה בקטע אבטחה + רשת.
  2. לוחצים על הצגת המקשים.
  3. העתקה ושמירה:
    • שם חשבון האחסון: השם של חשבון האחסון.
    • מפתח 1: ערך מפתח הגישה.

(אופציונלי) יצירת קבוצת צרכנים ייעודית

כברירת מחדל, Event Hub מספק קבוצת צרכנים בשם $Default. בסביבות ייצור, מומלץ ליצור קבוצת צרכנים ייעודית ל-Google SecOps.

  1. עוברים אל מרכז האירועים (לא אל מרחב השמות).
  2. בתפריט הניווט הימני, בוחרים באפשרות קבוצות צרכנים בקטע ישויות.
  3. לוחצים על + קבוצת צרכנים.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם: מזינים שם תיאורי (לדוגמה, chronicle)
  5. לוחצים על יצירה.

הגדרת פיד ב-Google SecOps להטמעה של יומני כניסה של Microsoft Entra ID

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Microsoft Entra ID Sign-In Logs - Event Hub).
  5. בוחרים באפשרות Microsoft Azure Event Hub בתור סוג המקור.
  6. בוחרים באפשרות Microsoft Azure AD בתור סוג היומן.
  7. לוחצים על הבא.
  8. מציינים ערכים לפרמטרים הבאים של הקלט:

    • מחרוזת חיבור של Event Hub: מזינים את מחרוזת החיבור של Event Hub ששמרתם קודם.

    אם משתמשים במחרוזת חיבור ברמת מרחב השמות:

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

    אם משתמשים במחרוזת חיבור ברמת מרכז האירועים:

    • משתמשים במחרוזת החיבור כמו שהיא (כולל EntityPath).
    • אפשר להשאיר את השדה Event hub name (שם מרכז האירועים) ריק.

      • שם מרכז האירועים: מזינים את שם מרכז האירועים (לדוגמה, entraid-signin-logs).

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

    • קבוצת צרכנים (אופציונלי): מזינים את שם קבוצת הצרכנים.

    • כדי להשתמש בברירת המחדל של קבוצת הצרכנים $Default, משאירים את השדה ריק.

    • אם יצרתם קבוצת צרכנים ייעודית, מזינים את השם שלה (לדוגמה, chronicle).

    • שם מאגר Blob Storage (אופציונלי): כדי ליצור נקודת ביקורת, מזינים את שם המאגר (לדוגמה, checkpoints).

    אם מספקים אחסון Blob לנקודות ביקורת:

    • שם חשבון אחסון ב-Azure: מזינים את שם חשבון האחסון מתוך הגדרת יצירת נקודות ביקורת.
    • מפתח של חשבון אחסון ב-Azure: מזינים את מפתח הגישה מהגדרת יצירת נקודות ביקורת.

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

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

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

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

שיטה 2: API של צד שלישי

בשיטה הזו נעשה שימוש ב-Microsoft Graph API כדי לאחזר יומני כניסה של Microsoft Entra ID ישירות מהדייר שלכם ב-Microsoft.

הגדרה של רשימת היתרים של כתובות IP

לפני שיוצרים את הפיד, צריך להוסיף לרשימת ההיתרים את טווחי כתובות ה-IP של Google SecOps בהגדרות הרשת של Microsoft Azure או במדיניות הגישה המותנית.

קבלת טווחי כתובות IP של Google SecOps

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. שימו לב לטווח כתובות ה-IP שמוצג בממשק ליצירת פידים.
  4. אפשר גם לאחזר טווחים של כתובות IP באופן פרוגרמטי באמצעות Feed Management API.

הגדרת גישה מותנית לזהויות של עומסי עבודה (אם נדרש)

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

  1. במרכז הניהול של Microsoft Entra, עוברים אל הגנה > גישה מותנית > מיקומים עם שמות.
  2. לוחצים על + מיקום חדש.
  3. מזינים את פרטי ההגדרה הבאים:
    • שם: מזינים Google SecOps IP Ranges.
    • סימון כמיקום מהימן: אופציונלי, בהתאם למדיניות האבטחה שלכם.
    • טווחים של כתובות IP: מוסיפים כל טווח של כתובות IP של Google SecOps בסימון CIDR.
  4. לוחצים על יצירה.
  5. עוברים אל גישה מותנית > מדיניות.
  6. לכל כללי המדיניות שחלים על זהויות של עומסי עבודה, צריך להגדיר החרגה למיקום בעל שם Google SecOps IP Ranges או למנהל השירות הספציפי.

הגדרת גישה ל-API של Microsoft Entra ID

יצירת רישום אפליקציה

  1. נכנסים אל מרכז הניהול של Microsoft Entra או אל Azure portal.
  2. עוברים אל Identity > Applications > App registrations.
  3. לוחצים על New registration.
  4. מזינים את פרטי ההגדרה הבאים:

    • שם: מזינים שם תיאורי (לדוגמה, Google SecOps Sign-In Logs Integration).
    • Supported account types (סוגי חשבונות נתמכים): בוחרים באפשרות Accounts in this organizational directory only (Single tenant) (חשבונות רק בספרייה הארגונית הזו (דייר יחיד)).
    • מזהה משאבים אחיד (URI) להפניה אוטומטית: משאירים את השדה ריק (לא נדרש לאימות של חשבון שירות).
  5. לוחצים על הרשמה.

  6. אחרי ההרשמה, מעתיקים ושומרים את הערכים הבאים:

    • מזהה אפליקציה (לקוח)
    • מזהה ספרייה (דייר)

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

השילוב דורש את הרשאות האפליקציה הבאות של Microsoft Graph:

  1. ברישום האפליקציה, עוברים אל הרשאות API.
  2. לוחצים על הוספת הרשאה.
  3. בוחרים באפשרות Microsoft Graph > הרשאות לאפליקציה.
  4. בוחרים את ההרשאות הבאות:
    • AuditLog.Read.All: נדרשת כדי לקרוא יומני כניסה.
    • Directory.Read.All: נדרשת על ידי Microsoft Graph API לגישה ליומן הכניסה (בעיה ידועה).
    • SecurityEvents.Read.All: נדרש על ידי Google Security Operations.
  5. לוחצים על הוספת הרשאות.
  6. לוחצים על Grant admin consent for [Your Organization] (מתן הסכמת אדמין ל[שם הארגון]).
  7. מוודאים שבעמודה סטטוס מופיע הערך הוענקה ל[שם הארגון] עבור כל שלוש ההרשאות.
הרשאה סוג תיאור
AuditLog.Read.All בקשת הצטרפות קריאה של כל נתוני הכניסה ויומני הביקורת
Directory.Read.All בקשת הצטרפות קריאת נתונים בספרייה (נדרש לגישה ל-API)
SecurityEvents.Read.All בקשת הצטרפות קריאת אירועי אבטחה

יצירת סוד לקוח

  1. עוברים אל Certificates & secrets.
  2. לוחצים על New client secret (סוד לקוח חדש).
  3. מזינים את פרטי ההגדרה הבאים:

    • תיאור: מזינים שם תיאורי (לדוגמה, Google SecOps Feed).
    • תפוגה: בוחרים תקופת תפוגה.
  4. לוחצים על הוספה.

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

אימות גישה ל-API לפני יצירת פיד

לפני שיוצרים את הפיד של Google SecOps, צריך לוודא שהחשבון הראשי של השירות יכול לבצע אימות ולגשת ל-Microsoft Graph API.

  • בדיקת האימות באמצעות PowerShell

    # Replace with your actual values
    $tenantId = "your-tenant-id"
    $clientId = "your-client-id"
    $clientSecret = "your-client-secret"
    
    # Token request parameters (must be lowercase)
    $tokenBody = @{
        grant_type    = "client_credentials"
        client_id     = $clientId
        client_secret = $clientSecret
        scope         = "https://graph.microsoft.com/.default"
    }
    
    # Request access token
    $tokenEndpoint = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token"
    $tokenResponse = Invoke-RestMethod -Method Post -Uri $tokenEndpoint -Body $tokenBody -ContentType "application/x-www-form-urlencoded"
    
    if ($tokenResponse.access_token) {
        Write-Host "✓ Successfully obtained access token" -ForegroundColor Green
    
        # Test API call to sign-ins endpoint
        $apiUrl = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$top=1"
        $headers = @{
            Authorization = "Bearer $($tokenResponse.access_token)"
        }
    
        try {
            $signInResponse = Invoke-RestMethod -Method Get -Uri $apiUrl -Headers $headers
            Write-Host "✓ Successfully accessed sign-ins API" -ForegroundColor Green
            Write-Host "Sample sign-in log retrieved successfully" -ForegroundColor Green
        }
        catch {
            Write-Host "✗ Failed to access sign-ins API" -ForegroundColor Red
            Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red
        }
    }
    else {
        Write-Host "✗ Failed to obtain access token" -ForegroundColor Red
    }
    
    • הפלט אמור להיראות כך:

      ✓ Successfully obtained access token
      ✓ Successfully accessed sign-ins API
      Sample sign-in log retrieved successfully
      
  • בדיקת האימות באמצעות curl

    # Replace with your actual values
    TENANT_ID="your-tenant-id"
    CLIENT_ID="your-client-id"
    CLIENT_SECRET="your-client-secret"
    
    # Request access token
    curl -X POST "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "grant_type=client_credentials" \
    -d "client_id=$CLIENT_ID" \
    -d "client_secret=$CLIENT_SECRET" \
    -d "scope=https://graph.microsoft.com/.default"
    
    # Test API access
    curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    "https://graph.microsoft.com/v1.0/auditLogs/signIns?\$top=1"
    

הגדרת פיד ב-Google SecOps להטמעה של יומני כניסה של Microsoft Entra ID

הגדרת הפיד

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Microsoft Entra ID Sign-In Logs).
  5. בוחרים באפשרות Third party API (API של צד שלישי) בתור Source type (סוג המקור).
  6. בוחרים באפשרות Microsoft Azure AD בתור סוג היומן.
  7. לוחצים על הבא.

הגדרת פרמטרים של פיד

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

  • מזהה לקוח ב-OAuth: מזהה האפליקציה (הלקוח) מרישום האפליקציה.
  • הסוד של לקוח OAuth: הערך של סוד הלקוח שהעתקתם קודם.
  • מזהה הדייר: מזהה הדייר שלכם במיקרוסופט מרישום האפליקציה (בפורמט UUID, למשל, 0fc279f9-fe30-41be-97d3-abe1d7681418).
  • נתיב מלא של API: כתובת URL של נקודת קצה ל-API בארכיטקטורת REST של Microsoft Graph:

    graph.microsoft.com/v1.0/auditLogs/signIns
    
  • נקודת קצה לאימות API: נקודת קצה לאימות של Microsoft Active Directory:

    login.microsoftonline.com
    
  • אפשרויות מתקדמות:

    • שם הפיד: ערך שמולא מראש ומזהה את הפיד.
    • סוג המקור: API של צד שלישי (מנגנון לאיסוף היומנים ב-Google SecOps).
    • מרחב השמות של הנכס: מרחב השמות של הנכס שהפיד ישויך אליו.
    • תוויות של העברה: התוויות יתווספו לכל האירועים מהפיד הזה.
  1. לוחצים על הבא.
  2. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.

נקודות קצה אזוריות

בפריסות של Microsoft Entra ID בעננים ריבוניים, משתמשים בנקודות הקצה האזוריות המתאימות:

סביבת הענן נתיב מלא של API נקודת קצה לאימות API
גלובלי graph.microsoft.com/v1.0/auditLogs/signIns login.microsoftonline.com
US Government L4 graph.microsoft.us/v1.0/auditLogs/signIns login.microsoftonline.us
US Government L5 (DOD) dod-graph.microsoft.us/v1.0/auditLogs/signIns login.microsoftonline.us
סין (21Vianet) microsoftgraph.chinacloudapi.cn/v1.0/auditLogs/signIns login.chinacloudapi.cn

טבלת מיפוי UDM

שדה היומן מיפוי UDM לוגיקה
activityDateTime principal.event_timestamp מנותח מהשדה activityDateTime. אם השדה לא בפורמט הנדרש yyyy-MM-ddTHH:mm:ss.SSSZ או בפורמט ISO8601, מנתח התוכן ינסה פורמטים אחרים כמו MM/dd/yyyy HH:mm:ss A או MM/d/yyyy HH:mm:ss A.
activityDisplayName security_result.summary מיפוי ישיר מ-activityDisplayName.
additionalDetails.0.value network.http.user_agent מיפוי ישיר מ-additionalDetails.0.value.
additionalDetails.1.key target.resource.attribute.labels.key מיפוי ישיר מ-additionalDetails.1.key.
additionalDetails.1.value target.resource.attribute.labels.value מיפוי ישיר מ-additionalDetails.1.value.
additionalInfo.[].Key network.http.user_agent, target.url אם Key הוא userAgent, ממפים את Value אל network.http.user_agent ואל network.http.parsed_user_agent. אם Key הוא alertUrl, ממפים את Value ל-target.url.
additionalInfo.[].Value network.http.user_agent, target.url אם Key הוא userAgent, ממפים את Value אל network.http.user_agent ואל network.http.parsed_user_agent. אם Key הוא alertUrl, ממפים את Value ל-target.url.
am_category metadata.description מיפוי ישיר מ-am_category.
am_tenantId metadata.product_deployment_id מיפוי ישיר מ-am_tenantId.
appId target.resource.attribute.labels.value ממופה ישירות מ-appId עם מפתח התווית 'מזהה אפליקציה'.
appDisplayName target.application מיפוי ישיר מ-appDisplayName.
appliedConditionalAccessPolicies.[].displayName security_result.[].rule_name, about.[].user.user_display_name מיפוי ישיר מ-appliedConditionalAccessPolicies.[].displayName.
appliedConditionalAccessPolicies.[].enforcedGrantControls security_result.[].rule_labels.value מיפוי ישיר מ-appliedConditionalAccessPolicies.[].enforcedGrantControls עם מפתח התווית applied_conditional_access_policies_enforced_grant_controls.
appliedConditionalAccessPolicies.[].enforcedSessionControls security_result.[].rule_labels.value ממופה ישירות מ-appliedConditionalAccessPolicies.[].enforcedSessionControls עם מפתח התווית applied_conditional_access_policies_enforced_session_controls.
appliedConditionalAccessPolicies.[].id security_result.[].rule_id, about.[].user.userid מיפוי ישיר מ-appliedConditionalAccessPolicies.[].id.
appliedConditionalAccessPolicies.[].result security_result.[].detection_fields.value, about.[].labels.value מופה ישירות מ-appliedConditionalAccessPolicies.[].result עם מפתח התווית 'תוצאה'.
authenticationDetails.[].authenticationMethod security_result.[].detection_fields.value מופה ישירות מ-authenticationDetails.[].authenticationMethod עם מפתח התווית authenticationMethod.
authenticationDetails.[].authenticationMethodDetail security_result.[].detection_fields.value מופה ישירות מ-authenticationDetails.[].authenticationMethodDetail עם מפתח התווית authenticationMethodDetail.
authenticationDetails.[].authenticationStepDateTime security_result.[].detection_fields.value מופה ישירות מ-authenticationDetails.[].authenticationStepDateTime עם מפתח התווית authenticationStepDateTime.
authenticationDetails.[].authenticationStepRequirement security_result.[].detection_fields.value מופה ישירות מ-authenticationDetails.[].authenticationStepRequirement עם מפתח התווית authenticationStepRequirement.
authenticationDetails.[].authenticationStepResultDetail security_result.[].detection_fields.value מופה ישירות מ-authenticationDetails.[].authenticationStepResultDetail עם מפתח התווית authenticationStepResultDetail.
authenticationDetails.[].succeeded security_result.action אם הערך הוא true, הפונקציה מחזירה את ALLOW, אחרת היא מחזירה את BLOCK.
authenticationRequirement additional.fields.value.string_value מופה ישירות מ-authenticationRequirement עם מפתח התווית AuthenticationRequirement.
authenticationRequirementPolicies.[].detail security_result.detection_fields.value מופה ישירות מ-authenticationRequirementPolicies.[].detail עם מפתח התווית 'detail'.
authenticationRequirementPolicies.[].requirementProvider security_result.detection_fields.value מופה ישירות מ-authenticationRequirementPolicies.[].requirementProvider עם מפתח התווית requirementProvider.
callerIpAddress principal.ip, principal.asset.ip מיפוי ישיר מ-callerIpAddress.
category metadata.description מיפוי ישיר מ-category.
clientAppUsed principal.application מיפוי ישיר מ-clientAppUsed.
conditionalAccessStatus additional.fields.value.string_value מופה ישירות מ-conditionalAccessStatus עם מפתח התווית conditionalAccessStatus.
correlationId network.session_id, security_result.detection_fields.value מיפוי ישיר מ-correlationId. משמש גם כ-security_result.detection_fields.value עם מפתח התווית CorrelationId.
createdDateTime when השדה when נגזר מהשדה createdDateTime. התאריך והשעה מחולצים מהשדה createdDateTime באמצעות grok ואז משולבים ליצירת השדה when.
deviceDetail.browser network.http.user_agent מיפוי ישיר מ-deviceDetail.browser.
deviceDetail.deviceId principal.asset.asset_id, principal.asset_id מופה ישירות מ-deviceDetail.deviceId ומופיע עם הקידומת 'מזהה מכשיר:'.
deviceDetail.displayName principal.asset.hostname מיפוי ישיר מ-deviceDetail.displayName.
deviceDetail.isCompliant principal.asset.attribute.labels.value מופה ישירות מ-deviceDetail.isCompliant עם מפתח התווית isCompliant.
deviceDetail.isManaged principal.asset.attribute.labels.value מופה ישירות מ-deviceDetail.isManaged עם מפתח התווית isManaged.
deviceDetail.operatingSystem principal.platform_version מיפוי ישיר מ-deviceDetail.operatingSystem.
deviceDetail.trustType principal.asset.attribute.labels.value מופה ישירות מ-deviceDetail.trustType עם מפתח התווית trustType.
durationMs additional.fields.value.string_value מופה ישירות מ-durationMs עם מפתח התווית 'durationMs'.
event.id - לא ממופה בהתאם להוראות (נקודה 3).
id metadata.product_log_id מיפוי ישיר מ-id.
identity target.user.user_display_name ממופה ישירות מ-identity אם הוא שונה מ-userId והוא לא כתובת אימייל.
initiatedBy.user.displayName principal.user.user_display_name מיפוי ישיר מ-initiatedBy.user.displayName.
initiatedBy.user.id principal.user.userid, principal.user.windows_sid מיפוי ישיר מ-initiatedBy.user.id.
initiatedBy.user.ipAddress principal.ip, principal.asset.ip מיפוי ישיר מ-initiatedBy.user.ipAddress.
initiatedBy.user.userPrincipalName principal.user.email_addresses, principal.user.userid מיפוי ישיר מ-initiatedBy.user.userPrincipalName. אם זה כתובת אימייל, היא ממופה ל-email_addresses, אחרת היא ממופה ל-userid.
Level security_result.severity_details, level מיפוי ישיר מ-Level.
level security_result.severity_details, security_result.severity מיפוי ישיר מ-level. מופה גם ל-security_result.severity אחרי המרה לאותיות רישיות. טיפול מיוחד בערכים 'מידע', 'למידע בלבד', '0', '4', 'אזהרה', '1', '3', 'שגיאה', '2' ו'קריטי'.
location.city principal.location.city מיפוי ישיר מ-location.city.
location.countryOrRegion principal.location.country_or_region מיפוי ישיר מ-location.countryOrRegion.
location.geoCoordinates.altitude additional.fields.value.string_value מיפוי ישיר מ-location.geoCoordinates.altitude עם מפתח התווית 'location_geoCoordinates_altitude'.
location.geoCoordinates.latitude principal.location.region_latitude, principal.location.region_coordinates.latitude מיפוי ישיר מ-location.geoCoordinates.latitude.
location.geoCoordinates.longitude principal.location.region_longitude, principal.location.region_coordinates.longitude מיפוי ישיר מ-location.geoCoordinates.longitude.
location.state principal.location.state מיפוי ישיר מ-location.state.
location principal.location.name מיפוי ישיר מ-location.
log_type metadata.log_type מיפוי ישיר מ-log_type.
networkLocationDetails.[].networkNames additional.fields.value.string_value ערכים משורשרים מ-networkLocationDetails.[].networkNames עם מפתח התווית networkName {index}.
networkLocationDetails.[].networkType security_result.detection_fields.value, additional.fields.value.string_value מופה ישירות מ-networkLocationDetails.[].networkType עם מפתח התווית 'networkType'. משמש גם כ-additional.fields.value.string_value עם מפתח התווית 'networkType {index}'.
operationName event_type אם operationName הוא 'פעילות כניסה', אז USER_LOGIN. אם operationName הוא 'הוספת חבר לקבוצה', אז USER_CHANGE_PERMISSIONS.
operationType security_result.action_details מיפוי ישיר מ-operationType.
properties.activity security_result.summary מיפוי ישיר מ-properties.activity.
properties.activityDateTime when מנותח מהשדה properties.activityDateTime. אם השדה לא בפורמט הצפוי yyyy-MM-ddTHH:mm:ss.SSSZ או בפורמט ISO8601, מנתח התוכן ינסה פורמטים אחרים כמו MM/dd/yyyy HH:mm:ss A או MM/d/yyyy HH:mm:ss A.
properties.activityDisplayName security_result.summary מיפוי ישיר מ-properties.activityDisplayName.
properties.additionalInfo network.http.user_agent, target.url הערך מנותח כ-JSON, ואם המפתח הוא userAgent, הערך ממופה ל-network.http.user_agent ול-network.http.parsed_user_agent. אם המפתח הוא alertUrl, ממפים את הערך ל-target.url.
properties.appliedConditionalAccessPolicies.[].displayName security_result.[].rule_name מיפוי ישיר מ-properties.appliedConditionalAccessPolicies.[].displayName.
properties.appliedConditionalAccessPolicies.[].enforcedGrantControls security_result.[].rule_labels.value מיפוי ישיר מ-properties.appliedConditionalAccessPolicies.[].enforcedGrantControls עם מפתח התווית applied_conditional_access_policies_enforced_grant_controls.
properties.appliedConditionalAccessPolicies.[].enforcedSessionControls security_result.[].rule_labels.value ממופה ישירות מ-properties.appliedConditionalAccessPolicies.[].enforcedSessionControls עם מפתח התווית applied_conditional_access_policies_enforced_session_controls.
properties.appliedConditionalAccessPolicies.[].id security_result.[].rule_id מיפוי ישיר מ-properties.appliedConditionalAccessPolicies.[].id.
properties.appliedConditionalAccessPolicies.[].result security_result.[].detection_fields.value מופה ישירות מ-properties.appliedConditionalAccessPolicies.[].result עם מפתח התווית 'תוצאה'.
properties.appId appId מיפוי ישיר מ-properties.appId.
properties.appDisplayName target.application מיפוי ישיר מ-properties.appDisplayName.
properties.authenticationDetails.[].authenticationMethod security_result.detection_fields.value מופה ישירות מ-properties.authenticationDetails.[].authenticationMethod עם מפתח התווית authenticationMethod.
properties.authenticationDetails.[].authenticationMethodDetail security_result.detection_fields.value מופה ישירות מ-properties.authenticationDetails.[].authenticationMethodDetail עם מפתח התווית authenticationMethodDetail.
properties.authenticationDetails.[].authenticationStepDateTime security_result.detection_fields.value מופה ישירות מ-properties.authenticationDetails.[].authenticationStepDateTime עם מפתח התווית authenticationStepDateTime.
properties.authenticationDetails.[].authenticationStepRequirement security_result.detection_fields.value מופה ישירות מ-properties.authenticationDetails.[].authenticationStepRequirement עם מפתח התווית authenticationStepRequirement.
properties.authenticationDetails.[].authenticationStepResultDetail security_result.detection_fields.value מופה ישירות מ-properties.authenticationDetails.[].authenticationStepResultDetail עם מפתח התווית authenticationStepResultDetail.
properties.authenticationRequirement additional.fields.value.string_value מופה ישירות מ-properties.authenticationRequirement עם מפתח התווית AuthenticationRequirement.
properties.authenticationRequirementPolicies.[].detail security_result.detection_fields.value מופה ישירות מ-properties.authenticationRequirementPolicies.[].detail עם מפתח התווית 'detail'.
properties.authenticationRequirementPolicies.[].requirementProvider security_result.detection_fields.value מופה ישירות מ-properties.authenticationRequirementPolicies.[].requirementProvider עם מפתח התווית requirementProvider.
properties.clientAppUsed principal.application מיפוי ישיר מ-properties.clientAppUsed.
properties.conditionalAccessStatus additional.fields.value.string_value מופה ישירות מ-properties.conditionalAccessStatus עם מפתח התווית conditionalAccessStatus.
properties.crossTenantAccessType additional.fields.value.string_value מופה ישירות מ-properties.crossTenantAccessType עם מפתח התווית crossTenantAccessType.
properties.detectedDateTime additional.fields.value.string_value מופה ישירות מ-properties.detectedDateTime עם מפתח התווית 'detectedDateTime'.
properties.detectionTimingType additional.fields.value.string_value מופה ישירות מ-properties.detectionTimingType עם מפתח התווית detectionTimingType.
properties.homeTenantId additional.fields.value.string_value מופה ישירות מ-properties.homeTenantId עם מפתח התווית 'homeTenantId'.
properties.id metadata.product_log_id מיפוי ישיר מ-properties.id.
properties.initiatedBy.user.displayName principal.user.user_display_name מיפוי ישיר מ-properties.initiatedBy.user.displayName.
properties.initiatedBy.user.id principal.user.windows_sid מיפוי ישיר מ-properties.initiatedBy.user.id.
properties.initiatedBy.user.ipAddress principal.ip, principal.asset.ip מיפוי ישיר מ-properties.initiatedBy.user.ipAddress.
properties.initiatedBy.user.userPrincipalName principal.user.email_addresses, principal.user.userid מיפוי ישיר מ-properties.initiatedBy.user.userPrincipalName. אם זה כתובת אימייל, היא ממופה ל-email_addresses, אחרת היא ממופה ל-userid.
properties.ipAddress principal.ip, principal.asset.ip מיפוי ישיר מ-properties.ipAddress.
properties.isGuest additional.fields.value.string_value מופה ישירות מ-properties.isGuest עם מפתח התווית isGuest.
properties.isDeleted additional.fields.value.string_value מופה ישירות מ-properties.isDeleted עם מפתח התווית 'isDeleted'.
properties.isProcessing additional.fields.value.string_value מיפוי ישיר מ-properties.isProcessing עם מפתח התווית isProcessing.
properties.lastUpdatedDateTime additional.fields.value.string_value מופה ישירות מ-properties.lastUpdatedDateTime עם מפתח התווית 'lastUpdatedDateTime'.
properties.location.city principal.location.city מיפוי ישיר מ-properties.location.city.
properties.location.countryOrRegion principal.location.country_or_region מיפוי ישיר מ-properties.location.countryOrRegion.
properties.location.geoCoordinates.latitude principal.location.region_latitude, principal.location.region_coordinates.latitude מיפוי ישיר מ-properties.location.geoCoordinates.latitude.
properties.location.geoCoordinates.longitude principal.location.region_longitude, principal.location.region_coordinates.longitude מיפוי ישיר מ-properties.location.geoCoordinates.longitude.
properties.location.state principal.location.state מיפוי ישיר מ-properties.location.state.
properties.networkLocationDetails.[].networkNames additional.fields.value.string_value ערכים משורשרים מ-properties.networkLocationDetails.[].networkNames עם מפתח התווית 'properties networkName {index}‎'.
properties.networkLocationDetails.[].networkType additional.fields.value.string_value מופה ישירות מ-properties.networkLocationDetails.[].networkType עם מפתח התווית 'properties networkType {index}‎'.
properties.riskEventType additional.fields.value.string_value מופה ישירות מ-properties.riskEventType עם מפתח התווית 'riskEventType'.
properties.riskLastUpdatedDateTime additional.fields.value.string_value מופה ישירות מ-properties.riskLastUpdatedDateTime עם מפתח התווית riskLastUpdatedDateTime.
properties.riskLevel additional.fields.value.string_value מופה ישירות מ-properties.riskLevel עם מפתח התווית 'riskLevel'.
properties.riskLevelDuringSignIn additional.fields.value.string_value מופה ישירות מ-properties.riskLevelDuringSignIn עם מפתח התווית riskLevelDuringSignIn.
properties.riskState additional.fields.value.string_value מיפוי ישיר מ-properties.riskState עם מפתח התווית riskState.
properties.riskDetail additional.fields.value.string_value מופה ישירות מ-properties.riskDetail עם מפתח התווית riskDetail.
properties.riskType additional.fields.value.string_value מופה ישירות מ-properties.riskType עם מפתח התווית riskType.
properties.source additional.fields.value.string_value מופה ישירות מ-properties.source עם מפתח התווית 'מקור'.
properties.targetResources.0.id target.user.product_object_id מיפוי ישיר מ-properties.targetResources.0.id.
properties.targetResources.modifiedProperties.0.newValue target.group.product_object_id מיפוי ישיר מ-properties.targetResources.modifiedProperties.0.newValue.
properties.tokenIssuerType additional.fields.value.string_value מופה ישירות מ-properties.tokenIssuerType עם מפתח התווית tokenIssuerType.
properties.userAgent network.http.user_agent, network.http.parsed_user_agent מיפוי ישיר מ-properties.userAgent.
properties.userDisplayName target.user.user_display_name מיפוי ישיר מ-properties.userDisplayName.
properties.userId target.user.product_object_id מיפוי ישיר מ-properties.userId.
properties.userPrincipalName target.user.userid, target.user.email_addresses מיפוי ישיר מ-properties.userPrincipalName. אם זה כתובת אימייל, היא ממופה ל-email_addresses, אחרת היא ממופה ל-userid.
result security_result.action, security_result.action_details אם result הוא 'success', אז ALLOW.
resultDescription security_result.description מיפוי ישיר מ-resultDescription.
resultSignature additional.fields.value.string_value מופה ישירות מ-resultSignature עם מפתח התווית resultSignature.
resultType security_result.rule_id, action, security_result.summary אם resultType הוא '0', אז ALLOW ו-'Successful login occurred'. אחרת, BLOCK ו-"Failed login occurred".
resourceId target.resource.id, target.resource.product_object_id מיפוי ישיר מ-resourceId.
resourceDisplayName target.resource.name, appDisplayName מיפוי ישיר מ-resourceDisplayName.
riskDetail additional.fields.value.string_value מופה ישירות מ-riskDetail עם מפתח התווית riskDetail.
riskEventTypes.[]. additional.fields.value.string_value, additional.fields.value.list_value.values.string_value הערכים מתווספים לרשימה עם המפתח riskEventTypes ב-additional.fields. בנוסף, כל ערך מתווסף כשדה נפרד עם המפתח riskEventType ב-additional.fields.
riskEventTypes_v2.[]. additional.fields.value.list_value.values.string_value הערכים נוספים לרשימה עם המפתח riskEventTypes_v2 ב-additional.fields.
riskLevelAggregated additional.fields.value.string_value מופה ישירות מ-riskLevelAggregated עם מפתח התווית riskLevelAggregated.
riskLevelDuringSignIn additional.fields.value.string_value מופה ישירות מ-riskLevelDuringSignIn עם מפתח התווית riskLevelDuringSignIn.
riskState additional.fields.value.string_value מיפוי ישיר מ-riskState עם מפתח התווית riskState.
status.additionalDetails security_result.description מיפוי ישיר מ-status.additionalDetails.
status.errorCode security_result.rule_id, errorCode מיפוי ישיר מ-status.errorCode.
target.displayName resourceDisplayName מיפוי ישיר מ-target.displayName.
target.id resourceId מיפוי ישיר מ-target.id.
target.modifiedProperties.[].displayName target.resource.attribute.labels.key מיפוי ישיר מ-target.modifiedProperties.[].displayName.
target.modifiedProperties.[].newValue target.resource.attribute.labels.value, target.resource.product_object_id מיפוי ישיר מ-target.modifiedProperties.[].newValue.
target.modifiedProperties.[].oldValue target.resource.attribute.labels.value מיפוי ישיר מ-target.modifiedProperties.[].oldValue.
target.type target.resource.type מיפוי ישיר מ-target.type.
tenantId metadata.product_deployment_id מיפוי ישיר מ-tenantId.
time when השדה when נגזר מהשדה time. התאריך והשעה מחולצים מהשדה time באמצעות grok ואז משולבים ליצירת השדה when.
userAgent network.http.user_agent, network.http.parsed_user_agent מיפוי ישיר מ-userAgent.
userDisplayName target.user.user_display_name מיפוי ישיר מ-userDisplayName.
userId target.user.product_object_id מיפוי ישיר מ-userId.
userPrincipalName target.user.userid, principal.administrative_domain, target.user.email_addresses מיפוי ישיר מ-userPrincipalName. אם מדובר בכתובת אימייל, היא ממופה ל-email_addresses, וחלק הדומיין שלה מחולץ וממופה ל-principal.administrative_domain. אחרת, הוא ממופה ל-userid.
(Parser Logic) event.idm.is_alert, event.idm.is_significant הערך הוא True אם הרמה היא Critical.
(Parser Logic) event.idm.read_only_udm.metadata.event_type הערך שמוגדר הוא USER_LOGIN אם has_target_user הוא true. הערך שמוגדר הוא USER_UNCATEGORIZED אם has_principal_user הוא true. הערך הוא STATUS_UPDATE אם has_principal הוא true. אחרת, מגדירים את הערך כ-GENERIC_EVENT.
(Parser Logic) event.idm.read_only_udm.metadata.vendor_name מגדירים את האפשרות 'Microsoft'.
(Parser Logic) event.idm.read_only_udm.metadata.product_name מגדירים את האפשרות Azure AD.
(Parser Logic) event.idm.read_only_udm.extensions.auth.type מגדירים את האפשרות 'כניסה יחידה (SSO)'.
(Parser Logic) event.idm.read_only_udm.extensions.auth.mechanism הערך שמוגדר הוא INTERACTIVE אם isInteractive הוא true. אחרת, מגדירים את הערך ל-MECHANISM_OTHER.
(Parser Logic) security_result.action הערך מוגדר כ-ALLOW אם התוצאה היא הצלחה.
(Parser Logic) security_result.action מגדירים את הערך ALLOW אם resultType הוא 0.
(Parser Logic) security_result.action הערך הוא BLOCK אם resultType לא שווה ל-0 ולא שווה ל-"".
(Parser Logic) security_result.category הערך שמוגדר הוא AUTH_VIOLATION אם resultType הוא לא 0 ולא "".
(Parser Logic) security_result.description הערך הוא Group membership modified (חברות בקבוצה שונתה) אם operationName הוא Add member to group (הוספת חבר לקבוצה) והתוצאה היא success (הצלחה).
(Parser Logic) security_result.priority הערך שמוגדר הוא MEDIUM_PRIORITY אם properties.riskLevelDuringSignIn הוא medium.
(Parser Logic) security_result.summary אם resultType הוא 0, הערך שמוגדר הוא 'התחברות מוצלחת'.
(Parser Logic) security_result.summary הערך צריך להיות 'Failed login occurred' (התרחשה כניסה שנכשלה) אם resultType הוא לא 0 ולא ''.
(Parser Logic) security_result.summary מוגדר ל-properties.activityDisplayName אם הוא קיים.
(Parser Logic) security_result.severity מגדירים את הערך INFORMATIONAL אם הרמה היא Information (מידע), Informational (מידע), ‏0 או 4. הערך הוא MEDIUM אם הרמה היא Warning,‏ 1 או 3. הערך שמוגדר הוא ERROR אם הרמה היא Error או 2. הערך הוא CRITICAL אם הרמה היא Critical.
(Parser Logic) security_result.severity הערך הוא ERROR אם resultType לא שווה ל-0 ולא שווה ל-"".

שנה רישום

צפייה ביומן השינויים של כלי הניתוח הזה

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