איסוף יומני ביקורת של 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
- לוחצים על החבילה Azure Platform.
- מאתרים את סוג היומן Azure DevOps audit ולוחצים על Add new feed.
מציינים ערכים בשדות הבאים:
- 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.
אפשרויות מתקדמות
- שם הפיד: ערך שמולא מראש ומזהה את הפיד.
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות הטמעה: התווית שנוספה לאירועים מהפיד הזה.
לוחצים על יצירת פיד.
למידע נוסף על הגדרת כמה פידים לסוגי יומנים שונים במשפחת המוצרים הזו, ראו הגדרת פידים לפי מוצר.
יצירת מפתח API לפיד ה-Webhook
נכנסים לדף CredentialsGoogle Cloud במסוף >.
לוחצים על Create credentials ואז על מפתח API.
מגבילים את הגישה של מפתח ה-API ל-Google Security Operations API.
מציינים את כתובת ה-URL של נקודת הקצה
- באפליקציית הלקוח, מציינים את כתובת ה-URL של נקודת הקצה (endpoint) ב-HTTPS שסופקה בפיד ה-webhook.
כדי להפעיל את האימות, צריך לציין את מפתח ה-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
- נכנסים לחשבון של הארגון (
https://dev.azure.com/{yourorganization}). - לוחצים על סמל גלגל השיניים של הגדרות הארגון.
- בקטע אבטחה, לוחצים על כללי מדיניות.
- מעבירים את המתג רישום אירועי ביקורת למצב מופעל.
הגדרת נושא ב-Event Grid ב-Azure
- נכנסים ל-Azure Portal.
- מחפשים את Event Grid ונכנסים אליו.
- מאתרים את נושאים בקטע אירועים בהתאמה אישית.
- לוחצים על + Create.
- בוחרים את המינוי ואת קבוצת המשאבים. נותנים שם (לדוגמה,
DevopsAuditLog) ובוחרים את האזור. לוחצים על בדיקה ויצירה. - נכנסים לנושא החדש ומעתיקים את כתובת ה-URL של נקודת הקצה של הנושא.
- עוברים אל הגדרות > מפתחות גישה ומעתיקים את מפתח 1.
הגדרת Azure Devops Log Stream ל-Event Grid
- נכנסים לחשבון של הארגון (
https://dev.azure.com/{yourorganization}). - לוחצים על סמל גלגל השיניים של הגדרות הארגון.
- לוחצים על ביקורת.
- עוברים לכרטיסייה Streams ובוחרים באפשרות New stream > Event Grid.
- מזינים את נקודת הקצה של הנושא ואת מפתח הגישה שנוצרו בשלב הגדרת נושא של Event Grid ב-Azure.
הגדרת Webhook ב-Azure DevOps ל-Google SecOps
- ב-Azure Portal, מחפשים את Event Grid ונכנסים אליו.
- בוחרים את הנושא שיצרתם קודם.
- עוברים אל Entities > Event Subscription.
- לוחצים על + Event Subscription (הרשמה לאירוע).
- נותנים שם תיאורי (לדוגמה, *
Google SecOps Integration). - בוחרים באפשרות Web Hook ולוחצים על Configure an endpoint (הגדרת נקודת קצה).
- מגדירים את נקודת הקצה:
- נקודת קצה של המנוי: מזינים את כתובת ה-URL של נקודת הקצה של Google SecOps API.
- בקטע כותרות HTTP, מוסיפים את הכותרות הבאות:
- כותרת 1:
- מפתח:
X-goog-api-key - ערך: מפתח ה-API שיצרתם בקטע יצירת מפתח API לפיד ה-webhook.
- מפתח:
- כותרת 2:
- מפתח:
X-Webhook-Access-Key - Value: המפתח הסודי שיצרתם בקטע הגדרת פיד ב-Google SecOps להטמעת היומנים של Azure DevOps.
- מפתח:
- כותרת 1:
- מגדירים את הכותרת Content-Type ל-
application/json.
- לוחצים על יצירה.
יומנים לדוגמה של 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.