收集 Azure DevOps 稽核記錄
剖析器版本:3.0
這個剖析器會處理 JSON 格式的 Azure DevOps 稽核記錄。並從巢狀和頂層 JSON 結構中擷取欄位,然後對應至 UDM。系統會根據特定欄位值套用條件式邏輯,將事件分類,並在輸出內容中加入相關安全性資訊。剖析器也會嘗試使用 grok 模式擷取 JSON 酬載,處理非 JSON 格式的訊息。
事前準備
請確認您符合下列必要條件:
- Google SecOps 執行個體
- 有效的 Azure DevOps 機構
- Azure DevOps 組織和 Azure 的特殊存取權
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 依序點選「SIEM 設定」>「動態消息」>「新增動態消息」
- 依序點選「內容中心」「內容包」「開始使用」
如何設定 Azure DevOps 稽核動態消息
- 按一下「Azure Platform」套件。
- 找出「Azure DevOps audit」(Azure DevOps 稽核) 記錄類型,然後按一下「Add new feed」(新增動態饋給)。
為下列欄位指定值:
- 來源類型:Microsoft Azure Blob 儲存體 V2。
- Azure URI:Blob 端點網址。
ENDPOINT_URL/BLOB_NAME- 取代下列項目:
ENDPOINT_URL:Blob 端點網址 (https://<storageaccountname>.blob.core.windows.net)BLOB_NAME:Blob 的名稱 (例如insights-logs-<logname>)
- 取代下列項目:
來源刪除選項:根據擷取偏好設定選取刪除選項。
檔案存在時間上限:包含在過去天數內修改的檔案。預設值為 180 天。
共用金鑰:用於存取 Azure 資源的共用金鑰 (以 Base64 編碼的 512 位元隨機字串)。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 資產命名空間:資產命名空間。
- 擷取標籤:套用至這個動態饋給事件的標籤。
點選「建立動態饋給」。
如要進一步瞭解如何為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
為 Webhook 動態饋給建立 API 金鑰
前往 Google Cloud 控制台 > 憑證。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰存取權限制在 Google Security Operations API。
指定端點網址
- 在用戶端應用程式中,指定 webhook 動態饋給中提供的 HTTPS 端點網址。
以以下格式在自訂標頭中指定 API 金鑰和私密金鑰,啟用驗證:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET建議:請將 API 金鑰指定為標頭,而非在網址中指定。如果 Webhook 用戶端不支援自訂標頭,您可以使用查詢參數指定 API 金鑰和密鑰,格式如下:
ENDPOINT_URL?key=API_KEY&secret=SECRET
更改下列內容:
ENDPOINT_URL:動態消息端點網址。API_KEY:用於向 Google Security Operations 進行驗證的 API 金鑰。SECRET:您產生的密鑰,用於驗證動態消息。
在 Azure DevOps 中設定稽核功能
- 登入貴機構的帳戶 (
https://dev.azure.com/{yourorganization})。 - 選取「機構設定」的齒輪圖示。
- 在「安全性」下方選取「政策」。
- 將「記錄稽核事件」按鈕切換為「開啟」。
在 Azure 中設定事件方格主題
- 登入 Azure 入口網站。
- 搜尋並存取 Event Grid。
- 在「自訂事件」下方找到「主題」。
- 點選「+ 建立」。
- 選取「訂閱」和「資源群組」。提供名稱 (例如
DevopsAuditLog) 並選取區域。按一下「檢查並建立」。 - 存取新的「主題」,然後複製「主題端點網址」。
- 依序前往「設定」>「存取金鑰」,然後複製「金鑰 1」。
將 Azure DevOps 記錄串流設定為事件方格
- 登入貴機構的帳戶 (
https://dev.azure.com/{yourorganization})。 - 選取「機構設定」的齒輪圖示。
- 選取「稽核」。
- 前往「串流」分頁,然後依序選取「新串流」>「Event Grid」。
- 輸入在「在 Azure 中設定 Event Grid 主題」中建立的主題端點和存取金鑰。
在 Azure DevOps 中為 Google SecOps 設定 Webhook
- 在 Azure 入口網站中,搜尋並存取「事件方格」。
- 選取先前建立的「主題」。
- 依序前往「實體」>「事件訂閱」。
- 按一下「+ 事件訂閱」。
- 提供描述性名稱 (例如 *
Google SecOps Integration)。 - 選取「Web Hook」,然後按一下「設定端點」。
- 設定端點:
- 訂閱者端點:輸入 Google SecOps API 端點網址。
- 在「HTTP headers」(HTTP 標頭) 部分中,新增下列標頭:
- 標題 1:
- 金鑰:
X-goog-api-key - 值:您在「為 Webhook 摘要建立 API 金鑰」一節中建立的 API 金鑰。
- 金鑰:
- 標題 2:
- 金鑰:
X-Webhook-Access-Key - 值:您在「在 Google SecOps 中設定動態饋給,以便擷取 Azure DevOps 記錄」一節中產生的密鑰。
- 金鑰:
- 標題 1:
- 將 Content-Type 標頭設為
application/json。
- 點選「建立」。
支援的 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" }Event Grid JSON 陣列
[ { "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 |
如果沒有 records 欄位,則直接從原始記錄中的 Id 欄位對應;如有 records 欄位,則從 data 物件中的 ActivityId 欄位對應。 |
ActionId |
metadata.product_event_type |
直接從 data 物件中的 ActionId 欄位對應。 |
ActorCUID |
additional.fields |
以鍵「Actor CUID」的形式納入額外欄位。 |
ActorDisplayName |
principal.user.user_display_name |
如果不是「Azure DevOps Service」,則直接從 ActorDisplayName 欄位對應。如果是「Azure DevOps Service」,則會以標籤形式新增至 principal.resource.attribute.labels。 |
ActorUPN |
principal.user.email_addresses |
如果與電子郵件地址模式相符,則直接從 ActorUPN 欄位對應。 |
ActorUserId |
principal.user.userid |
直接從「ActorUserId」欄位對應。 |
Area |
target.application |
用於建構 target.application 欄位,方法是在 Area 值前面加上「DevOps 」。 |
AuthenticationMechanism |
extensions.auth.auth_details、security_result.rule_id |
系統會剖析這項資訊,擷取驗證詳細資料和規則 ID。驗證詳細資料會對應至 extensions.auth.auth_details。擷取的規則 ID 會對應至 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 |
如果沒有 PipelineId 和 AuthorizationId,則會對應至 target.resource.product_object_id。 |
Data.AgentName |
target.resource.name |
如果沒有 PipelineName、NamespaceName 和 DisplayName,則會對應至 target.resource.name。 |
Data.AuthorizationId |
target.resource.product_object_id |
如果沒有 PipelineId,則會對應至 target.resource.product_object_id。 |
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 |
如果沒有 PipelineName 和 NamespaceName,則會對應至 target.resource.name。 |
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 |
如果沒有 Data.Updates.0.GroupId,則直接對應至 target.group.product_object_id。 |
Data.GroupName |
target.group.group_display_name |
直接對應至 target.group.group_display_name。 |
Data.JobName |
additional.fields |
以「JobName」鍵新增為額外欄位。 |
Data.MemberId |
target.user.userid |
如果沒有 Data.Updates.0.MemberId,則直接對應至 target.user.userid。 |
Data.MemberDisplayName |
target.user.user_display_name |
直接對應至 target.user.user_display_name。 |
Data.NamespaceId |
target.resource.product_object_id |
如果沒有 PipelineId、AuthorizationId 和 AgentId,則會對應至 target.resource.product_object_id。 |
Data.NamespaceName |
target.resource.name |
如果沒有 PipelineName,則會對應至 target.resource.name。 |
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 |
以「Reason」鍵新增為額外欄位。 |
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 |
以「範圍」為鍵新增為標籤。 |
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 |
以「露點」為鍵新增為額外欄位。 |
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 |
以「Precipitation」為鍵新增為額外欄位。 |
Pressure |
additional.fields |
以「Pressure」為鍵新增為額外欄位。 |
ProjectId |
target.resource_ancestors.product_object_id |
當祖系為 CLOUD_PROJECT 類型時,用於在 target.resource_ancestors 中填入 product_object_id 欄位。 |
ProjectName |
target.resource_ancestors.name、target.resource.attribute.labels |
當祖系為 CLOUD_PROJECT 類型時,用於在 target.resource_ancestors 中填入 name 欄位。也以「ProjectName」鍵的形式新增為 target.resource.attribute.labels 的標籤。 |
RoleLocation |
target.location.name |
直接對應至 target.location.name。 |
ScopeDisplayName |
target.resource_ancestors.name |
當祖系為 CLOUD_ORGANIZATION 類型時,用於在 target.resource_ancestors 中填入 name 欄位。 |
ScopeId |
target.resource_ancestors.product_object_id |
當祖系為 CLOUD_ORGANIZATION 類型時,用於在 target.resource_ancestors 中填入 product_object_id 欄位。 |
ScopeType |
additional.fields |
以「ScopeType」鍵新增為額外欄位。 |
Sunrise |
additional.fields |
以「Sunrise」為鍵新增為額外欄位。 |
Sunset |
additional.fields |
以「Sunset」為鍵新增為額外欄位。 |
Temperature |
additional.fields |
新增為鍵為「Temperature」的額外欄位。 |
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」。 |
| 不適用 | 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 |
如果 AuthenticationMechanism 包含「ServicePrincipal」,請設為「SERVICE_ACCOUNT_TYPE」,否則請設為「CLOUD_ACCOUNT_TYPE」。 |
| 不適用 | target.asset.attribute.cloud.environment |
設為 MICROSOFT_AZURE。 |
| 不適用 | security_result.action |
如果作業成功 (成功、已建立、已修改、已執行、已更新、已移除),請設為「ALLOW」;如果作業失敗 (失敗、逾時),請設為「BLOCK」。 |
| 不適用 | extensions.auth.mechanism |
如果 summary 是「UserAuthToken」,請設為「USERNAME_PASSWORD」。 |
| 不適用 | target.resource.resource_type |
如果存在 pipeline_id,則設為「SETTING」;如果存在 authorization_id,則設為「CREDENTIAL」;如果存在 agent_id,則設為「DEVICE」;如果存在 namespace_id,則設為「DATABASE」。否則,系統會根據 operationName 在某些情況下將其設為「STORAGE_BUCKET」。 |
| 不適用 | target.resource.resource_subtype |
如果存在 pipeline_id,請設為「Pipeline」;如果存在 authorization_id,請設為「Token」;如果存在 agent_id,請設為「Agent」;如果存在 namespace_id,請設為「Namespace」。 |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。