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

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

נתמך ב:

הכלי הזה מנתח יומני ביקורת של Azure DevOps בפורמט JSON. הוא מחלץ שדות ממבני 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. מציינים ערכים בשדות הבאים:

    • סוג המקור: 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 Feed

  1. עוברים אל Google Cloud מסוף > Credentials.

    כניסה לדף Credentials

  2. לוחצים על Create credentials ואז על API key.

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

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

  1. באפליקציית הלקוח, מציינים את כתובת ה-URL של נקודת הקצה מסוג 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. מעבירים את הלחצן Log Audit Events (רישום אירועי ביקורת) למצב ON (מופעל).

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

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

הגדרת סטרימינג של יומנים מ-Azure DevOps אל 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 של נקודת קצה ל-API של Google SecOps.
    2. בקטע HTTP headers, מוסיפים את הכותרות הבאות:
    3. מגדירים את הכותרת Content-Type לערך application/json.
  8. לוחצים על יצירה.

יומני ביקורת לדוגמה של Azure DevOps שנתמכים

  • 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 לוגיקה
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 נוסף כשדה נוסף עם מילת המפתח Humidity (לחות).
Icon additional.fields נוסף כשדה נוסף עם מילת המפתח Icon.
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 נוסף כשדה נוסף עם המפתח 'משקעים'.
Pressure additional.fields נוסף כשדה נוסף עם המפתח 'לחץ'.
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 נוסף כשדה נוסף עם המפתח Visibility.
WindDirection additional.fields נוסף כשדה נוסף עם המפתח WindDirection.
WindSpeed additional.fields נוסף כשדה נוסף עם המפתח WindSpeed.
_Internal_WorkspaceResourceId additional.fields נוסף כשדה נוסף עם המפתח workspace_resource_id.
N/A metadata.event_type הערך נקבע על ידי לוגיקה שמבוססת על OperationName ושדות אחרים. אם לא נמצא סוג אירוע ספציפי, ברירת המחדל היא GENERIC_EVENT. הערכים האפשריים כוללים את: STATUS_SHUTDOWN,‏ RESOURCE_CREATION,‏ STATUS_UPDATE,‏ USER_RESOURCE_DELETION,‏ RESOURCE_READ,‏ RESOURCE_WRITTEN,‏ RESOURCE_DELETION ו-GROUP_MODIFICATION.
N/A metadata.vendor_name מגדירים את האפשרות 'Microsoft'.
N/A metadata.product_name מגדירים את הערך Azure DevOps.
N/A metadata.log_type הערך שמוגדר הוא AZURE_DEVOPS.
N/A principal.user.account_type מגדירים את הערך SERVICE_ACCOUNT_TYPE אם AuthenticationMechanism מכיל את הערך ServicePrincipal, אחרת מגדירים את הערך CLOUD_ACCOUNT_TYPE.
N/A target.asset.attribute.cloud.environment הוגדר לערך MICROSOFT_AZURE.
N/A security_result.action הערך הוא ALLOW אם הפעולות הצליחו (Succeeded, ‏ Created, ‏ Modified, ‏ executed, ‏ updated, ‏ removed) והערך הוא BLOCK אם הפעולות נכשלו (Failed, ‏ TimedOut).
N/A extensions.auth.mechanism הערך צריך להיות USERNAME_PASSWORD אם summary הוא UserAuthToken.
N/A target.resource.resource_type הערך הוא SETTING אם קיים pipeline_id, CREDENTIAL אם קיים authorization_id,‏ DEVICE אם קיים agent_id או DATABASE אם קיים namespace_id. אחרת, במקרים מסוימים הערך הוא STORAGE_BUCKET על סמך operationName.
N/A target.resource.resource_subtype הערך צריך להיות Pipeline אם pipeline_id קיים, Token אם authorization_id קיים, Agent אם agent_id קיים או Namespace אם namespace_id קיים.

שנה רישום

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

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