איסוף יומני ביקורת של Azure DevOps

גרסת המנתח: 3.0

נתמך ב:

מנתח הנתונים הזה מטפל ביומני ביקורת של Azure DevOps בפורמט JSON. הוא מחלץ שדות ממבני JSON ברמה העליונה וממבנים בתצוגת עץ, וממפה אותם ל-UDM. לוגיקה מותנית שמבוססת על ערכי שדות ספציפיים מסווגת אירועים ומעשירה את הפלט במידע אבטחה רלוונטי. המנתח גם מטפל בהודעות בפורמט שאינו JSON, על ידי ניסיון לחלץ מטען ייעודי (payload) של JSON באמצעות תבניות grok.

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

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

  • מופע של Google SecOps
  • ארגון פעיל ב-Azure DevOps
  • גישה עם הרשאות לארגון Azure DevOps ול-Azure

הגדרת פידים

יש שתי נקודות כניסה שונות להגדרת פידים בפלטפורמת Google SecOps:

  • הגדרות > ניהול נתונים > פידים > הוספת פיד חדש (בפלטפורמה של SIEM בלבד, הגדרות > פידים > הוספת פיד חדש)
  • מרכז התוכן > חבילות תוכן > מתחילים

איך מגדירים את פיד הביקורת של Azure DevOps

  1. לוחצים על החבילה Azure Platform.
  2. מאתרים את סוג היומן Azure DevOps audit ולוחצים על Add new feed.
  3. מציינים ערכים בשדות הבאים:

    • ‫Source Type: Microsoft Azure Blob Storage V2.
    • ‫Azure URI: כתובת ה-URL של נקודת הקצה של ה-blob.
      • ENDPOINT_URL/BLOB_NAME
        • מחליפים את הערכים בשדות הבאים:
          • ENDPOINT_URL: כתובת ה-URL של נקודת הקצה של ה-blob‏ (https://<storageaccountname>.blob.core.windows.net)
          • ‫BLOB_NAME: השם של ה-blob (למשל, insights-logs-<logname>)
    • אפשרויות מחיקה של מקור: בוחרים את אפשרות המחיקה בהתאם להעדפות ההטמעה שלכם.

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

    • מפתח משותף: המפתח המשותף (מחרוזת אקראית של 512 ביט בקידוד base-64) שמשמש לגישה למשאבי Azure.

    אפשרויות מתקדמות

    • שם הפיד: ערך שמולא מראש ומזהה את הפיד.
    • מרחב השמות של הנכס: מרחב השמות של הנכס.
    • תוויות הטמעה: התווית שנוספה לאירועים מהפיד הזה.
  4. לוחצים על יצירת פיד.

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

יצירת מפתח API לפיד ה-Webhook

  1. נכנסים לדף CredentialsGoogle Cloud במסוף >.

    כניסה לדף Credentials

  2. לוחצים על Create credentials ואז על מפתח API.

  3. מגבילים את הגישה של מפתח ה-API ל-Google Security Operations API.

מציינים את כתובת ה-URL של נקודת הקצה

  1. באפליקציית הלקוח, מציינים את כתובת ה-URL של נקודת הקצה (endpoint) ב-HTTPS שסופקה בפיד ה-webhook.
  2. כדי להפעיל את האימות, צריך לציין את מפתח ה-API ואת המפתח הסודי כחלק מהכותרת בהתאמה אישית, בפורמט הבא:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    המלצה: ציינו את מפתח ה-API ככותרת במקום לציין אותו בכתובת ה-URL. אם לקוח ה-webhook שלכם לא תומך בכותרות בהתאמה אישית, אתם יכולים לציין את מפתח ה-API ואת המפתח הסודי באמצעות פרמטרים של שאילתה בפורמט הבא:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

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

  • ‫ENDPOINT_URL: כתובת ה-URL של נקודת הקצה של הפיד.
  • ‫API_KEY: מפתח ה-API לאימות ב-Google Security Operations.
  • ‫SECRET: המפתח הסודי שיצרתם כדי לאמת את הפיד.

הגדרת תכונת הביקורת ב-Azure DevOps

  1. נכנסים לחשבון של הארגון (https://dev.azure.com/{yourorganization}).
  2. לוחצים על סמל גלגל השיניים של הגדרות הארגון.
  3. בקטע אבטחה, לוחצים על כללי מדיניות.
  4. מעבירים את המתג רישום אירועי ביקורת למצב מופעל.

הגדרת נושא ב-Event Grid ב-Azure

  1. נכנסים ל-Azure Portal.
  2. מחפשים את Event Grid ונכנסים אליו.
  3. מאתרים את נושאים בקטע אירועים בהתאמה אישית.
  4. לוחצים על ‎+ Create.
  5. בוחרים את המינוי ואת קבוצת המשאבים. נותנים שם (לדוגמה, DevopsAuditLog) ובוחרים את האזור. לוחצים על בדיקה ויצירה.
  6. נכנסים לנושא החדש ומעתיקים את כתובת ה-URL של נקודת הקצה של הנושא.
  7. עוברים אל הגדרות > מפתחות גישה ומעתיקים את מפתח 1.

הגדרת Azure Devops Log Stream ל-Event Grid

  1. נכנסים לחשבון של הארגון (https://dev.azure.com/{yourorganization}).
  2. לוחצים על סמל גלגל השיניים של הגדרות הארגון.
  3. לוחצים על ביקורת.
  4. עוברים לכרטיסייה Streams ובוחרים באפשרות New stream > Event Grid.
  5. מזינים את נקודת הקצה של הנושא ואת מפתח הגישה שנוצרו בשלב הגדרת נושא של Event Grid ב-Azure.

הגדרת Webhook ב-Azure DevOps ל-Google SecOps

  1. ב-Azure Portal, מחפשים את Event Grid ונכנסים אליו.
  2. בוחרים את הנושא שיצרתם קודם.
  3. עוברים אל Entities > Event Subscription.
  4. לוחצים על + Event Subscription (הרשמה לאירוע).
  5. נותנים שם תיאורי (לדוגמה, ‎*Google SecOps Integration).
  6. בוחרים באפשרות Web Hook ולוחצים על Configure an endpoint (הגדרת נקודת קצה).
  7. מגדירים את נקודת הקצה:
    1. נקודת קצה של המנוי: מזינים את כתובת ה-URL של נקודת הקצה של Google SecOps API.
    2. בקטע כותרות HTTP, מוסיפים את הכותרות הבאות:
    3. מגדירים את הכותרת Content-Type ל-application/json.
  8. לוחצים על יצירה.

יומנים לדוגמה של Azure DevOps Audit שנתמכים

  • קובץ JSON של ביקורת רגילה

    {
      "ActivityId": "aeec0738-ebbf-4e62-9a44-83dd7b704e75",
      "ActorCUID": "e0729319-5632-78c1-9625-b53fe559bcd7",
      "ActorDisplayName": "User Name",
      "ActorUPN": "user@example.com",
      "ActorUserId": "e0729319-5632-68c1-9625-b53fe559bcd7",
      "Area": "Group",
      "AuthenticationMechanism": "SessionToken_Unscoped authorizationId: f5729c3d-951b-4a52-88d9-a",
      "Category": "Modify",
      "CategoryDisplayName": "Modify",
      "CorrelationId": "a26a652e-1596-4c83-bb0f-946ff3ccc91c",
      "Data": {
        "CallerProcedure": "prc_UpdateGroupMembership",
        "EventAuthor": "b33f1e32-f5e3-4210-9fde-6e61f7a761b3",
        "Idempotent": "True",
        "Incremental": "True",
        "InsertInactiveUpdates": "False",
        "ScopeId": "1b713128-b6f0-4fd7-91af-94ed1f69c464",
        "Updates": [
          {
            "GroupId": "BE656E6C-7C01-47DB-BC03-CD7E82610AFE",
            "MemberId": "9D4E1A54-8B4C-42E2-BECC-94BEDC6E2F4B",
            "Active": true
          }
        ],
        "GroupId": "be656e6c-7c01-47db-bc03-cd7e82610afe",
        "GroupName": "[Project_Alpha]\\Project Administrators",
        "MemberId": "9d4e1a54-8b4c-42e2-becc-94bedc6e2f4b",
        "MemberDisplayName": "Member Name"
      },
      "Details": "Member Name was added as a member of group [Project_Alpha]\\Project Administrators",
      "Id": "0b11aadb-0bcc-47ef-9038-b091140dcbe5",
      "IpAddress": "192.168.1.10",
      "OperationName": "Group.UpdateGroupMembership.Add",
      "ProjectId": "00000000-0000-0000-0000-000000000000",
      "ScopeDisplayName": "Organization_X",
      "ScopeId": "1b713128-b6f0-4fd7-91af-94ed1f69c464",
      "ScopeType": "Enterprise",
      "SourceSystem": "Azure",
      "TenantId": "5ca654a4-807f-4676-9c9f-0b7335cea18e",
      "TimeGenerated": "2022-06-20T00:43:35.7370000Z",
      "Type": "AzureDevOpsAuditing",
      "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
      "_Internal_WorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-event-grid/providers/microsoft.operationalinsights/workspaces/logging-workspace"
    }
    
  • Event Grid Wrapped JSON

    {
      "id": "9362f75d-b450-47e0-a54b-4fd51d08798e",
      "subject": "AzureDevOps/Auditing",
      "data": {
        "Id": "9362f75d-b450-47e0-a54b-4fd51d08798e",
        "CorrelationId": "848f8abd-9f91-479e-857b-454efa0bf393",
        "ActivityId": "0b7078f1-87bb-441d-8dcc-780c6d0a0511",
        "ActorCUID": "00000000-0000-0000-0000-000000000000",
        "ActorUserId": "0000000d-0000-8888-8000-000000000000",
        "ActorClientId": "00000000-0000-0000-0000-000000000000",
        "ActorUPN": "Azure DevOps Service",
        "Timestamp": "2023-08-03T23:34:31.037Z",
        "ScopeType": 4,
        "ScopeDisplayName": "Organization_X",
        "ScopeId": "1bf2d4d0-3f60-4f08-b217-ce48cebc6816",
        "ProjectId": "b87f0d76-bb83-4274-a865-5ebdc6fe0500",
        "ProjectName": "IT_Project",
        "UserAgent": "TFS JobAgent(TfsJobAgent.exe, 19.224.33927.8)",
        "ActionId": "Release.DeploymentCompleted",
        "Data": {
          "CallerProcedure": "Release.prc_OnDeploymentCompleted",
          "DeploymentResult": "Succeeded",
          "PipelineId": "18",
          "PipelineName": "digital-client-app-dvlp",
          "ReleaseName": "23.07.38",
          "RequesterId": "0000000D-0000-8888-8000-000000000000",
          "StageName": "Build browser"
        },
        "Details": "Deployment of release \"23.07.38\" on pipeline \"digital-client-app-dvlp\" to \"Build browser\" in Project IT_Project was Succeeded",
        "Area": "Release",
        "Category": 5,
        "CategoryDisplayName": "Execute",
        "ActorDisplayName": "Azure DevOps Service"
      },
      "eventType": "AzureDevOpsAuditEvent",
      "dataVersion": "1.0",
      "metadataVersion": "1",
      "eventTime": "2023-08-03T23:34:31.037Z",
      "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-prod/providers/Microsoft.EventGrid/topics/audit-topic"
    }
    
  • מערך JSON של Event Grid

    [
      {
        "id": "14b02dab-67eb-4d9d-acd2-4487aac05b14",
        "subject": "AzureDevOps/Auditing",
        "data": {
          "Id": "14b02dab-67eb-4d9d-acd2-4487aac05b14",
          "CorrelationId": "e0475568-bd77-484b-b065-5170561f0bf5",
          "ActivityId": "a2a70439-18dd-4bbb-be20-2844600feaca",
          "ActorCUID": "712594c0-94c1-779b-af6c-80752141078d",
          "ActorUserId": "712594c0-94c1-679b-af6c-80752141078d",
          "ActorClientId": "00000000-0000-0000-0000-000000000000",
          "ActorUPN": "user@example.com",
          "AuthenticationMechanism": "Basic_AAD",
          "Timestamp": "2023-12-20T18:33:21.9375261Z",
          "ScopeType": 4,
          "ScopeDisplayName": "Organization_X",
          "ScopeId": "021edafa-0760-4e1d-ba33-00b910e811e9",
          "ProjectId": "00000000-0000-0000-0000-000000000000",
          "IpAddress": "10.0.0.50",
          "UserAgent": "python/3.11.5 (Windows-10-10.0.19045-SP0) msrest/0.7.1 azure-devops/5.1.0b4 devOpsCli/0.25.0",
          "ActionId": "Security.ModifyPermission",
          "Data": {
            "NamespaceId": "b7e84409-6553-448a-bbb2-af228e07cbeb",
            "NamespaceName": "Library",
            "Token": "Library/Collection/VariableGroup/4693",
            "Permissions": [
              {
                "baseEntry": {
                  "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245...",
                  "allow": 19,
                  "deny": 0,
                  "isEmpty": false
                },
                "inheritedAllow": 0,
                "inheritedDeny": 0,
                "effectiveAllow": 0,
                "effectiveDeny": 0,
                "includesExtendedInfo": false,
                "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245...",
                "allow": 19,
                "deny": 0,
                "isEmpty": false
              }
            ],
            "EventSummary": [
              {
                "PermissionNames": "View library item",
                "Change": "allow",
                "SubjectDescriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245...",
                "SubjectDisplayName": "[Team_Project]\\Project Administrators"
              }
            ],
            "EventSummaryType": "ChangedPermission",
            "SubjectDisplayName": "[Team_Project]\\Project Administrators"
          },
          "Details": "3 permissions were modified for [Team_Project]\\Project Administrators",
          "Area": "Permissions",
          "Category": 1,
          "CategoryDisplayName": "Modify",
          "ActorDisplayName": "User Name"
        },
        "eventType": "AzureDevOpsAuditEvent",
        "dataVersion": "1.0",
        "metadataVersion": "1",
        "eventTime": "2023-12-20T18:33:21.9375261Z",
        "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-prod/providers/Microsoft.EventGrid/topics/audit-topic"
      }
    ]
    

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
ActivityId metadata.product_log_id ממופה ישירות מהשדה Id ביומן הגולמי כשהשדה records לא קיים, או מהשדה ActivityId באובייקט data כשהשדה records קיים.
ActionId metadata.product_event_type ממופה ישירות מהשדה ActionId באובייקט data.
ActorCUID additional.fields הוא נכלל כשדה נוסף עם המפתח "Actor CUID".
ActorDisplayName principal.user.user_display_name מיפוי ישיר מהשדה ActorDisplayName אם הוא לא Azure DevOps Service. אם הוא Azure DevOps Service, הוא מתווסף כתווית ל-principal.resource.attribute.labels.
ActorUPN principal.user.email_addresses ממופה ישירות מהשדה ActorUPN אם הוא תואם לתבנית של כתובת אימייל.
ActorUserId principal.user.userid ממופה ישירות מהשדה ActorUserId.
Area target.application משמש ליצירת השדה target.application על ידי הוספת "DevOps " לפני הערך Area.
AuthenticationMechanism extensions.auth.auth_details, security_result.rule_id מנותח כדי לחלץ את פרטי האימות ואת מזהה הכלל. פרטי האימות ממופים אל extensions.auth.auth_details. מזהה הכלל שחולץ ממופה אל security_result.rule_id.
CategoryDisplayName security_result.action_details ממופה ישירות אל security_result.action_details.
City principal.location.city ממופה ישירות מהשדה City.
Conditions additional.fields נוסף כשדה נוסף עם המפתח "תנאים".
Country principal.location.country_or_region ממופה ישירות מהשדה Country.
Data.* שונים השדות באובייקט Data ממופים לשדות UDM שונים על סמך השמות וההקשר שלהם. בהמשך מופיעות דוגמאות ספציפיות.
Data.AccessLevel target.resource.attribute.labels נוספה כתווית עם המפתח AccessLevel.
Data.AgentId target.resource.product_object_id ממופה אל target.resource.product_object_id אם PipelineId ו-AuthorizationId לא קיימים.
Data.AgentName target.resource.name ממופה אל target.resource.name אם PipelineName,‏ NamespaceName ו-DisplayName לא קיימים.
Data.AuthorizationId target.resource.product_object_id ממופה אל target.resource.product_object_id אם PipelineId לא קיים.
Data.CallerProcedure additional.fields נוסף כשדה נוסף עם המפתח "CallerProcedure".
Data.CheckSuiteId additional.fields נוסף כשדה נוסף עם המפתח "CheckSuiteId".
Data.CheckSuiteStatus additional.fields נוסף כשדה נוסף עם המפתח "CheckSuiteStatus".
Data.ConnectionId additional.fields נוסף כשדה נוסף עם המפתח ConnectionId.
Data.ConnectionName additional.fields הוא נוסף כשדה נוסף עם המפתח ConnectionName.
Data.ConnectionType additional.fields נוסף כשדה נוסף עם המפתח "ConnectionType".
Data.DefinitionId additional.fields נוסף כשדה נוסף עם המפתח DefinitionId.
Data.DeploymentResult additional.fields נוסף כשדה נוסף עם המפתח DeploymentResult.
Data.DisplayName target.resource.name ממופה אל target.resource.name אם PipelineName ו-NamespaceName לא קיימים.
Data.EndpointIdList additional.fields נוסף כשדה נוסף עם המפתח EndpointIdList.
Data.EnvironmentName additional.fields נוסף כשדה נוסף עם המפתח "EnvironmentName".
Data.Filter.continuationToken target.resource.attribute.labels נוסף כתווית עם המפתח "continuation_token".
Data.Filter.endTime target.resource.attribute.labels נוסף כתווית עם המפתח filter_end_time.
Data.Filter.startTime target.resource.attribute.labels נוסף כתווית עם המפתח filter_start_time.
Data.FinishTime additional.fields נוסף כשדה נוסף עם המפתח FinishTime.
Data.GroupId target.group.product_object_id ממופה ישירות אל target.group.product_object_id כש-Data.Updates.0.GroupId לא קיים.
Data.GroupName target.group.group_display_name ממופה ישירות אל target.group.group_display_name.
Data.JobName additional.fields נוסף כשדה נוסף עם המפתח "JobName".
Data.MemberId target.user.userid ממופה ישירות אל target.user.userid כש-Data.Updates.0.MemberId לא קיים.
Data.MemberDisplayName target.user.user_display_name ממופה ישירות אל target.user.user_display_name.
Data.NamespaceId target.resource.product_object_id ממופה אל target.resource.product_object_id אם PipelineId,‏ AuthorizationId ו-AgentId לא קיימים.
Data.NamespaceName target.resource.name ממופה אל target.resource.name אם PipelineName לא קיים.
Data.ownerDetails additional.fields נוסף כשדה נוסף עם המפתח OwnerDetails.
Data.OwnerId additional.fields נוסף כשדה נוסף עם המפתח OwnerId.
Data.PipelineId target.resource.product_object_id ממופה ישירות אל target.resource.product_object_id.
Data.PipelineName target.resource.name ממופה ישירות אל target.resource.name.
Data.PipelineRevision target.resource.attribute.labels נוסף כתווית עם המפתח PipelineRevision.
Data.PipelineScope target.resource.attribute.labels נוסף כתווית עם המפתח PipelineScope.
Data.PlanType additional.fields נוסף כשדה נוסף עם המפתח PlanType.
Data.PreviousAccessLevel target.resource.attribute.labels נוספה כתווית עם המפתח "PreviousAccessLevel".
Data.PublisherName target.resource.attribute.labels התווסף כתווית עם המפתח PublisherName.
Data.Reason additional.fields נוסף כשדה נוסף עם המפתח "סיבה".
Data.ReleaseId additional.fields נוסף כשדה נוסף עם המפתח "ReleaseId".
Data.ReleaseName additional.fields נוסף כשדה נוסף עם המפתח "ReleaseName".
Data.RequesterId additional.fields נוסף כשדה נוסף עם המפתח RequesterId.
Data.RetentionLeaseId additional.fields נוסף כשדה נוסף עם המפתח "RetentionLeaseId".
Data.RetentionOwnerId additional.fields נוסף כשדה נוסף עם המפתח RetentionOwnerId.
Data.RunName additional.fields נוסף כשדה נוסף עם המפתח RunName.
Data.Scopes target.resource.attribute.labels נוספו כתוויות עם המפתח "Scope".
Data.StageName additional.fields נוסף כשדה נוסף עם המפתח StageName.
Data.StartTime additional.fields נוסף כשדה נוסף עם המפתח "StartTime".
Data.TargetUser target.user.userid ממופה ישירות אל target.user.userid.
Data.Timestamp metadata.event_timestamp נותח ומופה אל metadata.event_timestamp.
Data.TokenType target.resource.attribute.labels נוסף כתווית עם המפתח TokenType.
Data.Updates.0.GroupId target.group.product_object_id ממופה ישירות אל target.group.product_object_id.
Data.Updates.0.MemberId target.user.userid ממופה ישירות אל target.user.userid.
Data.ValidFrom target.resource.attribute.labels נוסף כתווית עם המפתח ValidFrom.
Data.ValidTo target.resource.attribute.labels נוסף כתווית עם המפתח ValidTo.
DewPoint additional.fields נוסף כשדה נוסף עם המפתח "DewPoint".
Details metadata.description ממופה ישירות אל metadata.description.
Humidity additional.fields נוסף כשדה נוסף עם המפתח "לחות".
Icon additional.fields נוסף כשדה נוסף עם המפתח "סמל".
Id metadata.product_log_id ממופה ישירות אל metadata.product_log_id.
IpAddress principal.ip ממופה ישירות אל principal.ip.
MoonPhase additional.fields נוסף כשדה נוסף עם המפתח "MoonPhase".
Moonrise additional.fields נוסף כשדה נוסף עם המפתח "Moonrise".
Moonset additional.fields נוסף כשדה נוסף עם המפתח "Moonset".
OperationName metadata.product_event_type ממופה ישירות אל metadata.product_event_type.
Precipitation additional.fields נוסף כשדה נוסף עם המפתח "Precipitation".
Pressure additional.fields נוסף כשדה נוסף עם המפתח "Pressure".
ProjectId target.resource_ancestors.product_object_id משמש לאכלוס השדה product_object_id בתוך target.resource_ancestors כשהישות הקודמת היא מסוג CLOUD_PROJECT.
ProjectName target.resource_ancestors.name, target.resource.attribute.labels משמש לאכלוס השדה name בתוך target.resource_ancestors כשהישות הקודמת היא מסוג CLOUD_PROJECT. נוסף גם כתווית ל-target.resource.attribute.labels עם המפתח "ProjectName".
RoleLocation target.location.name ממופה ישירות אל target.location.name.
ScopeDisplayName target.resource_ancestors.name משמש לאכלוס השדה name בתוך target.resource_ancestors כשהישות הקודמת היא מסוג CLOUD_ORGANIZATION.
ScopeId target.resource_ancestors.product_object_id משמש לאכלוס השדה product_object_id בתוך target.resource_ancestors כשהישות הקודמת היא מסוג CLOUD_ORGANIZATION.
ScopeType additional.fields נוסף כשדה נוסף עם המפתח ScopeType.
Sunrise additional.fields השדה נוסף כשדה נוסף עם המפתח "Sunrise".
Sunset additional.fields נוסף כשדה נוסף עם המפתח "Sunset".
Temperature additional.fields נוסף כשדה נוסף עם המפתח "טמפרטורה".
TenantId metadata.product_deployment_id, additional.fields ממופה ישירות אל metadata.product_deployment_id. נוסף גם כשדה נוסף עם המפתח "TenantId".
TimeGenerated metadata.event_timestamp נותח ומופה אל metadata.event_timestamp.
UserAgent network.http.user_agent, network.http.parsed_user_agent ממופה ישירות אל network.http.user_agent. גם מנותח וממופה אל network.http.parsed_user_agent.
UVIndex additional.fields נוסף כשדה נוסף עם המפתח "UVIndex".
Visibility additional.fields נוסף כשדה נוסף עם המפתח "חשיפה".
WindDirection additional.fields נוסף כשדה נוסף עם המפתח "WindDirection".
WindSpeed additional.fields נוסף כשדה נוסף עם המפתח WindSpeed.
_Internal_WorkspaceResourceId additional.fields נוסף כשדה נוסף עם המפתח "workspace_resource_id".
לא רלוונטי metadata.event_type נקבע לפי לוגיקה שמבוססת על OperationName ושדות אחרים. אם אין התאמה לסוג אירוע ספציפי, ברירת המחדל היא "GENERIC_EVENT". הערכים האפשריים כוללים את "STATUS_SHUTDOWN",‏ "RESOURCE_CREATION",‏ "STATUS_UPDATE",‏ "USER_RESOURCE_DELETION",‏ "RESOURCE_READ",‏ "RESOURCE_WRITTEN",‏ "RESOURCE_DELETION" ו-"GROUP_MODIFICATION".
לא רלוונטי metadata.vendor_name מגדירים את האפשרות Microsoft.
לא רלוונטי metadata.product_name מגדירים את האפשרות "Azure DevOps".
לא רלוונטי metadata.log_type צריך להגדיר את הערך "AZURE_DEVOPS".
לא רלוונטי principal.user.account_type מגדירים את הערך "SERVICE_ACCOUNT_TYPE" אם AuthenticationMechanism מכיל את הערך "ServicePrincipal", אחרת מגדירים את הערך "CLOUD_ACCOUNT_TYPE".
לא רלוונטי target.asset.attribute.cloud.environment הגדרת הערך MICROSOFT_AZURE.
לא רלוונטי security_result.action מגדירים את הערך ALLOW לפעולות שהצליחו (Succeeded, ‏ Created, ‏ Modified, ‏ executed, ‏ updated, ‏ removed) ואת הערך BLOCK לפעולות שנכשלו (Failed, ‏ TimedOut).
לא רלוונטי extensions.auth.mechanism צריך להגדיר את הערך "USERNAME_PASSWORD" אם הערך של summary הוא "UserAuthToken".
לא רלוונטי target.resource.resource_type צריך להגדיר את הערך "SETTING" אם pipeline_id קיים, "CREDENTIAL" אם authorization_id קיים, "DEVICE" אם agent_id קיים, או "DATABASE" אם namespace_id קיים. אחרת, במקרים מסוימים הוא מוגדר כ-"STORAGE_BUCKET" על סמך operationName.
לא רלוונטי target.resource.resource_subtype מגדירים את הערך "Pipeline" אם pipeline_id קיים, "Token" אם authorization_id קיים, "Agent" אם agent_id קיים או "Namespace" אם namespace_id קיים.

יומן שינויים

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

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