From d041568efcb2fdd908de6c4aee963856e34bf2a1 Mon Sep 17 00:00:00 2001 From: v-sabiraj Date: Tue, 21 Nov 2023 22:59:38 +0530 Subject: [PATCH] fixing ARM validations --- Solutions/SOC Handbook/Package/3.0.2.zip | Bin 92904 -> 92888 bytes .../SOC Handbook/Package/mainTemplate.json | 2 +- .../SentinelSOARessentials/Package/3.0.2.zip | Bin 75585 -> 75567 bytes .../Package/mainTemplate.json | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Solutions/SOC Handbook/Package/3.0.2.zip b/Solutions/SOC Handbook/Package/3.0.2.zip index 7caeec9e733ccc5edf02e4fdb128dc5ddb75cc94..5d42e6a49948862cf0fab5e6e283053eb9d43190 100644 GIT binary patch delta 49742 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

E@zNP3DO==KmfMp@l7^jkiY9GS~ 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%0AKbU#+I6>*~K`*&V&~i)rtV`-F>Z+^G9owlS|# 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 K22N@L0002J^oKP7 diff --git a/Solutions/SOC Handbook/Package/mainTemplate.json b/Solutions/SOC Handbook/Package/mainTemplate.json index ae4c3e06598..e0fb7f8a702 100644 --- a/Solutions/SOC Handbook/Package/mainTemplate.json +++ b/Solutions/SOC Handbook/Package/mainTemplate.json @@ -747,7 +747,7 @@ }, "properties": { "displayName": "[parameters('workbook7-name')]", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Incident Overview\"},\"customWidth\":\"35\",\"name\":\"Headline\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"9a199167-2dde-49dd-8f01-23e9d1fa8151\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalWSs\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/workspaces/\\\" Workspace \\\"/\\\" *\\r\\n| project Workspace\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"7806fefd-432f-4828-9756-8c0be5c08d07\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalSub\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/subscriptions/\\\" subscriptions \\\"/\\\" *\\r\\n| project subscriptions\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"55d3ab63-6e1f-4d02-8d9e-2225526689c7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"query\":\"summarize by subscriptionId\\r\\n| project subscriptionId, Subscription=strcat(\\\"/subscriptions/\\\", subscriptionId)\\r\\n| extend selected = iff(subscriptionId =~ '{InternalSub}', true, false)\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":\"\"},{\"id\":\"95a45501-31b5-4ea2-bcb3-eb208e0080e2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"//resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains //'SecurityInsights' | project id //= tostring(properties.workspaceResourceId)\\r\\n\\r\\nwhere type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| project value =id, label = name, selected = iff(name =~ '{InternalWSs}', true, false)\\r\\n\\r\\n\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"7d597ad7-4a2a-45ed-a4fe-7ee32de0fc22\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"label\":\"Incident Creation Time\",\"type\":4,\"isRequired\":true,\"value\":{\"durationMs\":2592000000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000}],\"allowCustom\":true}},{\"id\":\"3a87d4f7-42cc-4c62-b543-6b5d9ab8cf27\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Severity\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| summarize Count = count(IncidentNumber) by Severity\\r\\n| project Value = Severity, Label = strcat(Severity, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"81085d3a-5aca-488e-b7c6-ecf1167e59f7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Tactics\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| mv-expand Tactics to typeof(string)\\r\\n| summarize Count=count(IncidentNumber) by Tactics\\r\\n| project Value = Tactics, Label = strcat(Tactics, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"0f9efb0d-ac34-41d0-8a19-165840eb2a71\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Owner\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend owner = tostring(Owner.assignedTo) \\r\\n| summarize Count=count(IncidentNumber) by Owner= case(owner==\\\"\\\", \\\"Unassigned\\\",owner)\\r\\n| project Value = Owner, Label = strcat(Owner, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"cf86113b-59ad-4fc9-aeb7-9b44e230641e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Product\",\"label\":\"Product Name\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Product = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0]) \\r\\n| summarize Count=count(IncidentNumber) by Product\\r\\n| project Value = Product, Label = strcat(Product, \\\": \\\", Count)\\r\\n\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"1fea48e7-99b2-4664-8eb6-bd35fc4efaf0\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"resourceGroup\",\"type\":1,\"query\":\"resources\\r\\n| where type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| where id == \\\"{Workspace:lable}\\\"\\r\\n| project resourceGroup\",\"crossComponentResources\":[\"{Subscription}\"],\"isHiddenWhenLocked\":true,\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"2908f26a-6238-43ed-9aa0-546c9041d918\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Help\",\"label\":\"Show Help\",\"type\":10,\"isRequired\":true,\"jsonData\":\"[{ \\\"value\\\": \\\"Yes\\\", \\\"label\\\": \\\"Yes\\\"},\\r\\n {\\\"value\\\": \\\"No\\\", \\\"label\\\": \\\"No\\\", \\\"selected\\\":true }]\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"}],\"style\":\"above\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"100\",\"name\":\"parameters - 6\"},{\"type\":1,\"content\":{\"json\":\"The Incident Overview workbook is designed to assist in triaging and investigation by providing in-depth information about the incident, including:\\r\\n* General information\\r\\n* Entity data\\r\\n* Triage time (time between incident creation and first response)\\r\\n* Mitigation time (time between incident creation and closing)\\r\\n* Comments\\r\\n* Remediation information from the Alerts or from a Watchlist - setup readme: https://github.com/Azure/Azure-Sentinel/wiki/SOC-Process-Framework\\r\\n\\r\\nCustomize this workbook by saving and editing it. \\r\\nYou can reach this workbook template from the incidents panel as well. Once you have customized it, the link from the incident panel will open the customized workbook instead of the template.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"customWidth\":\"100\",\"name\":\"Info\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"9aec751b-07bd-43ba-80b9-f711887dce45\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentNumber\",\"label\":\"Incident Number\",\"type\":1,\"isRequired\":true,\"value\":\"\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"},{\"id\":\"9ef1a34d-5c8e-42ad-b1d7-1353e0091060\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"testRemediation\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n| project value=iif(isempty(Remediation),'0','1')\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"e5d4131c-43a9-4f92-87c9-dbf647530c9c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"watchListExists\",\"type\":1,\"isRequired\":true,\"query\":\"_GetWatchlist('SocRA')\\r\\n| limit 1\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"50\",\"name\":\"parameters - 6 - Copy\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"f978edb2-9886-4bff-8e12-8280800321c3\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentID\",\"label\":\"Incident Name\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| take 1\\r\\n| project IncidentName\\r\\n\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"3b8e6cdd-4578-49cb-a515-1f9dec104fd7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"RuleId\",\"label\":\"Rule Id\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| summarize arg_max(TimeGenerated, RelatedAnalyticRuleIds) by IncidentNumber\\r\\n| project RelatedAnalyticRuleIds\",\"crossComponentResources\":[\"{Workspace}\"],\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"conditionalVisibility\":{\"parameterName\":\"IncidentNumber\",\"comparison\":\"isEqualTo\",\"value\":\"e\"},\"customWidth\":\"50\",\"name\":\"Invisible parameters\"},{\"type\":1,\"content\":{\"json\":\"## General Incident Information \"},\"customWidth\":\"67\",\"name\":\"Headline - general info\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let incidentNumberToCheck = '{IncidentNumber}';\\r\\nlet incidentWithNoAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) == 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n;\\r\\nlet incidentWithAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) > 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join kind=leftouter\\r\\n(SecurityAlert\\r\\n| summarize arg_max(TimeGenerated,AlertName, Description, AlertType, Entities) by SystemAlertId) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize AlertName = makelist(AlertName), AlertType = makelist(AlertType) by Comments, Labels, Title, Products, AlertsCount = Alerts, Bookmarks, Status, Severity, Owner, IncidentCreated, ClassificationComment, Classification, ClassificationReason\\r\\n| extend AlertNames = strcat_array(AlertName, \\\", \\\"), AlertTypes = strcat_array(AlertType, \\\", \\\")\\r\\n;\\r\\nincidentWithNoAlertsQuery\\r\\n| union incidentWithAlertsQuery\\r\\n| project packed = pack_all()\\r\\n| mv-expand packed\\r\\n| parse tostring(packed) with * '\\\"' Field '\\\":\\\"' Value '\\\"}'\\r\\n| where Field in ('Severity', 'Owner','Status', 'AlertsCount','Products','Title', 'IncidentCreated', 'Labels','Bookmarks', 'AlertNames', 'AlertsType', 'Classification','ClassificationComment','ClassificationReason')\\r\\n| extend Field1 = case(Field== \\\"IncidentCreated\\\", \\\"Time created\\\", Field == \\\"AlertsCount\\\", \\\"Alert count\\\", Field == \\\"ClassificationComment\\\", \\\"Classification Comment\\\", Field == \\\"ClassificationReason\\\", \\\"Classification Reason\\\", Field == \\\"AlertNames\\\", \\\"Alert Names\\\", Field)\\r\\n| extend Order = case(Field==\\\"Title\\\", 1,Field==\\\"IncidentCreated\\\", 2,Field==\\\"Severity\\\", 3,Field==\\\"Status\\\", 4,Field==\\\"Owner\\\", 5,Field==\\\"Products\\\", 6,Field==\\\"AlertsType\\\",6,Field==\\\"AlertsCount\\\", 7,Field==\\\"Bookmarks\\\", 8, Field==\\\"Labels\\\", 9,Field==\\\"Classification\\\", 10,Field==\\\"ClassificationReason\\\",11, 100)\",\"size\":0,\"noDataMessage\":\"Enter an incident number\",\"noDataMessageStyle\":5,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":false}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"New\",\"representation\":\"blue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Active\",\"representation\":\"lightBlue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Closed\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]}},\"secondaryContent\":{\"columnMatch\":\"Remediation_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"67\",\"name\":\"general info\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Closing Classifications of Similar Incidents\"},\"name\":\"Headline - classification\"},{\"type\":1,\"content\":{\"json\":\"Closing classifications of incidents that where created from the same rule in the past month\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"Info - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let alertText = strcat_array(dynamic([{RuleId}]),\\\",\\\");\\r\\nlet getAmountOfIncidentForRuleId = (classification:string){\\r\\n SecurityIncident\\r\\n | where TimeGenerated >= ago(30d)\\r\\n | where Classification == classification\\r\\n | mv-expand AlertId=AlertIds\\r\\n | extend AlertId=tostring(AlertId)\\r\\n | join (SecurityAlert| where TimeGenerated >=ago(30d)) on $left.AlertId==$right.SystemAlertId\\r\\n | mv-expand RuleId=RelatedAnalyticRuleIds\\r\\n | extend RuleId=iff(ProductName!= 'Azure Sentinel', ProductName,RuleId)\\r\\n | summarize counter=count() by RuleIdentifier=tostring(RuleId)\\r\\n | extend RuleId=RuleIdentifier\\r\\n | project-away RuleIdentifier\\r\\n};\\r\\nlet falsePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"FalsePositive\\\") | extend FalsePositiveCounter=counter | project-away counter;\\r\\nlet undeterminedClassificationTable = getAmountOfIncidentForRuleId(\\\"Undetermined\\\") | extend UndeterminedCounter=counter | project-away counter;\\r\\nlet benignPositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"BenignPositive\\\") | extend BenignPositiveCounter=counter | project-away counter;\\r\\nlet truePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"TruePositive\\\") | extend TruePositiveCounter=counter | project-away counter;\\r\\nlet closedIncidentTable = SecurityIncident| where TimeGenerated >= ago(30d) |where Status == \\\"Closed\\\" | mv-expand AlertId=AlertIds| extend AlertId=tostring(AlertId)| join SecurityAlert on $left.AlertId==$right.SystemAlertId| mv-expand RelatedAnalyticRuleIds| extend RuleId= iff(ProductName == 'Azure Sentinel', tostring(RelatedAnalyticRuleIds), ProductName);\\r\\nlet joinByRuleId = (T:(RuleId:string), S:(RuleId:string)){\\r\\n T \\r\\n | join kind=fullouter S on $left.RuleId == $right.RuleId\\r\\n | extend RuleId= iff(RuleId == '', RuleId1,RuleId)\\r\\n | project-away RuleId1\\r\\n};\\r\\njoinByRuleId(joinByRuleId(joinByRuleId(joinByRuleId(falsePositiveClassificationTable, undeterminedClassificationTable) , benignPositiveClassificationTable), truePositiveClassificationTable),closedIncidentTable)\\r\\n| join kind=leftouter (SecurityAlert\\r\\n| where TimeGenerated >= ago(30d)\\r\\n| where ProductName == 'Azure Sentinel'\\r\\n| extend RuleId = parsejson( tostring(todynamic(ExtendedProperties)['Analytic Rule Ids']))\\r\\n| mv-expand RuleId=RuleId\\r\\n| extend RuleId=tostring(RuleId)\\r\\n| extend RuleName= tostring(todynamic(ExtendedProperties)['Analytic Rule Name'])\\r\\n| project RuleId,RuleName\\r\\n| distinct RuleId,RuleName)\\r\\n on $left.RuleId==$right.RuleId\\r\\n| extend RuleName=iff(isempty(RuleName),RuleId,RuleName)\\r\\n| project-away RuleId1\\r\\n| where alertText has RuleId \\r\\n| summarize dcount(IncidentNumber) by Classification\",\"size\":0,\"noDataMessage\":\"No recent closed incident were found\",\"noDataMessageStyle\":4,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"name\":\"Closing classification\"}]},\"customWidth\":\"33\",\"name\":\"Similar\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"⚠️ Remediations - click to Open\",\"expandable\":true,\"expanded\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recommended Actions\"},\"name\":\"text - 15\"},{\"type\":1,\"content\":{\"json\":\"### Remediations and Actions Help\\r\\nIn this section of the Workbook, which only is visiable if an Alert has remediation entries, the default Remediations that are contained in the Alert data will be shown (Basic view). \\r\\nNote, not all Alerts have this data. \\r\\nHowever you can provide you own set of Alerts mapped to the Alert \\\"Title\\\". This enhanced feature, uses a Watchlist which has an alias name of: SocRA when you import it (Advanced view).\\r\\n\\r\\n \\r\\n### WatchList Instructions\\r\\n\\r\\n* You must download the Watchlist file called:\\r\\n### SOCAnalystActionsByAlert.csv \\r\\n\\r\\nIcon-security-248(https://github.com/Azure/Azure-Sentinel/blob/master/docs/SOCAnalystActionsByAlert.csv)\\r\\n \\r\\n * Name the Watchlist alias as: \\r\\n ### SocRA \\r\\n * Note: SocRA is case sensitive, you need an uppercase S, R and A.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - ra Help text\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n// extract URL from the string \\r\\n| extend url_ = iif(Remediation contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,tostring(Remediation)),\\\"\\\")\\r\\n| serialize\\r\\n| extend IncidentNumber = iif(prev(IncidentNumber) == IncidentNumber,'',IncidentNumber), Title = iif(prev(Title) == Title,'',Title)\\r\\n\",\"size\":1,\"title\":\"Incident and Remediations - Basic View (from Alert) \",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Remediation\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"labelSettings\":[{\"columnId\":\"url_\",\"label\":\"URL\",\"comment\":\"Show a URL if available \"}]},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isEqualTo\"},\"name\":\"query - basic View \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('SocRA')\\r\\n| join\\r\\n (\\r\\n SecurityIncident | where IncidentNumber == '{IncidentNumber}' \\r\\n | summarize arg_max(TimeGenerated, CreatedTime, Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification, ClassificationReason, ClassificationComment, Labels, Title, AlertIds) by IncidentNumber\\r\\n ) on $left.Alert == $right.Title\\r\\n| project-keep A*, Status, Severity //, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19\\r\\n| project-reorder Alert, Status, Severity, A* asc\\r\\n| project-away AlertIds, AdditionalData\\r\\n| evaluate narrow()\\r\\n| extend url_ = iif(Value contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,Value),\\\"\\\")\\r\\n| extend r = iif(Column startswith 'A', extract(@\\\"\\\\d+\\\",0,tostring(Column)),\\\"\\\")\\r\\n| where isnotempty(Value)\\r\\n| project tostring(Column), RemediationStep =Value, URLtoOpen=url_,toint(r)\\r\\n| order by Column desc, r asc \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\"size\":0,\"title\":\"Incident and Remediations - Advanced View (from Watchlist, \\\"SocRA\\\") Incident Number:{IncidentNumber}\",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Remediation\",\"formatter\":18,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true,\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"URLtoOpen\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"filter\":true,\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"r\",\"label\":\"AlertOrder\"}]},\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isNotEqualTo\"},\"name\":\"query - advanced View\"}]},\"name\":\"RecActions\"},{\"type\":1,\"content\":{\"json\":\"## Incident Entities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"data\\\":null,\\\"headers\\\":[],\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.metaData\\\"}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"entityKind\",\"formatter\":12,\"formatOptions\":{\"palette\":\"blue\"}},\"leftContent\":{\"columnMatch\":\"count\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"30\",\"name\":\"Entities\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"data\\\":null,\\\"headers\\\":[],\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.entities\\\",\\\"columns\\\":[{\\\"path\\\":\\\"$.kind\\\",\\\"columnid\\\":\\\"Kind\\\"},{\\\"path\\\":\\\"$.properties.friendlyName\\\",\\\"columnid\\\":\\\"Name\\\"}]}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"table\",\"gridSettings\":{\"hierarchySettings\":{\"treeType\":1,\"groupBy\":[\"Kind\"],\"expandTopLevel\":true}},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"kind\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"subtitleContent\":{\"columnMatch\":\"properties\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"kind\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"70\",\"name\":\"Entities List\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recent activities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| order by LastModifiedTime \\n| project LastModifiedTime,IncidentNumber, Title, Product, IncidentUrl, ModifiedBy,Status, Severity, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"labelSettings\":[{\"columnId\":\"LastModifiedTime\",\"label\":\"Last Modified Time\"},{\"columnId\":\"IncidentNumber\",\"label\":\"Incident Number\"},{\"columnId\":\"IncidentUrl\",\"label\":\"Link to incident\"},{\"columnId\":\"ModifiedBy\",\"label\":\"Modified By\"}]},\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Incident's Comments\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| summarize arg_max(TimeGenerated,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments) by IncidentNumber\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| mv-expand Comments to typeof(string)\\n| extend Message = extract('message\\\":\\\"(.*?)\\\"',1,tostring(Comments)), Author = extract('name\\\":\\\"(.*?)\\\"',1,tostring(Comments)), CreatedTimeUTC = extract('createdTimeUtc\\\":\\\"(.*?)\\\"',1,tostring(Comments))\\n| project CreatedTimeUTC, Author, Message, IncidentNumber, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}],\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time - Copy\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to closure\\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| summarize arg_max(TimeGenerated,Title, ClosedTime, CreatedTime) by IncidentNumber \\n| where isnotnull(ClosedTime)\\n| extend TimeToClosure = (ClosedTime - CreatedTime)/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"TimeToClosure\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to mitigate\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to triage \\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where ModifiedBy != 'Incident created from alert'\\n| summarize arg_max(LastModifiedTime,*) by IncidentNumber \\n| where isnotnull(FirstModifiedTime)\\n| extend TimeToTriage = FirstModifiedTime - CreatedTime\\n| project IncidentNumber, MeanToTriage = TimeToTriage/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":94608000000,\"endTime\":\"2023-06-01T17:13:00Z\"},\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"MeanToTriage\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to close\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}}],\"fromTemplateId\":\"sentinel-IncidentOverview\",\"$schema\":\"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"}\r\n", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Incident Overview\"},\"customWidth\":\"35\",\"name\":\"Headline\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"9a199167-2dde-49dd-8f01-23e9d1fa8151\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalWSs\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/workspaces/\\\" Workspace \\\"/\\\" *\\r\\n| project Workspace\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"7806fefd-432f-4828-9756-8c0be5c08d07\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalSub\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/subscriptions/\\\" subscriptions \\\"/\\\" *\\r\\n| project subscriptions\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"55d3ab63-6e1f-4d02-8d9e-2225526689c7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"query\":\"summarize by subscriptionId\\r\\n| project subscriptionId, Subscription=strcat(\\\"/subscriptions/\\\", subscriptionId)\\r\\n| extend selected = iff(subscriptionId =~ '{InternalSub}', true, false)\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":\"\"},{\"id\":\"95a45501-31b5-4ea2-bcb3-eb208e0080e2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"//resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains //'SecurityInsights' | project id //= tostring(properties.workspaceResourceId)\\r\\n\\r\\nwhere type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| project value =id, label = name, selected = iff(name =~ '{InternalWSs}', true, false)\\r\\n\\r\\n\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"7d597ad7-4a2a-45ed-a4fe-7ee32de0fc22\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"label\":\"Incident Creation Time\",\"type\":4,\"isRequired\":true,\"value\":{\"durationMs\":2592000000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000}],\"allowCustom\":true}},{\"id\":\"3a87d4f7-42cc-4c62-b543-6b5d9ab8cf27\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Severity\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| summarize Count = count(IncidentNumber) by Severity\\r\\n| project Value = Severity, Label = strcat(Severity, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"81085d3a-5aca-488e-b7c6-ecf1167e59f7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Tactics\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| mv-expand Tactics to typeof(string)\\r\\n| summarize Count=count(IncidentNumber) by Tactics\\r\\n| project Value = Tactics, Label = strcat(Tactics, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"0f9efb0d-ac34-41d0-8a19-165840eb2a71\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Owner\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend owner = tostring(Owner.assignedTo) \\r\\n| summarize Count=count(IncidentNumber) by Owner= case(owner==\\\"\\\", \\\"Unassigned\\\",owner)\\r\\n| project Value = Owner, Label = strcat(Owner, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"cf86113b-59ad-4fc9-aeb7-9b44e230641e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Product\",\"label\":\"Product Name\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Product = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0]) \\r\\n| summarize Count=count(IncidentNumber) by Product\\r\\n| project Value = Product, Label = strcat(Product, \\\": \\\", Count)\\r\\n\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"1fea48e7-99b2-4664-8eb6-bd35fc4efaf0\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"resourceGroup\",\"type\":1,\"query\":\"resources\\r\\n| where type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| where id == \\\"{Workspace:lable}\\\"\\r\\n| project resourceGroup\",\"crossComponentResources\":[\"{Subscription}\"],\"isHiddenWhenLocked\":true,\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"2908f26a-6238-43ed-9aa0-546c9041d918\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Help\",\"label\":\"Show Help\",\"type\":10,\"isRequired\":true,\"jsonData\":\"[{ \\\"value\\\": \\\"Yes\\\", \\\"label\\\": \\\"Yes\\\"},\\r\\n {\\\"value\\\": \\\"No\\\", \\\"label\\\": \\\"No\\\", \\\"selected\\\":true }]\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"}],\"style\":\"above\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"100\",\"name\":\"parameters - 6\"},{\"type\":1,\"content\":{\"json\":\"The Incident Overview workbook is designed to assist in triaging and investigation by providing in-depth information about the incident, including:\\r\\n* General information\\r\\n* Entity data\\r\\n* Triage time (time between incident creation and first response)\\r\\n* Mitigation time (time between incident creation and closing)\\r\\n* Comments\\r\\n* Remediation information from the Alerts or from a Watchlist - setup readme: https://github.com/Azure/Azure-Sentinel/wiki/SOC-Process-Framework\\r\\n\\r\\nCustomize this workbook by saving and editing it. \\r\\nYou can reach this workbook template from the incidents panel as well. Once you have customized it, the link from the incident panel will open the customized workbook instead of the template.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"customWidth\":\"100\",\"name\":\"Info\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"9aec751b-07bd-43ba-80b9-f711887dce45\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentNumber\",\"label\":\"Incident Number\",\"type\":1,\"isRequired\":true,\"value\":\"\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"},{\"id\":\"9ef1a34d-5c8e-42ad-b1d7-1353e0091060\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"testRemediation\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n| project value=iif(isempty(Remediation),'0','1')\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"e5d4131c-43a9-4f92-87c9-dbf647530c9c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"watchListExists\",\"type\":1,\"isRequired\":true,\"query\":\"_GetWatchlist('SocRA')\\r\\n| limit 1\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"50\",\"name\":\"parameters - 6 - Copy\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"f978edb2-9886-4bff-8e12-8280800321c3\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentID\",\"label\":\"Incident Name\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| take 1\\r\\n| project IncidentName\\r\\n\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"3b8e6cdd-4578-49cb-a515-1f9dec104fd7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"RuleId\",\"label\":\"Rule Id\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| summarize arg_max(TimeGenerated, RelatedAnalyticRuleIds) by IncidentNumber\\r\\n| project RelatedAnalyticRuleIds\",\"crossComponentResources\":[\"{Workspace}\"],\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"conditionalVisibility\":{\"parameterName\":\"IncidentNumber\",\"comparison\":\"isEqualTo\",\"value\":\"e\"},\"customWidth\":\"50\",\"name\":\"Invisible parameters\"},{\"type\":1,\"content\":{\"json\":\"## General Incident Information \"},\"customWidth\":\"67\",\"name\":\"Headline - general info\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let incidentNumberToCheck = '{IncidentNumber}';\\r\\nlet incidentWithNoAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) == 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n;\\r\\nlet incidentWithAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) > 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join kind=leftouter\\r\\n(SecurityAlert\\r\\n| summarize arg_max(TimeGenerated,AlertName, Description, AlertType, Entities) by SystemAlertId) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize AlertName = makelist(AlertName), AlertType = makelist(AlertType) by Comments, Labels, Title, Products, AlertsCount = Alerts, Bookmarks, Status, Severity, Owner, IncidentCreated, ClassificationComment, Classification, ClassificationReason\\r\\n| extend AlertNames = strcat_array(AlertName, \\\", \\\"), AlertTypes = strcat_array(AlertType, \\\", \\\")\\r\\n;\\r\\nincidentWithNoAlertsQuery\\r\\n| union incidentWithAlertsQuery\\r\\n| project packed = pack_all()\\r\\n| mv-expand packed\\r\\n| parse tostring(packed) with * '\\\"' Field '\\\":\\\"' Value '\\\"}'\\r\\n| where Field in ('Severity', 'Owner','Status', 'AlertsCount','Products','Title', 'IncidentCreated', 'Labels','Bookmarks', 'AlertNames', 'AlertsType', 'Classification','ClassificationComment','ClassificationReason')\\r\\n| extend Field1 = case(Field== \\\"IncidentCreated\\\", \\\"Time created\\\", Field == \\\"AlertsCount\\\", \\\"Alert count\\\", Field == \\\"ClassificationComment\\\", \\\"Classification Comment\\\", Field == \\\"ClassificationReason\\\", \\\"Classification Reason\\\", Field == \\\"AlertNames\\\", \\\"Alert Names\\\", Field)\\r\\n| extend Order = case(Field==\\\"Title\\\", 1,Field==\\\"IncidentCreated\\\", 2,Field==\\\"Severity\\\", 3,Field==\\\"Status\\\", 4,Field==\\\"Owner\\\", 5,Field==\\\"Products\\\", 6,Field==\\\"AlertsType\\\",6,Field==\\\"AlertsCount\\\", 7,Field==\\\"Bookmarks\\\", 8, Field==\\\"Labels\\\", 9,Field==\\\"Classification\\\", 10,Field==\\\"ClassificationReason\\\",11, 100)\",\"size\":0,\"noDataMessage\":\"Enter an incident number\",\"noDataMessageStyle\":5,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":false}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"New\",\"representation\":\"blue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Active\",\"representation\":\"lightBlue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Closed\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]}},\"secondaryContent\":{\"columnMatch\":\"Remediation_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"67\",\"name\":\"general info\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Closing Classifications of Similar Incidents\"},\"name\":\"Headline - classification\"},{\"type\":1,\"content\":{\"json\":\"Closing classifications of incidents that where created from the same rule in the past month\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"Info - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let alertText = strcat_array(dynamic([{RuleId}]),\\\",\\\");\\r\\nlet getAmountOfIncidentForRuleId = (classification:string){\\r\\n SecurityIncident\\r\\n | where TimeGenerated >= ago(30d)\\r\\n | where Classification == classification\\r\\n | mv-expand AlertId=AlertIds\\r\\n | extend AlertId=tostring(AlertId)\\r\\n | join (SecurityAlert| where TimeGenerated >=ago(30d)) on $left.AlertId==$right.SystemAlertId\\r\\n | mv-expand RuleId=RelatedAnalyticRuleIds\\r\\n | extend RuleId=iff(ProductName!= 'Azure Sentinel', ProductName,RuleId)\\r\\n | summarize counter=count() by RuleIdentifier=tostring(RuleId)\\r\\n | extend RuleId=RuleIdentifier\\r\\n | project-away RuleIdentifier\\r\\n};\\r\\nlet falsePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"FalsePositive\\\") | extend FalsePositiveCounter=counter | project-away counter;\\r\\nlet undeterminedClassificationTable = getAmountOfIncidentForRuleId(\\\"Undetermined\\\") | extend UndeterminedCounter=counter | project-away counter;\\r\\nlet benignPositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"BenignPositive\\\") | extend BenignPositiveCounter=counter | project-away counter;\\r\\nlet truePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"TruePositive\\\") | extend TruePositiveCounter=counter | project-away counter;\\r\\nlet closedIncidentTable = SecurityIncident| where TimeGenerated >= ago(30d) |where Status == \\\"Closed\\\" | mv-expand AlertId=AlertIds| extend AlertId=tostring(AlertId)| join SecurityAlert on $left.AlertId==$right.SystemAlertId| mv-expand RelatedAnalyticRuleIds| extend RuleId= iff(ProductName == 'Azure Sentinel', tostring(RelatedAnalyticRuleIds), ProductName);\\r\\nlet joinByRuleId = (T:(RuleId:string), S:(RuleId:string)){\\r\\n T \\r\\n | join kind=fullouter S on $left.RuleId == $right.RuleId\\r\\n | extend RuleId= iff(RuleId == '', RuleId1,RuleId)\\r\\n | project-away RuleId1\\r\\n};\\r\\njoinByRuleId(joinByRuleId(joinByRuleId(joinByRuleId(falsePositiveClassificationTable, undeterminedClassificationTable) , benignPositiveClassificationTable), truePositiveClassificationTable),closedIncidentTable)\\r\\n| join kind=leftouter (SecurityAlert\\r\\n| where TimeGenerated >= ago(30d)\\r\\n| where ProductName == 'Azure Sentinel'\\r\\n| extend RuleId = parsejson( tostring(todynamic(ExtendedProperties)['Analytic Rule Ids']))\\r\\n| mv-expand RuleId=RuleId\\r\\n| extend RuleId=tostring(RuleId)\\r\\n| extend RuleName= tostring(todynamic(ExtendedProperties)['Analytic Rule Name'])\\r\\n| project RuleId,RuleName\\r\\n| distinct RuleId,RuleName)\\r\\n on $left.RuleId==$right.RuleId\\r\\n| extend RuleName=iff(isempty(RuleName),RuleId,RuleName)\\r\\n| project-away RuleId1\\r\\n| where alertText has RuleId \\r\\n| summarize dcount(IncidentNumber) by Classification\",\"size\":0,\"noDataMessage\":\"No recent closed incident were found\",\"noDataMessageStyle\":4,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"name\":\"Closing classification\"}]},\"customWidth\":\"33\",\"name\":\"Similar\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"⚠️ Remediations - click to Open\",\"expandable\":true,\"expanded\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recommended Actions\"},\"name\":\"text - 15\"},{\"type\":1,\"content\":{\"json\":\"### Remediations and Actions Help\\r\\nIn this section of the Workbook, which only is visiable if an Alert has remediation entries, the default Remediations that are contained in the Alert data will be shown (Basic view). \\r\\nNote, not all Alerts have this data. \\r\\nHowever you can provide you own set of Alerts mapped to the Alert \\\"Title\\\". This enhanced feature, uses a Watchlist which has an alias name of: SocRA when you import it (Advanced view).\\r\\n\\r\\n \\r\\n### WatchList Instructions\\r\\n\\r\\n* You must download the Watchlist file called:\\r\\n### SOCAnalystActionsByAlert.csv \\r\\n\\r\\nIcon-security-248(https://github.com/Azure/Azure-Sentinel/blob/master/docs/SOCAnalystActionsByAlert.csv)\\r\\n \\r\\n * Name the Watchlist alias as: \\r\\n ### SocRA \\r\\n * Note: SocRA is case sensitive, you need an uppercase S, R and A.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - ra Help text\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n// extract URL from the string \\r\\n| extend url_ = iif(Remediation contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,tostring(Remediation)),\\\"\\\")\\r\\n| serialize\\r\\n| extend IncidentNumber = iif(prev(IncidentNumber) == IncidentNumber,'',IncidentNumber), Title = iif(prev(Title) == Title,'',Title)\\r\\n\",\"size\":1,\"title\":\"Incident and Remediations - Basic View (from Alert) \",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Remediation\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"labelSettings\":[{\"columnId\":\"url_\",\"label\":\"URL\",\"comment\":\"Show a URL if available \"}]},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isEqualTo\"},\"name\":\"query - basic View \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('SocRA')\\r\\n| join\\r\\n (\\r\\n SecurityIncident | where IncidentNumber == '{IncidentNumber}' \\r\\n | summarize arg_max(TimeGenerated, CreatedTime, Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification, ClassificationReason, ClassificationComment, Labels, Title, AlertIds) by IncidentNumber\\r\\n ) on $left.Alert == $right.Title\\r\\n| project-keep A*, Status, Severity //, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19\\r\\n| project-reorder Alert, Status, Severity, A* asc\\r\\n| project-away AlertIds, AdditionalData\\r\\n| evaluate narrow()\\r\\n| extend url_ = iif(Value contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,Value),\\\"\\\")\\r\\n| extend r = iif(Column startswith 'A', extract(@\\\"\\\\d+\\\",0,tostring(Column)),\\\"\\\")\\r\\n| where isnotempty(Value)\\r\\n| project tostring(Column), RemediationStep =Value, URLtoOpen=url_,toint(r)\\r\\n| order by Column desc, r asc \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\"size\":0,\"title\":\"Incident and Remediations - Advanced View (from Watchlist, \\\"SocRA\\\") Incident Number:{IncidentNumber}\",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Remediation\",\"formatter\":18,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true,\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"URLtoOpen\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"filter\":true,\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"r\",\"label\":\"AlertOrder\"}]},\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isNotEqualTo\"},\"name\":\"query - advanced View\"}]},\"name\":\"RecActions\"},{\"type\":1,\"content\":{\"json\":\"## Incident Entities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.metaData\\\"}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"entityKind\",\"formatter\":12,\"formatOptions\":{\"palette\":\"blue\"}},\"leftContent\":{\"columnMatch\":\"count\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"30\",\"name\":\"Entities\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.entities\\\",\\\"columns\\\":[{\\\"path\\\":\\\"$.kind\\\",\\\"columnid\\\":\\\"Kind\\\"},{\\\"path\\\":\\\"$.properties.friendlyName\\\",\\\"columnid\\\":\\\"Name\\\"}]}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"table\",\"gridSettings\":{\"hierarchySettings\":{\"treeType\":1,\"groupBy\":[\"Kind\"],\"expandTopLevel\":true}},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"kind\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"subtitleContent\":{\"columnMatch\":\"properties\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"kind\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"70\",\"name\":\"Entities List\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recent activities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| order by LastModifiedTime \\n| project LastModifiedTime,IncidentNumber, Title, Product, IncidentUrl, ModifiedBy,Status, Severity, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"labelSettings\":[{\"columnId\":\"LastModifiedTime\",\"label\":\"Last Modified Time\"},{\"columnId\":\"IncidentNumber\",\"label\":\"Incident Number\"},{\"columnId\":\"IncidentUrl\",\"label\":\"Link to incident\"},{\"columnId\":\"ModifiedBy\",\"label\":\"Modified By\"}]},\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Incident's Comments\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| summarize arg_max(TimeGenerated,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments) by IncidentNumber\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| mv-expand Comments to typeof(string)\\n| extend Message = extract('message\\\":\\\"(.*?)\\\"',1,tostring(Comments)), Author = extract('name\\\":\\\"(.*?)\\\"',1,tostring(Comments)), CreatedTimeUTC = extract('createdTimeUtc\\\":\\\"(.*?)\\\"',1,tostring(Comments))\\n| project CreatedTimeUTC, Author, Message, IncidentNumber, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}],\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time - Copy\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to closure\\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| summarize arg_max(TimeGenerated,Title, ClosedTime, CreatedTime) by IncidentNumber \\n| where isnotnull(ClosedTime)\\n| extend TimeToClosure = (ClosedTime - CreatedTime)/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"TimeToClosure\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to mitigate\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to triage \\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where ModifiedBy != 'Incident created from alert'\\n| summarize arg_max(LastModifiedTime,*) by IncidentNumber \\n| where isnotnull(FirstModifiedTime)\\n| extend TimeToTriage = FirstModifiedTime - CreatedTime\\n| project IncidentNumber, MeanToTriage = TimeToTriage/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":94608000000,\"endTime\":\"2023-06-01T17:13:00Z\"},\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"MeanToTriage\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to close\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}}],\"fromTemplateId\":\"sentinel-IncidentOverview\",\"$schema\":\"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"}\r\n", "version": "1.0", "sourceId": "[variables('workspaceResourceId')]", "category": "sentinel" diff --git a/Solutions/SentinelSOARessentials/Package/3.0.2.zip b/Solutions/SentinelSOARessentials/Package/3.0.2.zip index b6ffd700d8151f8b166ceba32b339a846d2a9648..d3f2811d5492d848e864db39dfc3a0c4271ad147 100644 GIT binary patch delta 35954 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 O^Ckf{2B#(g0001*Wiej> diff --git a/Solutions/SentinelSOARessentials/Package/mainTemplate.json b/Solutions/SentinelSOARessentials/Package/mainTemplate.json index 3a0c9f1bb77..946955bc9a7 100644 --- a/Solutions/SentinelSOARessentials/Package/mainTemplate.json +++ b/Solutions/SentinelSOARessentials/Package/mainTemplate.json @@ -7349,7 +7349,7 @@ }, "properties": { "displayName": "[parameters('workbook2-name')]", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Incident Overview\"},\"customWidth\":\"35\",\"name\":\"Headline\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"9a199167-2dde-49dd-8f01-23e9d1fa8151\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalWSs\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/workspaces/\\\" Workspace \\\"/\\\" *\\r\\n| project Workspace\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"7806fefd-432f-4828-9756-8c0be5c08d07\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalSub\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/subscriptions/\\\" subscriptions \\\"/\\\" *\\r\\n| project subscriptions\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"55d3ab63-6e1f-4d02-8d9e-2225526689c7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"query\":\"summarize by subscriptionId\\r\\n| project subscriptionId, Subscription=strcat(\\\"/subscriptions/\\\", subscriptionId)\\r\\n| extend selected = iff(subscriptionId =~ '{InternalSub}', true, false)\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":\"\"},{\"id\":\"95a45501-31b5-4ea2-bcb3-eb208e0080e2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"//resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains //'SecurityInsights' | project id //= tostring(properties.workspaceResourceId)\\r\\n\\r\\nwhere type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| project value =id, label = name, selected = iff(name =~ '{InternalWSs}', true, false)\\r\\n\\r\\n\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"7d597ad7-4a2a-45ed-a4fe-7ee32de0fc22\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"label\":\"Incident Creation Time\",\"type\":4,\"isRequired\":true,\"value\":{\"durationMs\":2592000000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000}],\"allowCustom\":true}},{\"id\":\"3a87d4f7-42cc-4c62-b543-6b5d9ab8cf27\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Severity\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| summarize Count = count(IncidentNumber) by Severity\\r\\n| project Value = Severity, Label = strcat(Severity, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"81085d3a-5aca-488e-b7c6-ecf1167e59f7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Tactics\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| mv-expand Tactics to typeof(string)\\r\\n| summarize Count=count(IncidentNumber) by Tactics\\r\\n| project Value = Tactics, Label = strcat(Tactics, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"0f9efb0d-ac34-41d0-8a19-165840eb2a71\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Owner\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend owner = tostring(Owner.assignedTo) \\r\\n| summarize Count=count(IncidentNumber) by Owner= case(owner==\\\"\\\", \\\"Unassigned\\\",owner)\\r\\n| project Value = Owner, Label = strcat(Owner, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"cf86113b-59ad-4fc9-aeb7-9b44e230641e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Product\",\"label\":\"Product Name\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Product = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0]) \\r\\n| summarize Count=count(IncidentNumber) by Product\\r\\n| project Value = Product, Label = strcat(Product, \\\": \\\", Count)\\r\\n\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"1fea48e7-99b2-4664-8eb6-bd35fc4efaf0\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"resourceGroup\",\"type\":1,\"query\":\"resources\\r\\n| where type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| where id == \\\"{Workspace:lable}\\\"\\r\\n| project resourceGroup\",\"crossComponentResources\":[\"{Subscription}\"],\"isHiddenWhenLocked\":true,\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"2908f26a-6238-43ed-9aa0-546c9041d918\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Help\",\"label\":\"Show Help\",\"type\":10,\"isRequired\":true,\"jsonData\":\"[{ \\\"value\\\": \\\"Yes\\\", \\\"label\\\": \\\"Yes\\\"},\\r\\n {\\\"value\\\": \\\"No\\\", \\\"label\\\": \\\"No\\\", \\\"selected\\\":true }]\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"}],\"style\":\"above\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"100\",\"name\":\"parameters - 6\"},{\"type\":1,\"content\":{\"json\":\"The Incident Overview workbook is designed to assist in triaging and investigation by providing in-depth information about the incident, including:\\r\\n* General information\\r\\n* Entity data\\r\\n* Triage time (time between incident creation and first response)\\r\\n* Mitigation time (time between incident creation and closing)\\r\\n* Comments\\r\\n* Remediation information from the Alerts or from a Watchlist - setup readme: https://github.com/Azure/Azure-Sentinel/wiki/SOC-Process-Framework\\r\\n\\r\\nCustomize this workbook by saving and editing it. \\r\\nYou can reach this workbook template from the incidents panel as well. Once you have customized it, the link from the incident panel will open the customized workbook instead of the template.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"customWidth\":\"100\",\"name\":\"Info\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"9aec751b-07bd-43ba-80b9-f711887dce45\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentNumber\",\"label\":\"Incident Number\",\"type\":1,\"isRequired\":true,\"value\":\"\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"},{\"id\":\"9ef1a34d-5c8e-42ad-b1d7-1353e0091060\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"testRemediation\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n| project value=iif(isempty(Remediation),'0','1')\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"e5d4131c-43a9-4f92-87c9-dbf647530c9c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"watchListExists\",\"type\":1,\"isRequired\":true,\"query\":\"_GetWatchlist('SocRA')\\r\\n| limit 1\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"50\",\"name\":\"parameters - 6 - Copy\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"f978edb2-9886-4bff-8e12-8280800321c3\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentID\",\"label\":\"Incident Name\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| take 1\\r\\n| project IncidentName\\r\\n\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"3b8e6cdd-4578-49cb-a515-1f9dec104fd7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"RuleId\",\"label\":\"Rule Id\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| summarize arg_max(TimeGenerated, RelatedAnalyticRuleIds) by IncidentNumber\\r\\n| project RelatedAnalyticRuleIds\",\"crossComponentResources\":[\"{Workspace}\"],\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"conditionalVisibility\":{\"parameterName\":\"IncidentNumber\",\"comparison\":\"isEqualTo\",\"value\":\"e\"},\"customWidth\":\"50\",\"name\":\"Invisible parameters\"},{\"type\":1,\"content\":{\"json\":\"## General Incident Information \"},\"customWidth\":\"67\",\"name\":\"Headline - general info\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let incidentNumberToCheck = '{IncidentNumber}';\\r\\nlet incidentWithNoAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) == 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n;\\r\\nlet incidentWithAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) > 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join kind=leftouter\\r\\n(SecurityAlert\\r\\n| summarize arg_max(TimeGenerated,AlertName, Description, AlertType, Entities) by SystemAlertId) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize AlertName = makelist(AlertName), AlertType = makelist(AlertType) by Comments, Labels, Title, Products, AlertsCount = Alerts, Bookmarks, Status, Severity, Owner, IncidentCreated, ClassificationComment, Classification, ClassificationReason\\r\\n| extend AlertNames = strcat_array(AlertName, \\\", \\\"), AlertTypes = strcat_array(AlertType, \\\", \\\")\\r\\n;\\r\\nincidentWithNoAlertsQuery\\r\\n| union incidentWithAlertsQuery\\r\\n| project packed = pack_all()\\r\\n| mv-expand packed\\r\\n| parse tostring(packed) with * '\\\"' Field '\\\":\\\"' Value '\\\"}'\\r\\n| where Field in ('Severity', 'Owner','Status', 'AlertsCount','Products','Title', 'IncidentCreated', 'Labels','Bookmarks', 'AlertNames', 'AlertsType', 'Classification','ClassificationComment','ClassificationReason')\\r\\n| extend Field1 = case(Field== \\\"IncidentCreated\\\", \\\"Time created\\\", Field == \\\"AlertsCount\\\", \\\"Alert count\\\", Field == \\\"ClassificationComment\\\", \\\"Classification Comment\\\", Field == \\\"ClassificationReason\\\", \\\"Classification Reason\\\", Field == \\\"AlertNames\\\", \\\"Alert Names\\\", Field)\\r\\n| extend Order = case(Field==\\\"Title\\\", 1,Field==\\\"IncidentCreated\\\", 2,Field==\\\"Severity\\\", 3,Field==\\\"Status\\\", 4,Field==\\\"Owner\\\", 5,Field==\\\"Products\\\", 6,Field==\\\"AlertsType\\\",6,Field==\\\"AlertsCount\\\", 7,Field==\\\"Bookmarks\\\", 8, Field==\\\"Labels\\\", 9,Field==\\\"Classification\\\", 10,Field==\\\"ClassificationReason\\\",11, 100)\",\"size\":0,\"noDataMessage\":\"Enter an incident number\",\"noDataMessageStyle\":5,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":false}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"New\",\"representation\":\"blue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Active\",\"representation\":\"lightBlue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Closed\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]}},\"secondaryContent\":{\"columnMatch\":\"Remediation_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"67\",\"name\":\"general info\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Closing Classifications of Similar Incidents\"},\"name\":\"Headline - classification\"},{\"type\":1,\"content\":{\"json\":\"Closing classifications of incidents that where created from the same rule in the past month\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"Info - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let alertText = strcat_array(dynamic([{RuleId}]),\\\",\\\");\\r\\nlet getAmountOfIncidentForRuleId = (classification:string){\\r\\n SecurityIncident\\r\\n | where TimeGenerated >= ago(30d)\\r\\n | where Classification == classification\\r\\n | mv-expand AlertId=AlertIds\\r\\n | extend AlertId=tostring(AlertId)\\r\\n | join (SecurityAlert| where TimeGenerated >=ago(30d)) on $left.AlertId==$right.SystemAlertId\\r\\n | mv-expand RuleId=RelatedAnalyticRuleIds\\r\\n | extend RuleId=iff(ProductName!= 'Azure Sentinel', ProductName,RuleId)\\r\\n | summarize counter=count() by RuleIdentifier=tostring(RuleId)\\r\\n | extend RuleId=RuleIdentifier\\r\\n | project-away RuleIdentifier\\r\\n};\\r\\nlet falsePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"FalsePositive\\\") | extend FalsePositiveCounter=counter | project-away counter;\\r\\nlet undeterminedClassificationTable = getAmountOfIncidentForRuleId(\\\"Undetermined\\\") | extend UndeterminedCounter=counter | project-away counter;\\r\\nlet benignPositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"BenignPositive\\\") | extend BenignPositiveCounter=counter | project-away counter;\\r\\nlet truePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"TruePositive\\\") | extend TruePositiveCounter=counter | project-away counter;\\r\\nlet closedIncidentTable = SecurityIncident| where TimeGenerated >= ago(30d) |where Status == \\\"Closed\\\" | mv-expand AlertId=AlertIds| extend AlertId=tostring(AlertId)| join SecurityAlert on $left.AlertId==$right.SystemAlertId| mv-expand RelatedAnalyticRuleIds| extend RuleId= iff(ProductName == 'Azure Sentinel', tostring(RelatedAnalyticRuleIds), ProductName);\\r\\nlet joinByRuleId = (T:(RuleId:string), S:(RuleId:string)){\\r\\n T \\r\\n | join kind=fullouter S on $left.RuleId == $right.RuleId\\r\\n | extend RuleId= iff(RuleId == '', RuleId1,RuleId)\\r\\n | project-away RuleId1\\r\\n};\\r\\njoinByRuleId(joinByRuleId(joinByRuleId(joinByRuleId(falsePositiveClassificationTable, undeterminedClassificationTable) , benignPositiveClassificationTable), truePositiveClassificationTable),closedIncidentTable)\\r\\n| join kind=leftouter (SecurityAlert\\r\\n| where TimeGenerated >= ago(30d)\\r\\n| where ProductName == 'Azure Sentinel'\\r\\n| extend RuleId = parsejson( tostring(todynamic(ExtendedProperties)['Analytic Rule Ids']))\\r\\n| mv-expand RuleId=RuleId\\r\\n| extend RuleId=tostring(RuleId)\\r\\n| extend RuleName= tostring(todynamic(ExtendedProperties)['Analytic Rule Name'])\\r\\n| project RuleId,RuleName\\r\\n| distinct RuleId,RuleName)\\r\\n on $left.RuleId==$right.RuleId\\r\\n| extend RuleName=iff(isempty(RuleName),RuleId,RuleName)\\r\\n| project-away RuleId1\\r\\n| where alertText has RuleId \\r\\n| summarize dcount(IncidentNumber) by Classification\",\"size\":0,\"noDataMessage\":\"No recent closed incident were found\",\"noDataMessageStyle\":4,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"name\":\"Closing classification\"}]},\"customWidth\":\"33\",\"name\":\"Similar\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"⚠️ Remediations - click to Open\",\"expandable\":true,\"expanded\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recommended Actions\"},\"name\":\"text - 15\"},{\"type\":1,\"content\":{\"json\":\"### Remediations and Actions Help\\r\\nIn this section of the Workbook, which only is visiable if an Alert has remediation entries, the default Remediations that are contained in the Alert data will be shown (Basic view). \\r\\nNote, not all Alerts have this data. \\r\\nHowever you can provide you own set of Alerts mapped to the Alert \\\"Title\\\". This enhanced feature, uses a Watchlist which has an alias name of: SocRA when you import it (Advanced view).\\r\\n\\r\\n \\r\\n### WatchList Instructions\\r\\n\\r\\n* You must download the Watchlist file called:\\r\\n### SOCAnalystActionsByAlert.csv \\r\\n\\r\\nIcon-security-248(https://github.com/Azure/Azure-Sentinel/blob/master/docs/SOCAnalystActionsByAlert.csv)\\r\\n \\r\\n * Name the Watchlist alias as: \\r\\n ### SocRA \\r\\n * Note: SocRA is case sensitive, you need an uppercase S, R and A.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - ra Help text\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n// extract URL from the string \\r\\n| extend url_ = iif(Remediation contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,tostring(Remediation)),\\\"\\\")\\r\\n| serialize\\r\\n| extend IncidentNumber = iif(prev(IncidentNumber) == IncidentNumber,'',IncidentNumber), Title = iif(prev(Title) == Title,'',Title)\\r\\n\",\"size\":1,\"title\":\"Incident and Remediations - Basic View (from Alert) \",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Remediation\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"labelSettings\":[{\"columnId\":\"url_\",\"label\":\"URL\",\"comment\":\"Show a URL if available \"}]},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isEqualTo\"},\"name\":\"query - basic View \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('SocRA')\\r\\n| join\\r\\n (\\r\\n SecurityIncident | where IncidentNumber == '{IncidentNumber}' \\r\\n | summarize arg_max(TimeGenerated, CreatedTime, Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification, ClassificationReason, ClassificationComment, Labels, Title, AlertIds) by IncidentNumber\\r\\n ) on $left.Alert == $right.Title\\r\\n| project-keep A*, Status, Severity //, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19\\r\\n| project-reorder Alert, Status, Severity, A* asc\\r\\n| project-away AlertIds, AdditionalData\\r\\n| evaluate narrow()\\r\\n| extend url_ = iif(Value contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,Value),\\\"\\\")\\r\\n| extend r = iif(Column startswith 'A', extract(@\\\"\\\\d+\\\",0,tostring(Column)),\\\"\\\")\\r\\n| where isnotempty(Value)\\r\\n| project tostring(Column), RemediationStep =Value, URLtoOpen=url_,toint(r)\\r\\n| order by Column desc, r asc \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\"size\":0,\"title\":\"Incident and Remediations - Advanced View (from Watchlist, \\\"SocRA\\\") Incident Number:{IncidentNumber}\",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Remediation\",\"formatter\":18,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true,\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"URLtoOpen\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"filter\":true,\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"r\",\"label\":\"AlertOrder\"}]},\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isNotEqualTo\"},\"name\":\"query - advanced View\"}]},\"name\":\"RecActions\"},{\"type\":1,\"content\":{\"json\":\"## Incident Entities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"data\\\":null,\\\"headers\\\":[],\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.metaData\\\"}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"entityKind\",\"formatter\":12,\"formatOptions\":{\"palette\":\"blue\"}},\"leftContent\":{\"columnMatch\":\"count\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"30\",\"name\":\"Entities\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"data\\\":null,\\\"headers\\\":[],\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.entities\\\",\\\"columns\\\":[{\\\"path\\\":\\\"$.kind\\\",\\\"columnid\\\":\\\"Kind\\\"},{\\\"path\\\":\\\"$.properties.friendlyName\\\",\\\"columnid\\\":\\\"Name\\\"}]}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"table\",\"gridSettings\":{\"hierarchySettings\":{\"treeType\":1,\"groupBy\":[\"Kind\"],\"expandTopLevel\":true}},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"kind\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"subtitleContent\":{\"columnMatch\":\"properties\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"kind\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"70\",\"name\":\"Entities List\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recent activities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| order by LastModifiedTime \\n| project LastModifiedTime,IncidentNumber, Title, Product, IncidentUrl, ModifiedBy,Status, Severity, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"labelSettings\":[{\"columnId\":\"LastModifiedTime\",\"label\":\"Last Modified Time\"},{\"columnId\":\"IncidentNumber\",\"label\":\"Incident Number\"},{\"columnId\":\"IncidentUrl\",\"label\":\"Link to incident\"},{\"columnId\":\"ModifiedBy\",\"label\":\"Modified By\"}]},\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Incident's Comments\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| summarize arg_max(TimeGenerated,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments) by IncidentNumber\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| mv-expand Comments to typeof(string)\\n| extend Message = extract('message\\\":\\\"(.*?)\\\"',1,tostring(Comments)), Author = extract('name\\\":\\\"(.*?)\\\"',1,tostring(Comments)), CreatedTimeUTC = extract('createdTimeUtc\\\":\\\"(.*?)\\\"',1,tostring(Comments))\\n| project CreatedTimeUTC, Author, Message, IncidentNumber, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}],\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time - Copy\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to closure\\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| summarize arg_max(TimeGenerated,Title, ClosedTime, CreatedTime) by IncidentNumber \\n| where isnotnull(ClosedTime)\\n| extend TimeToClosure = (ClosedTime - CreatedTime)/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"TimeToClosure\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to mitigate\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to triage \\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where ModifiedBy != 'Incident created from alert'\\n| summarize arg_max(LastModifiedTime,*) by IncidentNumber \\n| where isnotnull(FirstModifiedTime)\\n| extend TimeToTriage = FirstModifiedTime - CreatedTime\\n| project IncidentNumber, MeanToTriage = TimeToTriage/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":94608000000,\"endTime\":\"2023-06-01T17:13:00Z\"},\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"MeanToTriage\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to close\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}}],\"fromTemplateId\":\"sentinel-IncidentOverview\",\"$schema\":\"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"}\r\n", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Incident Overview\"},\"customWidth\":\"35\",\"name\":\"Headline\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"9a199167-2dde-49dd-8f01-23e9d1fa8151\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalWSs\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/workspaces/\\\" Workspace \\\"/\\\" *\\r\\n| project Workspace\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"7806fefd-432f-4828-9756-8c0be5c08d07\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"InternalSub\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| take 1\\r\\n| parse IncidentUrl with * \\\"/subscriptions/\\\" subscriptions \\\"/\\\" *\\r\\n| project subscriptions\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":2592000000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"55d3ab63-6e1f-4d02-8d9e-2225526689c7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"query\":\"summarize by subscriptionId\\r\\n| project subscriptionId, Subscription=strcat(\\\"/subscriptions/\\\", subscriptionId)\\r\\n| extend selected = iff(subscriptionId =~ '{InternalSub}', true, false)\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":\"\"},{\"id\":\"95a45501-31b5-4ea2-bcb3-eb208e0080e2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"//resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains //'SecurityInsights' | project id //= tostring(properties.workspaceResourceId)\\r\\n\\r\\nwhere type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| project value =id, label = name, selected = iff(name =~ '{InternalWSs}', true, false)\\r\\n\\r\\n\\r\\n\",\"crossComponentResources\":[\"value::all\"],\"typeSettings\":{\"showDefault\":false},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"7d597ad7-4a2a-45ed-a4fe-7ee32de0fc22\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"label\":\"Incident Creation Time\",\"type\":4,\"isRequired\":true,\"value\":{\"durationMs\":2592000000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000}],\"allowCustom\":true}},{\"id\":\"3a87d4f7-42cc-4c62-b543-6b5d9ab8cf27\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Severity\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| summarize Count = count(IncidentNumber) by Severity\\r\\n| project Value = Severity, Label = strcat(Severity, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"81085d3a-5aca-488e-b7c6-ecf1167e59f7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Tactics\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| mv-expand Tactics to typeof(string)\\r\\n| summarize Count=count(IncidentNumber) by Tactics\\r\\n| project Value = Tactics, Label = strcat(Tactics, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"0f9efb0d-ac34-41d0-8a19-165840eb2a71\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Owner\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend owner = tostring(Owner.assignedTo) \\r\\n| summarize Count=count(IncidentNumber) by Owner= case(owner==\\\"\\\", \\\"Unassigned\\\",owner)\\r\\n| project Value = Owner, Label = strcat(Owner, \\\": \\\", Count)\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"cf86113b-59ad-4fc9-aeb7-9b44e230641e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Product\",\"label\":\"Product Name\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"SecurityIncident\\r\\n| extend Product = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0]) \\r\\n| summarize Count=count(IncidentNumber) by Product\\r\\n| project Value = Product, Label = strcat(Product, \\\": \\\", Count)\\r\\n\",\"value\":[\"value::all\"],\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\"},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"1fea48e7-99b2-4664-8eb6-bd35fc4efaf0\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"resourceGroup\",\"type\":1,\"query\":\"resources\\r\\n| where type =~ 'microsoft.operationalinsights/workspaces'\\r\\n| where id == \\\"{Workspace:lable}\\\"\\r\\n| project resourceGroup\",\"crossComponentResources\":[\"{Subscription}\"],\"isHiddenWhenLocked\":true,\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"2908f26a-6238-43ed-9aa0-546c9041d918\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Help\",\"label\":\"Show Help\",\"type\":10,\"isRequired\":true,\"jsonData\":\"[{ \\\"value\\\": \\\"Yes\\\", \\\"label\\\": \\\"Yes\\\"},\\r\\n {\\\"value\\\": \\\"No\\\", \\\"label\\\": \\\"No\\\", \\\"selected\\\":true }]\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"}],\"style\":\"above\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"100\",\"name\":\"parameters - 6\"},{\"type\":1,\"content\":{\"json\":\"The Incident Overview workbook is designed to assist in triaging and investigation by providing in-depth information about the incident, including:\\r\\n* General information\\r\\n* Entity data\\r\\n* Triage time (time between incident creation and first response)\\r\\n* Mitigation time (time between incident creation and closing)\\r\\n* Comments\\r\\n* Remediation information from the Alerts or from a Watchlist - setup readme: https://github.com/Azure/Azure-Sentinel/wiki/SOC-Process-Framework\\r\\n\\r\\nCustomize this workbook by saving and editing it. \\r\\nYou can reach this workbook template from the incidents panel as well. Once you have customized it, the link from the incident panel will open the customized workbook instead of the template.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"customWidth\":\"100\",\"name\":\"Info\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"9aec751b-07bd-43ba-80b9-f711887dce45\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentNumber\",\"label\":\"Incident Number\",\"type\":1,\"isRequired\":true,\"value\":\"\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\"},{\"id\":\"9ef1a34d-5c8e-42ad-b1d7-1353e0091060\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"testRemediation\",\"type\":1,\"isRequired\":true,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n| project value=iif(isempty(Remediation),'0','1')\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"e5d4131c-43a9-4f92-87c9-dbf647530c9c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"watchListExists\",\"type\":1,\"isRequired\":true,\"query\":\"_GetWatchlist('SocRA')\\r\\n| limit 1\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"50\",\"name\":\"parameters - 6 - Copy\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"f978edb2-9886-4bff-8e12-8280800321c3\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IncidentID\",\"label\":\"Incident Name\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| take 1\\r\\n| project IncidentName\\r\\n\",\"crossComponentResources\":[\"{Workspace}\"],\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"3b8e6cdd-4578-49cb-a515-1f9dec104fd7\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"RuleId\",\"label\":\"Rule Id\",\"type\":1,\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == {IncidentNumber}\\r\\n| summarize arg_max(TimeGenerated, RelatedAnalyticRuleIds) by IncidentNumber\\r\\n| project RelatedAnalyticRuleIds\",\"crossComponentResources\":[\"{Workspace}\"],\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"conditionalVisibility\":{\"parameterName\":\"IncidentNumber\",\"comparison\":\"isEqualTo\",\"value\":\"e\"},\"customWidth\":\"50\",\"name\":\"Invisible parameters\"},{\"type\":1,\"content\":{\"json\":\"## General Incident Information \"},\"customWidth\":\"67\",\"name\":\"Headline - general info\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let incidentNumberToCheck = '{IncidentNumber}';\\r\\nlet incidentWithNoAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) == 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n;\\r\\nlet incidentWithAlertsQuery = SecurityIncident\\r\\n| where IncidentNumber == incidentNumberToCheck\\r\\n| summarize arg_max(TimeGenerated,CreatedTime,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification,ClassificationReason, ClassificationComment,Labels, Title, AlertIds) by IncidentNumber\\r\\n| where array_length(AlertIds) > 0\\r\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\r\\n| extend Tactics = todynamic(AdditionalData.tactics)\\r\\n| extend Owner = todynamic(Owner.assignedTo), IncidentCreated = format_datetime(CreatedTime,'yy-MM-dd HH:mm')\\r\\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\r\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0]))\\r\\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\r\\n| extend Tags = extract_all('labelName\\\":\\\"(.*?)\\\"',tostring(Labels))\\r\\n| extend Owner = case(tostring(Owner)==\\\"\\\", \\\"Unassigned\\\",tostring(Owner)), Products = strcat_array(AdditionalData.alertProductNames, \\\", \\\"), Alerts = tostring(AdditionalData.alertsCount), Bookmarks = tostring(AdditionalData.bookmarksCount), Comments = tostring(AdditionalData.commentsCount), Tactics = strcat_array(AdditionalData.tactics, \\\", \\\"), Labels = strcat_array(Tags, \\\", \\\")\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join kind=leftouter\\r\\n(SecurityAlert\\r\\n| summarize arg_max(TimeGenerated,AlertName, Description, AlertType, Entities) by SystemAlertId) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize AlertName = makelist(AlertName), AlertType = makelist(AlertType) by Comments, Labels, Title, Products, AlertsCount = Alerts, Bookmarks, Status, Severity, Owner, IncidentCreated, ClassificationComment, Classification, ClassificationReason\\r\\n| extend AlertNames = strcat_array(AlertName, \\\", \\\"), AlertTypes = strcat_array(AlertType, \\\", \\\")\\r\\n;\\r\\nincidentWithNoAlertsQuery\\r\\n| union incidentWithAlertsQuery\\r\\n| project packed = pack_all()\\r\\n| mv-expand packed\\r\\n| parse tostring(packed) with * '\\\"' Field '\\\":\\\"' Value '\\\"}'\\r\\n| where Field in ('Severity', 'Owner','Status', 'AlertsCount','Products','Title', 'IncidentCreated', 'Labels','Bookmarks', 'AlertNames', 'AlertsType', 'Classification','ClassificationComment','ClassificationReason')\\r\\n| extend Field1 = case(Field== \\\"IncidentCreated\\\", \\\"Time created\\\", Field == \\\"AlertsCount\\\", \\\"Alert count\\\", Field == \\\"ClassificationComment\\\", \\\"Classification Comment\\\", Field == \\\"ClassificationReason\\\", \\\"Classification Reason\\\", Field == \\\"AlertNames\\\", \\\"Alert Names\\\", Field)\\r\\n| extend Order = case(Field==\\\"Title\\\", 1,Field==\\\"IncidentCreated\\\", 2,Field==\\\"Severity\\\", 3,Field==\\\"Status\\\", 4,Field==\\\"Owner\\\", 5,Field==\\\"Products\\\", 6,Field==\\\"AlertsType\\\",6,Field==\\\"AlertsCount\\\", 7,Field==\\\"Bookmarks\\\", 8, Field==\\\"Labels\\\", 9,Field==\\\"Classification\\\", 10,Field==\\\"ClassificationReason\\\",11, 100)\",\"size\":0,\"noDataMessage\":\"Enter an incident number\",\"noDataMessageStyle\":5,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":false}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"New\",\"representation\":\"blue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Active\",\"representation\":\"lightBlue\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Closed\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]}},\"secondaryContent\":{\"columnMatch\":\"Remediation_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"67\",\"name\":\"general info\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Closing Classifications of Similar Incidents\"},\"name\":\"Headline - classification\"},{\"type\":1,\"content\":{\"json\":\"Closing classifications of incidents that where created from the same rule in the past month\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"Info - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let alertText = strcat_array(dynamic([{RuleId}]),\\\",\\\");\\r\\nlet getAmountOfIncidentForRuleId = (classification:string){\\r\\n SecurityIncident\\r\\n | where TimeGenerated >= ago(30d)\\r\\n | where Classification == classification\\r\\n | mv-expand AlertId=AlertIds\\r\\n | extend AlertId=tostring(AlertId)\\r\\n | join (SecurityAlert| where TimeGenerated >=ago(30d)) on $left.AlertId==$right.SystemAlertId\\r\\n | mv-expand RuleId=RelatedAnalyticRuleIds\\r\\n | extend RuleId=iff(ProductName!= 'Azure Sentinel', ProductName,RuleId)\\r\\n | summarize counter=count() by RuleIdentifier=tostring(RuleId)\\r\\n | extend RuleId=RuleIdentifier\\r\\n | project-away RuleIdentifier\\r\\n};\\r\\nlet falsePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"FalsePositive\\\") | extend FalsePositiveCounter=counter | project-away counter;\\r\\nlet undeterminedClassificationTable = getAmountOfIncidentForRuleId(\\\"Undetermined\\\") | extend UndeterminedCounter=counter | project-away counter;\\r\\nlet benignPositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"BenignPositive\\\") | extend BenignPositiveCounter=counter | project-away counter;\\r\\nlet truePositiveClassificationTable = getAmountOfIncidentForRuleId(\\\"TruePositive\\\") | extend TruePositiveCounter=counter | project-away counter;\\r\\nlet closedIncidentTable = SecurityIncident| where TimeGenerated >= ago(30d) |where Status == \\\"Closed\\\" | mv-expand AlertId=AlertIds| extend AlertId=tostring(AlertId)| join SecurityAlert on $left.AlertId==$right.SystemAlertId| mv-expand RelatedAnalyticRuleIds| extend RuleId= iff(ProductName == 'Azure Sentinel', tostring(RelatedAnalyticRuleIds), ProductName);\\r\\nlet joinByRuleId = (T:(RuleId:string), S:(RuleId:string)){\\r\\n T \\r\\n | join kind=fullouter S on $left.RuleId == $right.RuleId\\r\\n | extend RuleId= iff(RuleId == '', RuleId1,RuleId)\\r\\n | project-away RuleId1\\r\\n};\\r\\njoinByRuleId(joinByRuleId(joinByRuleId(joinByRuleId(falsePositiveClassificationTable, undeterminedClassificationTable) , benignPositiveClassificationTable), truePositiveClassificationTable),closedIncidentTable)\\r\\n| join kind=leftouter (SecurityAlert\\r\\n| where TimeGenerated >= ago(30d)\\r\\n| where ProductName == 'Azure Sentinel'\\r\\n| extend RuleId = parsejson( tostring(todynamic(ExtendedProperties)['Analytic Rule Ids']))\\r\\n| mv-expand RuleId=RuleId\\r\\n| extend RuleId=tostring(RuleId)\\r\\n| extend RuleName= tostring(todynamic(ExtendedProperties)['Analytic Rule Name'])\\r\\n| project RuleId,RuleName\\r\\n| distinct RuleId,RuleName)\\r\\n on $left.RuleId==$right.RuleId\\r\\n| extend RuleName=iff(isempty(RuleName),RuleId,RuleName)\\r\\n| project-away RuleId1\\r\\n| where alertText has RuleId \\r\\n| summarize dcount(IncidentNumber) by Classification\",\"size\":0,\"noDataMessage\":\"No recent closed incident were found\",\"noDataMessageStyle\":4,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Field1\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"leftContent\":{\"columnMatch\":\"Value\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"name\":\"Closing classification\"}]},\"customWidth\":\"33\",\"name\":\"Similar\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"⚠️ Remediations - click to Open\",\"expandable\":true,\"expanded\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recommended Actions\"},\"name\":\"text - 15\"},{\"type\":1,\"content\":{\"json\":\"### Remediations and Actions Help\\r\\nIn this section of the Workbook, which only is visiable if an Alert has remediation entries, the default Remediations that are contained in the Alert data will be shown (Basic view). \\r\\nNote, not all Alerts have this data. \\r\\nHowever you can provide you own set of Alerts mapped to the Alert \\\"Title\\\". This enhanced feature, uses a Watchlist which has an alias name of: SocRA when you import it (Advanced view).\\r\\n\\r\\n \\r\\n### WatchList Instructions\\r\\n\\r\\n* You must download the Watchlist file called:\\r\\n### SOCAnalystActionsByAlert.csv \\r\\n\\r\\nIcon-security-248(https://github.com/Azure/Azure-Sentinel/blob/master/docs/SOCAnalystActionsByAlert.csv)\\r\\n \\r\\n * Name the Watchlist alias as: \\r\\n ### SocRA \\r\\n * Note: SocRA is case sensitive, you need an uppercase S, R and A.\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - ra Help text\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\r\\n| where IncidentNumber == '{IncidentNumber:value}' \\r\\n| summarize arg_max(LastModifiedTime,*) by tostring(IncidentNumber)\\r\\n| extend Alerts = extract(\\\"\\\\\\\\[(.*?)\\\\\\\\]\\\", 1, tostring(AlertIds))\\r\\n| mv-expand AlertIds to typeof(string)\\r\\n| join \\r\\n(\\r\\n SecurityAlert\\r\\n | extend Remediation_ = parse_json(RemediationSteps)\\r\\n | mv-expand Remediation_\\r\\n) on $left.AlertIds == $right.SystemAlertId\\r\\n| summarize Remediation=make_set(tostring(Remediation_)) by IncidentNumber, Title, Severity\\r\\n| mv-expand Remediation to typeof(string)\\r\\n// extract URL from the string \\r\\n| extend url_ = iif(Remediation contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,tostring(Remediation)),\\\"\\\")\\r\\n| serialize\\r\\n| extend IncidentNumber = iif(prev(IncidentNumber) == IncidentNumber,'',IncidentNumber), Title = iif(prev(Title) == Title,'',Title)\\r\\n\",\"size\":1,\"title\":\"Incident and Remediations - Basic View (from Alert) \",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Remediation\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"labelSettings\":[{\"columnId\":\"url_\",\"label\":\"URL\",\"comment\":\"Show a URL if available \"}]},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isEqualTo\"},\"name\":\"query - basic View \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('SocRA')\\r\\n| join\\r\\n (\\r\\n SecurityIncident | where IncidentNumber == '{IncidentNumber}' \\r\\n | summarize arg_max(TimeGenerated, CreatedTime, Status, Severity, Owner, AdditionalData, IncidentUrl, Comments, Classification, ClassificationReason, ClassificationComment, Labels, Title, AlertIds) by IncidentNumber\\r\\n ) on $left.Alert == $right.Title\\r\\n| project-keep A*, Status, Severity //, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19\\r\\n| project-reorder Alert, Status, Severity, A* asc\\r\\n| project-away AlertIds, AdditionalData\\r\\n| evaluate narrow()\\r\\n| extend url_ = iif(Value contains 'https://',extract (\\\"https://([a-zA-Z0-9-_://@.?%=&# +]*)\\\",0,Value),\\\"\\\")\\r\\n| extend r = iif(Column startswith 'A', extract(@\\\"\\\\d+\\\",0,tostring(Column)),\\\"\\\")\\r\\n| where isnotempty(Value)\\r\\n| project tostring(Column), RemediationStep =Value, URLtoOpen=url_,toint(r)\\r\\n| order by Column desc, r asc \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\"size\":0,\"title\":\"Incident and Remediations - Advanced View (from Watchlist, \\\"SocRA\\\") Incident Number:{IncidentNumber}\",\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Remediation\",\"formatter\":18,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true,\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"text\":\"{0}{1}\"}]},\"tooltipFormat\":{\"tooltip\":\"Click to see more details about the Remediation step\"}},{\"columnMatch\":\"URLtoOpen\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"Severity\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\"==\",\"thresholdValue\":\"High\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Medium\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Low\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"Informational\",\"representation\":\"gray\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"representation\":\"blue\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"\",\"linkIsContextBlade\":false},\"tooltipFormat\":{\"tooltip\":\"Open this link (in another Tab)\"}},{\"columnMatch\":\"entityList\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"CellDetails\",\"linkIsContextBlade\":true}}],\"filter\":true,\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"r\",\"label\":\"AlertOrder\"}]},\"sortBy\":[{\"itemKey\":\"r\",\"sortOrder\":1}],\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\"},\"subtitleContent\":{\"columnMatch\":\"Title\"},\"leftContent\":{\"columnMatch\":\"Remediation\"},\"secondaryContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkIsContextBlade\":false}},\"showBorder\":false},\"graphSettings\":{\"type\":2,\"topContent\":{\"columnMatch\":\"IncidentNumber\"},\"leftContent\":{\"columnMatch\":\"Title\"},\"centerContent\":{\"columnMatch\":\"url_\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"hivesContent\":{\"columnMatch\":\"Title\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},\"nodeIdField\":\"Remediation\",\"sourceIdField\":\"Title\",\"targetIdField\":\"Remediation\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"staticNodeSize\":100,\"colorSettings\":{\"nodeColorField\":\"url_\",\"type\":1,\"colorPalette\":\"default\"},\"groupByField\":\"Title\",\"hivesMargin\":5}},\"conditionalVisibility\":{\"parameterName\":\"watchListExists\",\"comparison\":\"isNotEqualTo\"},\"name\":\"query - advanced View\"}]},\"name\":\"RecActions\"},{\"type\":1,\"content\":{\"json\":\"## Incident Entities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.metaData\\\"}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"piechart\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"entityKind\",\"formatter\":12,\"formatOptions\":{\"palette\":\"blue\"}},\"leftContent\":{\"columnMatch\":\"count\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"showBorder\":false,\"sortCriteriaField\":\"Order\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"30\",\"name\":\"Entities\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/subscriptions/{Subscription:id}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/providers/Microsoft.SecurityInsights/incidents/{IncidentID}/entities\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2021-04-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$.entities\\\",\\\"columns\\\":[{\\\"path\\\":\\\"$.kind\\\",\\\"columnid\\\":\\\"Kind\\\"},{\\\"path\\\":\\\"$.properties.friendlyName\\\",\\\"columnid\\\":\\\"Name\\\"}]}}]}\\r\\n\",\"size\":2,\"noDataMessage\":\"No entities were found\",\"noDataMessageStyle\":4,\"queryType\":12,\"visualization\":\"table\",\"gridSettings\":{\"hierarchySettings\":{\"treeType\":1,\"groupBy\":[\"Kind\"],\"expandTopLevel\":true}},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"kind\",\"formatter\":1,\"numberFormat\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}},\"subtitleContent\":{\"columnMatch\":\"properties\",\"formatter\":1},\"showBorder\":false,\"sortCriteriaField\":\"kind\",\"sortOrderField\":1,\"size\":\"auto\"}},\"customWidth\":\"70\",\"name\":\"Entities List\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Recent activities\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| order by LastModifiedTime \\n| project LastModifiedTime,IncidentNumber, Title, Product, IncidentUrl, ModifiedBy,Status, Severity, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"labelSettings\":[{\"columnId\":\"LastModifiedTime\",\"label\":\"Last Modified Time\"},{\"columnId\":\"IncidentNumber\",\"label\":\"Incident Number\"},{\"columnId\":\"IncidentUrl\",\"label\":\"Link to incident\"},{\"columnId\":\"ModifiedBy\",\"label\":\"Modified By\"}]},\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Incident's Comments\"},\"name\":\"text - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| summarize arg_max(TimeGenerated,Status, Severity, Owner, AdditionalData, IncidentUrl, Comments) by IncidentNumber\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| mv-expand Comments to typeof(string)\\n| extend Message = extract('message\\\":\\\"(.*?)\\\"',1,tostring(Comments)), Author = extract('name\\\":\\\"(.*?)\\\"',1,tostring(Comments)), CreatedTimeUTC = extract('createdTimeUtc\\\":\\\"(.*?)\\\"',1,tostring(Comments))\\n| project CreatedTimeUTC, Author, Message, IncidentNumber, Owner\\n| take 250\\n\\n\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IncidentUrl\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to incident >\"}}],\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"IncidentNumber\",\"sortOrder\":2}],\"tileSettings\":{\"showBorder\":false,\"titleContent\":{\"columnMatch\":\"Column1\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}}},\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"}]},\"name\":\"Incidents tactic over time - Copy\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to closure\\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| summarize arg_max(TimeGenerated,Title, ClosedTime, CreatedTime) by IncidentNumber \\n| where isnotnull(ClosedTime)\\n| extend TimeToClosure = (ClosedTime - CreatedTime)/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":2592000000},\"timeContextFromParameter\":\"TimeRange\",\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"TimeToClosure\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to mitigate\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"## Time to triage \\r\\n\"},\"name\":\"text - 2 - Copy\"},{\"type\":1,\"content\":{\"json\":\"The mean time between the incident creation and first modification by owner\\r\\n\\r\\n\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Help\",\"comparison\":\"isEqualTo\",\"value\":\"Yes\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityIncident\\n| where IncidentNumber == '{IncidentNumber}' or '{IncidentNumber}' == ''\\n| where CreatedTime >= {TimeRange:start} and CreatedTime <= {TimeRange:end}\\n| where Severity in ({Severity}) or '{Severity:label}' == \\\"All\\\"\\n| extend Tactics = todynamic(AdditionalData.tactics)\\n| where Tactics in ({Tactics}) or '{Tactics:label}' == \\\"All\\\"\\n| extend Owner = todynamic(Owner.assignedTo) \\n| where Owner in ({Owner}) or '{Owner:label}' == \\\"All\\\"\\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \\n| where Product in ({Product}) or '{Product:label}' == \\\"All\\\"\\n| where ModifiedBy != 'Incident created from alert'\\n| summarize arg_max(LastModifiedTime,*) by IncidentNumber \\n| where isnotnull(FirstModifiedTime)\\n| extend TimeToTriage = FirstModifiedTime - CreatedTime\\n| project IncidentNumber, MeanToTriage = TimeToTriage/1h\\n\",\"size\":1,\"timeContext\":{\"durationMs\":94608000000,\"endTime\":\"2023-06-01T17:13:00Z\"},\"exportFieldName\":\"series\",\"exportParameterName\":\"Status\",\"exportDefaultValue\":\"All\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"IncidentNumber\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"MeanToTriage\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":26,\"options\":{\"style\":\"decimal\",\"useGrouping\":false,\"maximumFractionDigits\":3}}},\"showBorder\":false}},\"name\":\"query - 2 - Copy\"}]},\"name\":\"Time to close\",\"styleSettings\":{\"margin\":\"0\",\"padding\":\"0\"}}],\"fromTemplateId\":\"sentinel-IncidentOverview\",\"$schema\":\"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"}\r\n", "version": "1.0", "sourceId": "[variables('workspaceResourceId')]", "category": "sentinel"