From 67af5f389679003c25dd348590f989b54c2f830c Mon Sep 17 00:00:00 2001 From: prajval um Date: Fri, 30 Jan 2026 14:09:28 +0530 Subject: [PATCH 01/11] invalid template fix --- Solutions/CiscoDuoSecurity/Package/mainTemplate.json | 1 - Solutions/ContentHubSolutionsCatalog.md | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index 702963d2eeb..c23effe0b2f 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -8,7 +8,6 @@ "parameters": { "location": { "type": "string", - "minLength": 1, "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" diff --git a/Solutions/ContentHubSolutionsCatalog.md b/Solutions/ContentHubSolutionsCatalog.md index 6099aa78411..5638d139934 100644 --- a/Solutions/ContentHubSolutionsCatalog.md +++ b/Solutions/ContentHubSolutionsCatalog.md @@ -528,7 +528,7 @@ This file is a catalog of all solutions and standalone content templates that ex | | |Cisco ASA - Create or remove access rules on an interface for IP Addresses|Playbook|This playbook allows blocking/unblocking of IPs in Cisco ASA, using **Access Control Entries** which will be created in an access control list.|Solution| | | |Cisco ASA - Create or Inbound Access Rule On Interface|Playbook|This playbook allows blocking/unblocking of IPs in Cisco ASA, using **Access Rules** which will be created on an interface.|Solution| | | |Cisco - ASA|Workbook|Gain insights into your Cisco ASA firewalls by analyzing traffic, events, and firewall operations. This workbook analyzes Cisco ASA threat events and identifies suspicious ports, users, protocols and IP addresses. You can learn about trends across user and data traffic directions, and drill down into the Cisco filter results. Easily detect attacks on your organization by monitoring management operations, such as configuration and logins.|Solution| -|Cisco Duo Security|The Cisco Duo Security solution allows you to ingest authentication logs, administrator logs, telephony logs, offline enrolment logs and Trust Monitor events into Microsoft Sentinel using the Cisco Duo Admin API. Refer to API documentation for more information.Underlying Microsoft Technologies used:This solution takes a dependency on the following technologies, and some of these dependencies either may be in Preview state or might result in additional ingestion or operational costs:a. Azure Monitor HTTP Data Collector APIb. Azure FunctionsData Connectors: 1, Parsers: 1, Workbooks: 1, Analytic Rules: 10, Hunting Queries: 10|Cisco Duo - Authentication device new location|AnalyticsRule|Detects new location of authentication device.|Solution| +|Cisco Duo Security|The Cisco Duo Security solution allows you to ingest authentication logs, activity logs, administrator logs, telephony logs, offline enrolment logs and Trust Monitor events into Microsoft Sentinel using the Cisco Duo Admin API. Refer to API documentation for more information.Underlying Microsoft Technologies used:This solution takes a dependency on the following technologies, and some of these dependencies either may be in Preview state or might result in additional ingestion or operational costs:a. Azure Monitor HTTP Data Collector APIb. Azure FunctionsData Connectors: 1, Parsers: 1, Workbooks: 1, Analytic Rules: 10, Hunting Queries: 10|Cisco Duo - Authentication device new location|AnalyticsRule|Detects new location of authentication device.|Solution| | | |Cisco Duo - Multiple user login failures|AnalyticsRule|Detects when multiple user login failures occurs.|Solution| | | |Cisco Duo - Admin user created|AnalyticsRule|Detects when new admin user is created.|Solution| | | |Cisco Duo - Unexpected authentication factor|AnalyticsRule|Detects when unexpected authentication factor used.|Solution| @@ -538,7 +538,7 @@ This file is a catalog of all solutions and standalone content templates that ex | | |Cisco Duo - Multiple users deleted|AnalyticsRule|Detects when multiple users were deleted.|Solution| | | |Cisco Duo - Multiple admin 2FA failures|AnalyticsRule|Detects when multiple admin 2FA failures occurs.|Solution| | | |Cisco Duo - New access device|AnalyticsRule|Detects new access device.|Solution| -| | |Cisco Duo Security (using Azure Functions)|DataConnector|The Cisco Duo Security data connector provides the capability to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrollment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.|Solution| +| | |Cisco Duo Security (using Azure Functions)|DataConnector|The Cisco Duo Security data connector provides the capability to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [activity logs](https://duo.com/docs/adminapi#activity-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrollment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.|Solution| | | |Cisco Duo - Admin failure authentications|HuntingQuery| |Solution| | | |Cisco Duo - Admin failure authentications|HuntingQuery| |Solution| | | |Cisco Duo - Authentication error reasons|HuntingQuery| |Solution| From 63a9c641cd964dc35c565dde53dd8879dfd3bea2 Mon Sep 17 00:00:00 2001 From: prajval um Date: Fri, 30 Jan 2026 15:36:15 +0530 Subject: [PATCH 02/11] Fixed solution installation via Azure portal by deriving deployment location from selected workspace --- .../Data/Solution_CiscoDuoSecurity.json | 2 +- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 0 -> 19729 bytes .../Package/createUiDefinition.json | 4 +- .../Package/mainTemplate.json | 53 +++++++++--------- .../Package/testParameters.json | 42 +++++--------- Solutions/CiscoDuoSecurity/ReleaseNotes.md | 1 + 6 files changed, 45 insertions(+), 57 deletions(-) create mode 100644 Solutions/CiscoDuoSecurity/Package/3.0.5.zip diff --git a/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json b/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json index f3683f60acb..63178cc3920 100644 --- a/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json +++ b/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json @@ -37,7 +37,7 @@ "Analytic Rules/CiscoDuoUnexpectedAuthFactor.yaml" ], "BasePath": "C:\\GitHub\\Azure-Sentinel\\Solutions\\CiscoDuoSecurity", - "Version": "3.0.4", + "Version": "3.0.5", "Metadata": "SolutionMetadata.json", "TemplateSpec": true, "Is1Pconnector": false diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip new file mode 100644 index 0000000000000000000000000000000000000000..0412b4983c1d8f9b7f889cc5b3c0e0a0a39b5932 GIT binary patch literal 19729 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 O-5TrwK(o=e+dl!r%dxuv literal 0 HcmV?d00001 diff --git a/Solutions/CiscoDuoSecurity/Package/createUiDefinition.json b/Solutions/CiscoDuoSecurity/Package/createUiDefinition.json index 97ff2aa63bb..b47cd921a62 100644 --- a/Solutions/CiscoDuoSecurity/Package/createUiDefinition.json +++ b/Solutions/CiscoDuoSecurity/Package/createUiDefinition.json @@ -458,8 +458,8 @@ } ], "outputs": { - "workspace-location": "[first(map(filter(basics('getLAWorkspace').value, (filter) => and(contains(toLower(filter.id), toLower(resourceGroup().name)),equals(filter.name,basics('workspace')))), (item) => item.location))]", - "location": "[location()]", + "workspace-location": "[first(map(filter(basics('getLAWorkspace').value, (item) => equals(item.name, basics('workspace'))), (item) => item.location))]", + "location": "[first(map(filter(basics('getLAWorkspace').value, (item) => equals(item.name, basics('workspace'))), (item) => item.location))]", "workspace": "[basics('workspace')]" } } diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index c23effe0b2f..4f9c3795fbc 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -8,6 +8,7 @@ "parameters": { "location": { "type": "string", + "minLength": 1, "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" @@ -40,7 +41,7 @@ "email": "support@duosecurity.com", "_email": "[variables('email')]", "_solutionName": "CiscoDuoSecurity", - "_solutionVersion": "3.0.4", + "_solutionVersion": "3.0.5", "solutionId": "cisco.duo-security-sentinel", "_solutionId": "[variables('solutionId')]", "workbookVersion1": "1.0.0", @@ -192,13 +193,13 @@ { "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", "apiVersion": "2023-04-01-preview", - "name": "[variables('workbookTemplateSpecName1')]", + "name": "[concat(parameters('workspace'), '/Microsoft.SecurityInsights/', 'contentTemplateName')]", "location": "[parameters('workspace-location')]", "dependsOn": [ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuo Workbook with template version 3.0.4", + "description": "CiscoDuo Workbook with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('workbookVersion1')]", @@ -286,7 +287,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuo Data Parser with template version 3.0.4", + "description": "CiscoDuo Data Parser with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('parserObject1').parserVersion1]", @@ -418,7 +419,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdmin2FAFailure_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoAdmin2FAFailure_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject1').huntingQueryVersion1]", @@ -503,7 +504,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminDeleteActions_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoAdminDeleteActions_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject2').huntingQueryVersion2]", @@ -588,7 +589,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminFailure_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoAdminFailure_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject3').huntingQueryVersion3]", @@ -673,7 +674,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAuthenticationErrorEvents_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoAuthenticationErrorEvents_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject4').huntingQueryVersion4]", @@ -758,7 +759,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAuthenticationErrorReasons_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoAuthenticationErrorReasons_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject5').huntingQueryVersion5]", @@ -843,7 +844,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoDeletedUsers_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoDeletedUsers_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject6').huntingQueryVersion6]", @@ -928,7 +929,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoFraudAuthentication_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoFraudAuthentication_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject7').huntingQueryVersion7]", @@ -1013,7 +1014,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewUsers_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoNewUsers_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject8').huntingQueryVersion8]", @@ -1098,7 +1099,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoUnpachedAccessDevices_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoUnpachedAccessDevices_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject9').huntingQueryVersion9]", @@ -1183,7 +1184,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoUnsecuredDevices_HuntingQueries Hunting Query with template version 3.0.4", + "description": "CiscoDuoUnsecuredDevices_HuntingQueries Hunting Query with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject10').huntingQueryVersion10]", @@ -1268,7 +1269,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoSecurity data connector with template version 3.0.4", + "description": "CiscoDuoSecurity data connector with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersion1')]", @@ -1641,7 +1642,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoADSyncFailed_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoADSyncFailed_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject1').analyticRuleVersion1]", @@ -1745,7 +1746,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminDeleted_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoAdminDeleted_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject2').analyticRuleVersion2]", @@ -1849,7 +1850,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminMFAFailures_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoAdminMFAFailures_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject3').analyticRuleVersion3]", @@ -1953,7 +1954,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminPasswordReset_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoAdminPasswordReset_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject4').analyticRuleVersion4]", @@ -2057,7 +2058,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoMultipleUserLoginFailures_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoMultipleUserLoginFailures_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject5').analyticRuleVersion5]", @@ -2161,7 +2162,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoMultipleUsersDeleted_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoMultipleUsersDeleted_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject6').analyticRuleVersion6]", @@ -2265,7 +2266,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewAccessDevice_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoNewAccessDevice_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject7').analyticRuleVersion7]", @@ -2378,7 +2379,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewAdmin_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoNewAdmin_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject8').analyticRuleVersion8]", @@ -2483,7 +2484,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewAuthDeviceLocation_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoNewAuthDeviceLocation_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject9').analyticRuleVersion9]", @@ -2596,7 +2597,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoUnexpectedAuthFactor_AnalyticalRules Analytics Rule with template version 3.0.4", + "description": "CiscoDuoUnexpectedAuthFactor_AnalyticalRules Analytics Rule with template version 3.0.5", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject10').analyticRuleVersion10]", @@ -2705,7 +2706,7 @@ "apiVersion": "2023-04-01-preview", "location": "[parameters('workspace-location')]", "properties": { - "version": "3.0.4", + "version": "3.0.5", "kind": "Solution", "contentSchemaVersion": "3.0.0", "displayName": "CiscoDuoSecurity", diff --git a/Solutions/CiscoDuoSecurity/Package/testParameters.json b/Solutions/CiscoDuoSecurity/Package/testParameters.json index 901c132a937..f1aca3937b9 100644 --- a/Solutions/CiscoDuoSecurity/Package/testParameters.json +++ b/Solutions/CiscoDuoSecurity/Package/testParameters.json @@ -1,32 +1,18 @@ { - "location": { - "type": "string", - "minLength": 1, - "defaultValue": "[resourceGroup().location]", - "metadata": { - "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" - } - }, - "workspace-location": { - "type": "string", - "defaultValue": "", - "metadata": { - "description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]" - } - }, - "workspace": { - "defaultValue": "", - "type": "string", - "metadata": { - "description": "Workspace name for Log Analytics where Microsoft Sentinel is setup" - } - }, - "workbook1-name": { - "type": "string", - "defaultValue": "CiscoDuoSecurity", - "minLength": 1, - "metadata": { - "description": "Name for the workbook" + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "location": { + "value": "eastus" + }, + "workspace-location": { + "value": "eastus" + }, + "workspace": { + "value": "SentinelLogAnalytics" + }, + "workbook1-name": { + "value": "CiscoDuoSecurity" } } } diff --git a/Solutions/CiscoDuoSecurity/ReleaseNotes.md b/Solutions/CiscoDuoSecurity/ReleaseNotes.md index 2fd0d9fc30a..bf407a33be4 100644 --- a/Solutions/CiscoDuoSecurity/ReleaseNotes.md +++ b/Solutions/CiscoDuoSecurity/ReleaseNotes.md @@ -1,5 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|--------------------------------------------------------| +| 3.0.5 | 30-01-2026 | Fixed solution installation via Azure portal by deriving deployment **location** from selected workspace (prevents empty location). | | 3.0.4 | 26-09-2025 | Updated support **Microsoft** to **Partner** | | 3.0.3 | 02-09-2025 | Added support for new log endpoints | | 3.0.2 | 16-04-2024 | Added Deploy to Azure Goverment button for Government portal in **Dataconnector**
Fixed **Parser** issue for Parser name and ParentID mismatch | From c5da39e0257346381a98a4113b2b0f7a177cb8db Mon Sep 17 00:00:00 2001 From: prajval um Date: Fri, 30 Jan 2026 15:53:46 +0530 Subject: [PATCH 03/11] Updated Cisco Duo Security solution package with workspace parameter validation Changed workspace and workspace-location parameters from defaultValue to minLength validation to ensure required values are provided during deployment. --- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 19729 -> 19720 bytes .../Package/mainTemplate.json | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip index 0412b4983c1d8f9b7f889cc5b3c0e0a0a39b5932..74a49f2a33279252970498a863539d5d5d077d8e 100644 GIT binary patch delta 15358 zcmb8Wb8sNR^EVt^Y}>YN+qP}%l8uc^a>*nq<}7H?|92fU2=ssIlsRGlmmV6P z_`?k>DIggFRN%jePXE;?SsqjwYD}ISH3|tPxd=287=WV?)=N(sF;G1m;XEd64&k4M z#a%-z44poHM5yZl$LO6qvZ^csgX_~D3$(GT9QC$P+Rb?49t{0;&J)gY#DMmQaL&*= zvi;3)Ii!r2u)=NO&4A;$d6^2T>v41LhACbk@A8u9Md5qAvMg<|nk&a>x{Igh_6A{Q zm$r~N#$ZPTeXK_{*^DIHl1Jj1JjTo$SYdJ>7#ol`-dhk6RiN-=kCcFKM1Y;g^@4`s z^AQ~a!;^bs=j036?@2CgYd0)$zlWhm#9iO`2pnBRwI8BK@A&2NytPLPQ4NPiMw}`d zdYchCO1V5{)D=;Xcyal9?e+8|ga!RRR}WcXm7nnc#f9??LI^_r(ere0>tjZQW+!!RMyc=3j+eq{o`O(ztxP+9?FG*=Ssz&N5fz%o)y=Z zkgcBXHXS40e>z43T)du;CAbyZWT4aw5dguC43jwOPC|m6ITf7Pj;)Wut^FSeyBt1*HU{mBx%V6FRyrWWLGh7((unt@V{eqmi`>bg|9eH zKv%(nROlS7g}u8(&?JcLa^<~89tWC++teW7_pBl_NzUXV6q`6VfthETnvvbE@+WD%R9hOo#eS>KgJs{Kp0yX#ZE7xFwt3{utfWIQaH6iUlu}y^XadUMTNI^M zmf|(5s$4T2?4_GnQKfBKb@JCrn=Ng|E$alTQ6w`zAa9n`BBIx?Dx*0sJk~ipR%@yh zc&0eHigj>cirF`4XYJ+w^?y)bCc@Q*C+oj@NmpaiQ&v8O`Cg`XjkJ_l>E$jn)ynxl z?2NPadjHtXyA~XQM>`I9dX6*Ms^x_gLpd#s&G`rggUg5hsBxRt9+IgEY2uPK#UM+* z`OFfE4POWCsyO$OT04%Cuyf{A=bE}^j%tnwhLc+rDaEE71shFKFq$b(IQET{W&1Rr z5S1!5Ck}K3B#xUehjg8{n$r0`U##|_Gv&((o7OHCCuMpd=%=M0MCPT8U25tDXR~3? zwtb&E?8l}m9$86U|BNm;mow46WA8@tg1wViW=f*4Y|{tW)ME*UoZO?wrcErfreqGT zcSY&4mhYCQmd)a;z~)s#eLTg7J@7y554v-z1(dy-`4TObH4$A?wP5(cMf1M?5(LW) zh0A~+!Dii3L`!b5nDIR)%7Sbp@$A)Rpv1-)Hr28{%{#pcBW$s_p#(B|F!_KR-0S4D zHg+lQcm>&LpXmFm zBx$aZZs9w;X^d+Usr@ZOw8BXz8N{ z^n>n{B-5m4*5pR5{M~$O7pA$YaTnk!I=12HcGpTrp*rMwuG+dmTW>&eOWSOq+o<96 zN0Vq|x!&-cwnnkH>|QsH@SWr0!DNbc5ijnaI1K+QPQB6ph*R_5;(R!E^?7d02c)G| zbLbT*nysqbqafHzDwM2LC;a4fv?1%MXtDJzy=+Zu0}L{bN*ufxPCENM4?};nZ9N`2 zXvr4O2ehdfcMWWT7hKLK5p3c<*iCiL*PS!-#4dKu<5iNCELcBeU8>ZSoMo_xSwZ}* z75~qOQa|8Sy6GrFyDvRCow`&>Qy#mvz&0?hW}qF?Qt_A8;~WVfwTr}pZ+~&Bs`to= zW=qxpEVz{f{1@hHj$S?+DK>`do-2)FSM@lPXQTz0TUojDWVb;B=8fADaz>Ny2Pu%O9ws+n#<|Z3Z-n zvKx-QeV$={v7#F#6m}l|i|P^DHfOls4gro$W#7tm4apYV`n6f992JI1&o{bygQ)+~ zN>?`NKMDTz@;1}wX(3MQ(Dm0qf9@#M8B431uRq$eIl#cdTDGU^j9KV@J$juAsHjmf zz*|1=u`GSL_1`GD&?@zR`G{(3=|_4qB(0fJhpMwIW{|X(a#pe6YXpF|}iH+1l;5qylVxK|;swoAS+y%68NB3--}eqF>=px+zkOp!lz==*K04c z^Gr^fFCE*5drJ+Scy{IBemuo-fh|fa7EZ!8sV$iAE-du@I$*)|Hxzp5UK{tGJ8x#) zcDJoD9I2A*+5yTfx?`mOW=w!a=Wm}@QT^bt{@k#lKKD(aRD1r-tWa75%!bOB{>6QN z+@c5E+t6}Xn+IW5q?OuX?BE%o?Hdgf@GP48sLeD*d5WFhNj$xdH@9@YqDqmuX@?|? zv9{K8Z4Eb*C(&nN;Qw?SUS5&~bmQeNj^$H$KEky|VgsKFAYbtI*H9~J1lM>tnTZj* zpugr=@cg+wjd4F8$t-3du7^C1aR^tKtPWrg3ghOJG9A_t{RKRkTcvi)^f5Q5*znq99M z8Y|mGg#&DuEl}a&lCvs}2G1OB7e)-JCL8o1IA8QI(t<(W3PCKDRYA%XI+k3^ScsXJ5CIeMrt!KsBBG2yG)J^P7F z&Q%wx-`|LTZ{J?@k_QOpdQaoO5%`@{z0O)~P}%bF!c-FaLl%P9;NV$v>G5^*4<1~P z838axG6#Gy@wn;aM{4IeXEtclbW0$M;lfsxzVhL`iE~3_Ol^+p6%FfgyZsn(HQZcm z81$27q9Gj{-(~ZZB36CGVwzlM7Y^!tv9{M$z)S)Q%%;*SDIIY6+gWmycDQK~oM+-1 z_U4$WzI&O)GMIfco4gHPnR0T6bb;Y66$4g|tHwe1ZJOc1b zb_Wy;Tw|>vdekyjg=r=r>;WA2L#(r&-FZYG7EI+&T<>FHNSfI4V#+tsZ_$u?u?%Wj z%cyvChO*<~e5eia)WwnXBk6TKy(_i)x}Ha?=1Ov)D+-vm{Ni1mJTS5r;akq5j~^)A6%Em67Z7|-yU=uq}4p&)t6jFM2>hX z9?4gs@M4(d6>&gpw7*3C=%dXLzobw@FmM4#D*YWVCeD2 z2$NWFFT*Y&s-m%dtnYe1ufIyao`BDlD?uj)KT(rOXj#yX+_R}RKWelaW`L~L+CqC2 z4L4%()q{m^EEC*&)Qv6hbLM_GlsEdW*#q+jA|d|UUJXl$Vx0m(oC&MsnCmkQ2n#Aj zH9oT3E9U&5d4GWAdv(yc1wf=l6R3Oo%zLRL6TY<_?k;P{5Ar^u)2X0*PThR6g!;xHT3%b1< zh0}F$@$)t(!|8Q`h%$2q(y5_m{es_j-mHwxJnGNdx&z5SUyBukh<-9I6V)n4Kdm6*lcFKXxO7>8$QKZ{hx;wh(}*^^jq^ zJE?4antnIY7O@U>u=vmXaC^~ceMe2_LrR%dmIAIP{gVf6Oyz@GEzg(30QwJF<7#I( zzF!vq^m`98IDbWMQz?|BJQ4uT7}P$9)@f4pLrS)d<<0kCI{^?!38sSB$Pk(*u<0D& zDf63Koe!K#&XTI%0ZvimVBYUDFyO9usHrErPLjTL)Xr4q<8wWsWv)Mv6&jwA`@oGS zh)hgC!GDEG47Hpo1e>}`e?)$#@)FgxS{{!6&KF&&#Z1^IZ@n&|X(%ZvDw$rKR7>0a zQ$u=SW70Rs50e|9=%w~~kN<+P95)8b7*C1&nJTdQL5c(8 zbxOZ96Feb;m|AYhTE$kac|t>~;hnHKTTkm^^<6>P8Fc4D>w{r~gDKnnXd(WXI;LID z!j1|WCq|2bCGR^{3$vrj4C5C!sn`YO-PT7@Y*%;HCh$k&5L1d#1>iXyHl@2A9bQ+9 zvw#=yRqHi|Ak~&%vKu(qo)6*m1phi)NR3%meAXmDTZbxK<=QK~69iRmR>k~IMcMTy z@^~#bGyF_a4-=!bPl9wdihNKR``+t$l2S+f!Vjct{AqI~8O&V$6-;tc1svx`Lp>JG zZ*VUmRUq6UI`R3GT=Qt5R*`GaQ;29=C-fAAftN(u!90Om@fDe347(|4g7Y~DU6m%E z&$t=t2GN%J6~&r+4Ga`!JTm`akm%w%=!?>rjo56V0SscT3Zz|ee)IqW2ckJ>jOo*C zw>M_Cquw2iDEBwRKAnyw(&|+r-;KRCr`fIb4A7*ofqR|UYoL@f4f*;@XGU|N|2Zepm*F71DKY1UVv~S@Z*1t=7w9RGeC z4v_oBvnk=w9_<`*K$+`sQ~#t~V&1u9(2QfKM$&wNYhCkd3cUy#(^h9WDa<2y1NCi4 z4A{T!PH1&}?s!h9h;7^W=0?iAGjoUhZj$uxfEL1+3k z;BGrNuFDY_lbpq0k(<6u4`}n*EOUdeckWu>AQr=%Ma89R#AJ2grT!2^! zC`v>M$}7h^gb*wNs*lPD#PM?(|4!C^4Xo}2i+l#8n>|O>-lWdjh_o@OlF`KAAt%-O zbtCr=X8_`Il6$av8ScB8$fQIrYn8^ATdoze`UK~Boe(50j#Ui%grYP3He*$<^a45Y zARJdVPQ5t?U3|{%I;xcF+CA_j1>A!njQfH&(k2rtMPtmvwgm%||F+bHCNDv;PKYs0 zTfbQE*L10SgWwu*ROC~ybkOH~i%_$>(pMu>=?Xnh*ZXxV(o0cj1a59=jMiQe=nsh0 zp(fKa974EYCytXX(R^4GI5V)+ig;8|7o|H$ZQE|wW9e1lta&RB8^2A+0Z~ySZ?-2P zE`luD5;oqv`WLoN`hz>oa_MyCew7l-J#A3l$^|r=)wW;M0Lqj&1dN7smwb7z zbwn6O`&c2aOAwiqn%S^f_DBxfT@T8kGZo%lfy*YkZP@mY-ajwNR6#vvQwY?_e0UsL6Tic8q>f_TLldI32i|0Hr-hZancUy)=aA%b$VEq|;bTH&N z{3v(2;_K5g*hsdK5zwez)ixU2##vEOChU7%WnW|*59e17RR2_xw_VD(RyCG+ryMqw zO?U^JlWI($(6KF3z}TNIkW$1!_`FM4W!DqqDhi%DQ|` zqRMc>mHn_d)QwWr#U!MqP}43})vElNLTgbXt5cz>`TzU%@S&s{y{s})OIjx^C>5#KEiSrSS%Bt_BC|CnJ4YDu|S6iZV|Cz|VufG@o`bMbZZ}X>mn)*B~ zbq}X0TEnTzZ8WW#bDa}&RNr2Ua$7w1dKopMaid5$M>xAN9ZcT5`6vwyzayuw52(LH@J9L zu||p!#U!g%6TBCPtZ+;R`)zCrnmGfrPq$unbr0+}aSZ^)5rgK<)R|7e@)bH9>%|;h z`{*XoME62$`+T&bbQkd(T^t99`lV$LSa~Z{zO8w9f7}D8`sui%0*FTL{Un$=PxA`6 z^0caMo;q5BqYWx%{g*z;0^uM~WnW;vfKwimxzK;HoraLlprNS@(fKooATuM; z(9J(zZoR4w#(g|FKxdXB;?Y+at3x?htwuNv*1bYFEiRBTDZX$5mbR|fVZ;~{;~c`2 zxdsfrRKtY1YQWf3a4(o1;uHd;j*Exd#;@D73Jfr(CSF)46{c(ur5fpRA*O6sO9f%+ z`b*=(r4qX}AOfd)+{v|3zu=k3vsAaF?07zSGdvtBcsX%)5H%xX5U{5qT2 zJZXfcn@si5Xsv*F`H;`y>H=A&Tfl*#t5(2)Ct^oVFibm}8SL%RrJRZ163wZv?)k5|BI z*wbhghssMZCwS>YrZydP`RQ@oCWl?T$vJmw*^D({RBKj#))8WgU(UKT2M4-!1!}5z z>pe3+ga0%w%+l4m4k|M-hJkwtHnSo>0~W|!gJvf?rOt)UL>VgI2%9}9cgjM^lo<96 zf>tO4DL7S!o{C1s_3T!mIwU{qg+$~8o>b1c%jUxp7@bVj zK1LTty=YL%)guVqVrAaOAv0XA3@(b!M4pUq%5j2Za6sKvtW2vO3Cj#>)T!kNu=PN~ zVnfwSNlvNsYLS?ZzkV)a3LKEaDYl53(vp{onsNpYN%KZy5VJ_2oOzP4^7w98id(8Q z7!s2%&_?1^!tDLiaybu}+L3 z_-B>>Fu_`{LC=z&Qfq=VN1D!Ff@!(Bw@mH+mol77j6iDd>6|Sjb|<9Zyfck+81SbH z+IGK;80M3j`3xJ3NEpyhszy`ek*F5;FSb@FC^Q{33)Pw|?qk%lH zBY2a+A*jP?;Sh}IR=h9!_or(M_StG$0YCMIFwts%jVno70eVSaJM&ID;wntyw;YuX zpOgB+@R;X-sT2Hvw$B-QC%PU6Cj|BQOw`Ijf+7oz`AQSzw7XQ+ZD0Yp6gOg4+%A!T zPF)SsE6Q&&yMcgPjC%UlWI2C<=LCEB!Bb6W}^JTYOS!1 z*l!GstIK90L`(F&`F)S zN)lUGmbq!Lm3q3^Ewz0VOrEJtk7-oEkz^zTBv}`e@m5SVS_yl7bn@0NrEgIPx9@Ze z+bYaKl2ebStvmpT!LRvigK(>t;{Dogr)V zqQjJc=D*-vP>(-RUEvSf-8aFxr||P229X8T&_WI{UP8{l_NICXs_en@BL05t!PeMh z_B^dNs9ag4wy~tD3a28~eJ9Eu4b!>rlFI$Y#KoL$^=S4PRJ>=h){ zKP1mcNhD%xs|Lhlu~G$4!m=|dlQe{3ZJ=yUxGs&CWChKzA~s~iCMRTL)AR4(#xlgk zT;HOJ1CD2xp{h;x3C|0GfUc%OjY6YaGS?zBc8%VvVfFgF>H$tP_?1Q({bPaoKW~$? zQAn=)gpwOL@I1`$9-v__{Uarl`;bNm8M=3Wtz5*KBY%Ew2S4ttn;E^RR^C5JlWvOk zkW;iCs;#iOXNM223HfYQJyn|AR`8O2ClSLu3gkIW@`X%tYG2_8Am2gb#yEdm5Dp-U zYpV@Xh?H-I7CL!j&{CrZbAPi^la%LR zJzV7?^dA2mOe$6e%rsfot@6ij!QAJ4;sxlBs1`ngCc+g({Q^gviXSFr^{}4lfrb&~L7fr7_hLu*Mp-~$pxX5H%5un}!=K!Dg}uCmTqoG~Iv(KM z+ZI7cznkK`WN`wk{R_+-nvC@7V<1n+;!>tl=KK?l}C%6TjJA`^Kfdbx;8`&sio!vfmi!GOOksNX*Etb ztfHL;O$IXpqE=|t{w5z8=5~;Bg7YM7&V7l8bP_`QKuAa$|MFT}djc7Fs8!zVF%CgG zi@Gee-?i;X82LvVl5JUxjlCf0jhCW5Cz*{^1Gl9rX)wXukT8S81tsR(a~4;%T?+1|h zIpx?s0J?;K&c3vLm88pTu6LZhd=u>mJ;Ipo0GEJsx9?W-r7bb*U@L{}@mXpyC z{@@mUf|t9!qo-Zcqd1=q_l`WfD4|fo;Gn-h$HQtV0hy~tDfAA0GRbv;eq9s_YS;5- z6-IKhzn_HvTM^XcBY-9*#7&H^(AV~3{9<<(fcF2^#V0+@0yPISW=!`JlRA@KUNM7l z_$k>_3cPdQ-gJX_Y3U7){a=>RVSqS>V*fN0URam#ST2NOu7HKNhw;6*-9gk@XRD<$ zF|{DRPTs(5$9FIPhrP%94+b0|p{BdG*y4nSkT&DHB&2WmVpAd7BNG`Z z5_Ax5J&vBGu-0MXZ+K=J9-=JXCaVN-px=q+YUpf$?#s5~WpXzu8boh}+fR^DR98 zob#0rrwiULX*_a;>#_f9n^N~K15MS?^G+LKO?{8?`;7Hs_})uyf4C z(|Vm|s{so3=A{`zA1RO984_U0enJXImCkrHm>;p~erjcvZ-nnB2)@*SbH}j5N!fIm zv&1io#k|6+zq1z#;A8{=cUHTroHQ9R5Kd#U?{>^&qdPq z6^;K%E%gR-r=-iB7&WEayMyc}SXg`KF0Nn3R|X{~>88efC(+_MHcHZXqm>XZ9v*1N zu4SnRu01&UE%zPhFc}nWl}*FRhB;zRc?W3e`#*lcb{FTP_7Ax4Z_ic` z@x!N{g^PjI<818>f3k)KF`9?%n+{W~B^_LTB9R;az3Oh7%xbFYe;KXnKYZJWF%rz) zHZ<%ZdiVTGG`_+GU|A6{I!ZVhXA->odbquP-fv0VZf#T!5{gQ@* zL|GZd)5O*7KwopkUYD^09L!`gN~u@xpv?rINZ(8uTZL`UmUS#db7I# zvOUxxTrJH0hp{Aeb24`X{-IT{(mt*qZb7(6(Ix~YFwb*Qt=5X?TX>?*R&_n>Yj|5*!_Dkm1&Mt`873jj ziB#wkiJ1foQ^(yJ-IF{-l7Na=i=H(v6*m1npXx;*v}cT``j|_^ig0;?ikzFU<;13; z+DwCqkyLvf4qXC7?)Up293h}IEo)D1=3=fwlsg&g_wGEKS2M|9d4}8qq`8t30*huE zHlgF`$%>bBHU4>Mq@SA9BDGB$vmM+ocg{-Ah>j*qKmD&57DO;|-1J`ab>~1^&Wv?E zm@jDnq|(E@5!nKg5=A4K+|DF^2Mj&;p$O?CnWEorLmlt@MQ9RhqLVrJ6QND8O0b97 z$iA&qA%b#ej9=J>vQ~!)TMYi2j9E{cYH}H6DXvO1!%Bz8IkHJSapYj1nr^Sw3T5$_ zJPzbuoJB(!u>)!n5@k`aiYO%@x#V#e9%i2aO~IM_58)oyvS3XomzOf&7NvhEUTON2 zFvx%*AoCa_`%fZHdQA4RPh6QhDrXiC1ZF7+Mi}%`1zv_4mxNy3(rIQ(UM9E7F#9`Aij>ad}Ndv@>iL2=k z#){sWm-oQyZ-T!Se)kU7cLC`BnXi<9$b&>MhJWJj{rl0}{B}8V(<%6l!C)Y0Nr)0+ zH`~jH>n~Mhd*=Yj3$|xyiwQwRg_E6=a^!>LF{CDudza^7vLQy!?umU^} z;<~!ejc*h}NuG#{95WOh>d2D0WLU98e?WjPEAi1F=Qe?3IiYOCI)=*FwK5XmLmyWp zDw|0!cgL>GzLVz#t20E$L0A{Be)-Cilqih;ZCGmk1g{Y*h9Rysz+dl+qv?Rd6JBqI z?r5NK+9XPn@0vIuD+ZBd?z=TM>QK_OPkXK$JAHskxfFEisM!Vciu}TmS3rT^=2T(++v`}@9nRmkj;$jKS; zJuads(*;eERZ$cEu&9Xto{qIo>mc|v#As0(We1p2`$xHI5r~GZdii{%GDT9YhawVs zx1~CbjdQo@zD1F2oIDk<<&98|s-Qux(}D>8_mr3#fhJ6xJFF}sC4U&yjvkUW$2L=- zt@~S}`;{+I5Z{1b7=y+tD#N{KeTiq&udr3r2h#bzBx7YEh|Zy`3gXfhG5PUXaLSzr z5&5`7VoK2KNm2O{(VR;`wK=+%q@46173-cN~H z9t~N*QrZ7Sk{%jS>NQJu9D5+Y#VV3?F~VzdLeGZCGGc`#)@zSw2uI9oD@|iK*zUHy zU%1uLl2?irKA+qDku!cVwh3m6*Wy-hb`KNlp~a`giS2Xm7R0Y?!AGRn_1D3#RR4KP z&izy0eXIh|(8)8Jl|bf%V3YUsSL`W*>?g3!ji1d3O&gJ>ijz`pN2f-7Hwfm9lR zD${}Gf2U5Pm-=_s9js(+P+cCSYc=9TT$;Y$xLgSogUHZk&srfDGqI@921`00AMPYJ zsv)HX7@Mg7?S75uw*cAK#}7NI)ieC-f`zrND)(Tifm&>i{w7q6c| z%-@4$nncJXw$~;yT*l;K@#&WDdu#O8sjxnixnb>~PF1V9X@q5}x@nBtwMfb}E%DKN zflGpLZlWgvL%p1D*O5u0yNTII$nt=7Zc+@(5&(5P(tI+fKuFNK=(ZoLPCo7At3zZZ z+sOxtje7M@TC2TWRP8!hV%RaenC()YH9s=;b(awIF&Z(tYaMqhiECizX`yY6b&ZIM zmvj*4QEz_H7i-Y2`=Cn8F-{z)(@9qaH`7Ynk^M+5F4N{IrqJc42eGthAo_9g6S7G* zNk2$xGl02D55&@gj@eGac-im0@3DENpokrKk9Mgpp86ZTl@@2_!S>X;=PhL)=3pc&GcCjxw6CmZ%b_ zYMZ7juMIvE?bJYBmwP8HDt8RC(`-M2be=N*0cW!P>O6Jj+Ftt4y4==7TgIJkoCWPPJGb~Am>Cm@KY=%>L^x8{FX{!_nm_y&^ABP{WhA%smW@_exu zTaO_9vJfMvpwvmfxN>E38^XP--*O7*yKv)ifm(u((?xs)t*CUntyAJscK1K zI#qx1L7~(?5sPW%D+h`>gJu4$H5kApYY(|L$j=E=0pdA21lbhw4lt+o4zFM)y}|2tYl_fx8*7&OBh8$XiGqn(gJM4{ zjPBrChZN9YHB5<3)5=LI2LflT2Qh9k@W92;+XZ)cE*eki37cPSIzTL2(2oY@JFC8Wmte-29(4bMz8Q^t=U(yxFiSe-=ZefQaE8 zqxsAv2fmhzRtNK!DLK1^Z@1;*pY}U{6>aJiy^G=GLMy}<2MIC2=GQhqHk1szyZGq0 zHAlLfuBV2;lcYfEm*-I1e^G*EsL)U2P{kjg&;pLuetDiGjJUs#u0p>H1iuTkM1)73 z9;aj5-4GqTAr%vE|u7D>J<`%y@!uw|C!ws&_O&~O1Y>1?3=D1vs6 zWhx{C7rB~ZtF6u??hzjIJr`+?zGlrvw?GOstFJJS4M+_>5{o#h3Svc}&I;yW^ld&a z=E;vUV2UVow7X&v;DI%}d281TO=PD;rOKx8kp1=)2lT)S8TMbD}2MwR2l9P~mK*7JVq<2(RFva%M>Uh+WfhvfzD7-E@h@mlTi>-GXC zN``ij62^KUROw%|Ij>Hx0xYymwWw9VAC8Yw(pP?YBN{TZcr0h2E9WO1{q@SmhMjnz zNV=3akEt@siVuAD!3~)@mFE~@ogaUu9`4=N&c@RLNdPpr_kOQjn}>ati`zc@>nvbl zepES#eGG_gDqYoM_P&D;gcLXc4! zx$n{$sF|rO8^xZcA4o~5|0ze3q6eypp{luaE}%o8u$(R%5L{^fmJjW1{BI)SwdZU| zfghT6!A7osSRR`Ei1*DKRRxC9qb)65>3A(kD9!C243BmpJ3flR4(wh8*s2Jw+^QXwa14xlK*=0!?*G3{~kE_joX8^|#mtIh3G@-A8b z3g|H#o6YSt@-BLlK;#B$%*J|i`=z`K#12{-RvQCmTaS$kU&fzk!GFL;M=5$otA#(F zY{MA-Un07jwc49krNfsN(R7`pin^P*+MC<|idNBdyiW8Cjz;v3z`~zK1}K+o5?Pv` zNbI&aiINT?iDobI7NiCOx-JdQT#}}z>0H2h*J8NtV?ZX*?QGguI8_)oxiR*$P5dV{ zCEX9NIcgV=TTZq^1{BKZao7U`c6t4r?izU?xuGc2Mlc_&I5aIPCqA`p)S$xjYT<1O z@ZqI#y(_evs<+ym(gTL4iuxsk*B%<5Ndv0x&bMMt3a5@q8%-~Jd$rqCfxyOzcXUR# zgEVdkJ9BQJ)@v$>ZhEbtlzEE%RUjqj-)AbQnbn=go+~N6s|a+s;S!qJV2e_!Vm@k= zPeimVSUS4*tiW!RGD0`@xu+Gy<(FJ!OC|p50Gn;G1?^S5z>}q00zv%i)rQv>k+K{V zbOb6JrWYRw$gg}bkpCwtR#5*x$l2r@e$oGngZ&RURxvqRzy-`Mtm#8QA0F&~DfsZ9 zVCdlg3${(3ljTMI5299C?!U?Zjk8TAkP|2Pf0G6E|E~zi0dm6sUkzvF@IjZ7FXec^ n9Kw^S<>|q*1VEDe1(=cz<*<@-wky;ziqgH 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Ð%iIRM|GWY3Q;D^VV$1spRrIO;wk?M7FWQjWFro;+w|CP)Xn|(Qe9>W*-8g$r z)QL@@h1H4o#RVm;Y--_g>IRzZ0jMnCB!BThvTrzbY%@vABUGWJzQML=nGp2b zW6zurVaIDmgcuh?xIwWr4WpDEEe3$j#vOH;6&fX9?&xC94WQ=MVA zRr)@h=hYeeipSWP@Z<~p>xyRFA(y&3MN3M5wD2MxdX za8}UYznC3N=lCzP?y=xHo_Bw%ZaCJ<8P)E!rw9R|+ZltH1yHteW_#h|kg6|KGE}E> zcZr0`!}3Ar^~;rC?K#Z2qu%np5XLRGv49jp_;Hf8rYeJ|OX#mxexf`r?Yg-J!Pr21 zVQgr=e;U-5{A`w8IF?k9Mk+N!VzKwX*Rpv9F;Aa#c)a#Lpb(_!G?P>lxoYDBPe5H2hxd&GQ8UMwK&WE}SUx@|bWwUBx3 ztt$PE4`veM=OuxWNem^+d(k0zRfOP?>_?gj9k>p}QU4*DlI)f^Q-oL&hd@~%2qphF z{1mN_VxPE8nPR1eEKH>MYES5vXL}^54uos{cc;D@sjF4SByOebx##RRG>_wsmE92X zT=j(mnM#ckTGP3EX4+qLg6tW19}R>I?R%bm;Vc+titK#or=9X4gOihLUJbBhV~s@6 zv56f3YtS@bAseARTGkD3yk-rxer=hpeNxsfTg;uiv917pKZMdZs!}&Di&ieo>S)_Y<^hA^tysc2}za diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index 4f9c3795fbc..32af240619f 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -16,14 +16,14 @@ }, "workspace-location": { "type": "string", - "defaultValue": "", + "minLength": 1, "metadata": { "description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]" } }, "workspace": { - "defaultValue": "", "type": "string", + "minLength": 1, "metadata": { "description": "Workspace name for Log Analytics where Microsoft Sentinel is setup" } From 7590b0b91938a9d66c4651486be2a351a1969c2c Mon Sep 17 00:00:00 2001 From: prajval um Date: Fri, 30 Jan 2026 18:33:14 +0530 Subject: [PATCH 04/11] minor fix --- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 19720 -> 19711 bytes .../Package/mainTemplate.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip index 74a49f2a33279252970498a863539d5d5d077d8e..7e6bbc4efaf66879053890d78f7ec5019efe1178 100644 GIT binary patch delta 15506 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 Date: Fri, 30 Jan 2026 23:11:39 +0530 Subject: [PATCH 05/11] package updated --- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 19711 -> 18466 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip index 7e6bbc4efaf66879053890d78f7ec5019efe1178..3d2cad8456674b042f77052304bf0c4c44527c05 100644 GIT binary patch delta 15549 zcmaL81B@+qP|;v2E+lzq{GoZ0_E4I^A8VdQw$g z{pRhbQr~I7`LV!kiZY;Js6aqKP(T=o{5o?dIm#z6KtStKKtLEjQsY0ShR&vHmZGL+ zmUfoTmiBh^R!;VI4VQdpFo6HJp~N8dBQFmSP;@Q`5YmsKt)Zozs;RAm&5!y2FuBmx zcG?(@_noN`v}_5Fmx*;CfgT(xFVJw!Hy*julD{)3O9eKQBqoN203w^v%WAoI_3gjP z+0d`&!|-c`^~)=iye*?tgAY4BJ-vEuKb~g+?4;PU+8zre7>J`=9BbQ}Cl^;7Yz&Be z9T@m0TS%juq~YhzoTuV~%?T%xg(e$%w(p*Vc>Eo+!rxSEM=+^NFG$4wNEV&=UR^8s z2((BOo|_?+@3)Z3U_yX>BVf>rMKw&Ef9mOVa}QWPr46UrjbMZ(mRpH`v_cy?-M--l zNK4j64?Kj7_hZ(gqc`3LsdGgfoujVLDHDaWhZ#jNaqCH#=Rd)#cA8GrC`Jl`A=;7j z^8QjBH$7C?(e!K}P6Wgc@BX3ID&7m7;4tBmGgq`YQeaBUedPVbnp&w`9!VvgOv7$0Ouy%nh zC8)kXMp+08WQd(}E$5Yg;mrXAnc#^_pU(Y@KZP3|(h9*0$JJ!aMc*H}!x<9Le*Mjc zeywojg9%JSC&wmtbO)D{-?Qi&-Nv=_2*x9NqI>_YI?3Yh>DW*k6DI(6oSn4;T=S(d zlZs+XlqQ?(jJA`^ISXRs5#~zfNt+7y?{h()lx%%Lkal!ccDA&*&E?$?R30;E@~k5l z8gl|rbW=VnrP?%OH%?)9X z_|knC|99-^_1-lQg{f(Ou=nuPVRgRJy|tmwFtEK61nSd5_^d(gF60a?)RbaED_zc_ zxpnMXmF5w5?$%Ds1S4UQU6DEhZgmI2Ms^qO_@;}y>k=D5SDBPAqs%OVWcltBxL(z= z-SOmg5jZ^MHatb)&Z=$>P-97TgwRDlu9CD#_wW2iWe^-RSn_3$I5%Y^igO=NR||fp zrmM>nvRc$-oXO7Dw!3vjRZl;eAq$TJwttBw#5CEV#qF%Gf)OF}NZQ>LUeTQtQDq)~ zwPb4hOP9-^*BLsQr)bx$4P2U=MTM|);*3QyZrw~TEiYNIL@XpAxfOPfV9tcwD zg)*=L`PF;FSZ_Py%pMu;on0tn*0a(sDh9fxfS26FO>0f1ovZ`_x`77+xvufayJGLoT?8jsjm!xkWR*P)o?AfStE*pKruJq zPR2(R@O#+~jazcE*(7#{Qbs-~$V)d3RX~SpXH%@N+%VMq{o}_U3-D^ob#&OG*%|nH z@^*~g-vh+xw@_G~BEP5VuTV7A#X!j>Jn@nr6X_->`D7uMgAjd~840D={7X6pz7zp1 zurp*n_QH%xkquk_OFLbBMY&H=pN4V1mtBXsF_c>p%AeYS5AT(HF76cmuX$?sE;R($ z^flE{<1cE-$_{wLIdx?-pkpsq%4oorJ3*IpQ)cxe&{`(S%9|$Jyq*mC7%@ zK;$T#GE+T-y1bA;9{W-}4AZjfa<+2a4XuPTJ$3|SuF&UmuDFXb)QF8I)o|xSKC}%d zCU(%u4Rr$I)=>*zk#qdwI#|23*E2kfeUk)gH%;1L`eWo8HJ+Pd30^1 z0E#}|a{IC4b%1>Lk>T$Ui$8 z@{F}Mo9s&ZZaN5N?t{%PCH9Y-ePBGpwcA0u=U=O8mU>tnG4=N3ebwp6XRA%w_#M*J zwo$qrpdGK>xog3?;!=Q2q1o#W`pHX!sN-D!Jdy#2zP{K{gYx6ms`B;D4=#v_>b;R!4EodN=-E zd9+gX@M>WXO}?e~94BYlxB&R@KqWH7B@YH6nYr0OOpqljoJebRRvAVFV7hPj#X6ezllF;R?+g0T0i-+`PUg8v5q z7w1~0kQB7bMY}=_;J-kIt5<$}h*tXX!7|m|h$QEP9o|6M4pGJp3HuCX0Emf>7fUvh z{K6B#PxpU9Xv$-`{uf5|GevK8xU{x$OXg4#8AYL{j)!YN0zAl!sCsUONRXko!#nrg z3B`fzWG{!@id|66=*AXI5A|imF$F$Z94&AyARS$slrpkJqBdS04{AE2oZ21oG5$4c zX`*_0$tjFYOHQ3SQ^o|oXRP|{z^zU&BSv<2-G}6G;I4wR{TEZC6QyjDmlW_@MXduG za9YPd?US~B_yV86 zfB;wz%2rVoWj-Ori|?tb)`%&rPfn1!`C11&nNscc-K4DP+4>H`b(hp>b`Gu@_ZG{c zbCt*$kl=|*5otOLz{}%uXI8H3lo~{a+}lUKPM0^rW3#Gy`=mO3Igi5AbJ2s`nd~Ev z7Fim%kDx11vEpO2eC$dOYzl2Z84D^3K!>4*tG*0}-dQ6{*|Ud{p(^(#vJkq%I5i}q ze@U8smejCb#n3_9x(fI*wf-5?h6B;4aAZO6EJaXRH5Zx{EN zXFGdAyFcg;R}j*nxB0g>1sH*J?gwaKZmpnHjb z@+3*$GlFt-8el;zYPl0Cx&N~#Bp?G@pr~1q!nUkgmT`4d_j;mrIyIj;Vbdwk3PFzY z4k%4S_RjV3Mw>dGYf3IONm7iblInYzwMknVvODTLLFVP)nxq#yyXYtFVi+@B>;Ck+l^r|sY8z=#cpJ@=@-$S{Djy9d&okt{t zF{)9!4xEgu+f^1|t#d3P&=f~4xn=te8(nEfWcb;o`aX6D*uVbyFDNoI0&rXMM$f#G z=M>dv_X19VLk#9lRjB8y2aw zwbLMQpt1Nz2*qfbZmPJBmrI)$BsD6{jKL!iGc%L&T}5X=T)KcLgnTKInEyIK^Y#bK z7EHcVueif2y|o%n0rspB6=1%dK&D30vGz?ivehCLzW0#aZnjG#>Zg6wFci9g8M3=^ zEZYf|pHQodUEJR-9IG-L!8T4AXn{Xe>5h$3&ntdQHsWQCft{r13$A>8MS7bJd7*eF zYgk_ljCn{eDF$tjDXqz+VZ=uB9(Q8gi@TII+&siUByV2Xta9s34xkhJI}{~_q-EA3 zn8UvGj;L!#fGP!4VA7@08~dGhPL!c?dgPil3R7z z*i|KlFH&LVloGSZ*c;6+MV-%kfz4!++dRmFK6QE)~Rh^(QPYcKbb273rv3)?O3YGrwL{`?QtJMG<9OL#Ij@K)} zACY=XXieJ8g@m!eCM$=Ixe-=#?}SP*j0fS&e<3R5&WAnCP-R!{W5&6_B~N%fp5Z89 z)k~-}er8d*Ha9YtEx=rmT9P9doSVCdFUay~x=IRhQW6(X0~nDlU5m|G8^mfbBn#xT zrb26`f#1U*s*fi@v`QFB>N9vF_ZS^y z!h5FsGKVT+qhZ;QW2S=bf=p>HAodLmdEQcs+XQ&w$`2&UIkB6X?>b}2_qHTk>e+19 zBa!B1=wh~a12$!u{2Gc&SE`P!@M=mYJF7IEKk)`g6Xj-kiROi5CmpSc<`l69EChX4 znJQ174eKLM*o8esj1R`np!VHsu5J$Fq7#}p37nv!kcCty=KdW8C#^l@jNtKz^Js51 zxjL;3FT^^rH#DIPD`pFLCUz%_*;v|RK(Vy5YFQQw0bsB;Td^Ps{NkfTzwv<#?pF|h zC;Ka9`no01dG&SHj72H(>l-@20PmLlMMKw*+$^c4My`U?lP;5YLp|cIrxG({8aAG~ zRdYyZTvx-L!%c$E%b-6PLcM&jNmOBz@8BwP^(*cYs{WE2%=245jt~yNZ9)*$nqqyw(PIEHYjMTQ(cL?9Lot_OxZ{3s8-6_1`>UTt=)4lPJG50bh*7`BcXci?Y z4dB?_{%rWqEU;@w1H5UiR?y6tXi9Xp>X~-PyI)1dBfa8{U4B^lpc%_FnIKTA&*rj0 z$2I$uk5{Yeh&cO1bNTm-23hDA?;QdLCGdS1n0q!d|Bhv!HdLgHCjDLcgO<5vbNvhY zgfx2FUH(LfHwBb@v6A;deBauHVuj`EJm6VcS)B-@+Pju?hRp4_fX=gA^iM5mO&rAv z!9k_k*DpCwAanSxwhY0V6!}Ngt<7f+h z;6(l*14uHfXAg1wjp{k@@fD{|RlN?2ans(@%=0$EPLqG;OtAcN3mR~GulM{2ZUOJ^ zePege=+3j@^xSy~|432Pgei9TjU<|~t!bsB%I(oSvI#Uj6n6AAL_0-JX(^29A9W@I z{{3y9o*R;~LkK@gdI9YX!t1c$PMLEcGLp9B=)em=YVu%> z1*w_!b;XwJ&)dR$q^y&E^#P1Gl{YmIXzgA;Dxb2n{Q)Gykotf>asnWm;tBWI zR&?WU+%BAQS7yEwi!1?7u0`mg2v5j>)W$-_z+{v@u!DMcRv6BEV+~<Q?8!`bE{KQBhN?HRgrFyaV2cDJ4DQ)J<8ukPpKX>j2mUkDlXd)rGeb@eJ1 zWz_P&_*}*d<>Nd%aL~JWMo#LFE>0HR_jwJGZm*MdvhC}q=f4VWuGCsE6}qX2WeLw_ zyt7*$%I*D~sa@k5E0k_gXs zmy1OlX96E}ht*9euYSde&n#>IT9Au3^iH>%l#@TMWSoY=IL*CS5tNi|G{q;`>8Vk& z`VBFg;oexh!%wJ)zkI*-nsf#|r3Jf~Rca+ifS8NBYqcGY9P5AQ?gFHkxB=Kn7W_|) zG9i!jPctd1C*Ca(tnto*pcqh2oJ8udbQPMEzW z8zja!qYTz$PYO0!(*Y6_r}Uqhg%)+#`(2SE2#9B;nG&pI&e)*~h~98-^+vqKgfcjf z^uMxP2P>gIlOMT_6Cz*Ww>dLo6%6CaJJw(2*LK$O1Mg*r$6lkG5mb+P{KD>0!8TU- z2dy>64HO;Ff*G%kI*yr_sVHz!gt(4yE)y-2j@P)e{kDxgJpuAiGhk=Q0!VBl&YGN8 zi^a>eqpz+RZjR1yU8{6{Gtg?OVZGJUDv^^_o%&Ns z%qmB`d5hBC`t*S>Aw+M7@$jat86K%XrS)1jacb5W{E=g9=`$^sM#N{7Y&Y;^(2@Gi z+j?QI(zBqF3jp=5An=oq#;Wp0IMp6!vKD zkrM)hn^~&7Ct~0)1TH(s=vfU|Uup~v9qkrMB5NwEIRM!S+fs)l$8^K2;cg{1q;`qh;cJyU3E8h{VmV)v_adT{)_XMFgZz9T}o!oG; z_xNkh=gQ6uMSNxGk~HkDNtt7&R*+AAgDXe;1s45og_4|_F@pH7IF}EPHGizz{Xw7y z2Zt-Uv_DSK`QDSzW_qxg732&i9g45tov2~16hI)@o!8b}s>JESEeowZWa^?gvQ@@w zTzyOgO96akk^_B_)0L}0>$=euHskLXs`NWil!yjKL>gsff=qs`PpJ>xjzqx$e;mg0 zd6n5*eP4p8QWyNTXqoz4YH4L@^%i6?2*0$vAhI7XAKPLj^(sGBD30{n!@HQQ1Ld|Q z6u@0+Y_e(L;Ptc#$<5!}3Hn!kMqmM!_b7}s2fu{wg8v^f?gq=OR#dk_(UVbPk*<@} z!Uv5f$_UYb0OAaUp|)7meqCbpegOJrL%a6ht&eV)7V)(k}mA(9+ozG zxTCePB&H&f;*$6-GVuM`n_&CthHO%RDIh%DMs~Da)~d%S)Rr15$&_vU7e;k)@~BLF zav)1g7x?~PLhbOpLm!pWrm&EF$;=$w!&^b#&|OcI{_%pkTz3iMK1tCaIgt@08K}7| zjosII74EgPAbK71caU@mpLk)2gIZq0+TaN zG;3RGIh6s&gd$OpIMO4FXrjUsB#UlM_RF%2Pn9~PmNK~dBo+;?K3_!L888|SuQ^9V z!)+oKTKT`F|9`>?jCy7Ka$Hr{J$cKdv2Kk_V@N8!a`BL#KI?-L=0R{ z;!T2Ftx_ouqpt~AD$5h_de$J5yICa1QAx*}P%T2K!`WDqN`OBjY9T3@DAxmtW-RBT z2<~2;9Q~%9wsNtwpM;@-1buFxjLkyTRB2@^_yV*3!g_3>z%WM@LeD1*Q!*w7)wHw75H6v~vl^c)IZ=!{z9r6Oa5i~PqxHlhxVLh4u9`LZy|JOgxz40R>>$k)R_hk2#76lUqzqvZ^8N86|p&~cTCRtB3f{(q! z^}m0}WPB6HwmzR^s>W3{=n?u-u7(D_%8=AS$15(3t*TuFRq#tId2cLGOEtEX^^Whz zJaa(>>i|(oz;{m5z)k|)1o*)3v!0`ZcYWW6`A{@Jb$b5HH9CKm4(w@GX!B`0jb#m+ zCCp0NoH1&=9>?GJSmWld7@;$aKI9kRM=&7FA3N+XH=}w}>5chrCpkmrt%trb0BP^x zTSxPC{>{ZNuG@)E7I9(n?ww%g_h#d*x_vKNPk?vE$yK&#Wa+^P&RYP-ZJYhe(dfGw znRVbCGJR~ritPHrk*;okM*R0ow~T%Mj1)@c&pmpdeN@Bne-zxECVm| zFV_37G$uON*yjtbC7?-vgCZtSL6_Q=0^p@RpmNR3J; zK|s-wp<@}gqNQLF@RANtQhuHVkfIdd;}EejI9~IpXt`ZOa;)TK5@H#jTwyw?as@t3 zq8f+qezuuXqSz%Je1uk~2GNL@Uynm2l#56NUOAH%1BzmOH)qy z7qc!DuzK^nBn`1@9`1ACTgZwqO$mKXi}kYx<(Sm^HHH-VrX^czlTS4m+3RaWt1#lj z3Z8!jYflO;aj-LKQ^Z(UjjYk~CIFxbI>lL(+OVfOC0U&aUBD2`Le1{Xe8nw_OCJ;R z(?Hf5gjlS)!BfiTBE?y-rzXLtD6zw-^0544+BJfTbKlX^W*2Rjk&)8}kcFK}q2)w^ zLW(%jTj8~J$rJv2QF&&}iDS6*@CmzTlg)@}96@6T^knSON>f_Wm*2|ZfGXPSVW#3O zd~({~pvf4}8t_HF|8_5cWVXy^plVT@e3g5Z3BB0;#HN&Xl-UgC{KP<$+knu;MCMkX z7(GIr>i$X#0qB^O$~G#=NU0^rL=PoVl0yEDYj0y_SYEZ)8<17Fd<>JosZ(ljY2nri zH@y|v!mF@Ql!e-sWhXSo170Qg`kYq0hD|1xNRPzgQ%TCc-B@{$6FBZzh?&HyauNqo zN3-F=lX&r%Rp~8uQ z=87Ez(xdB8om7a0(EL}s4u^$c)tMHp^N2dHd%{_7$z$m7$2W~T-!w8>^`0a4ymN)Y z@yQ88M07d{X@GkEXgpEO8`aU0bMmp0MTsi*$Io|qb5GodkhMEVe>7dOmPgRX%S`g5@((y+ zK1cYpVOOA>A2y`|I+k289cU^Thzcj77)vpZrBeg9v=#;<4Q$DNwZDPzVQHFoC0Os~ z1NTvC7bnVR6l|5^ZmM=fisRz$5SW)r?$>56fHp7{c*4?RDONRDbzz!#p_cw((`g?G zoy#luJQI3SxZDhcoQ;b9m#*?S#l=<1#F=%HUP(&Q&fUI!{@9Dt{P*xJdp|c#33<@odZ>jd zY|ugO?s1qv#NOvd2M1@Qd6lXPdust3Q0v8>Hj-(UoU*2MubVY2-ZqRNO3wF=ek_m#m1`C-*b#m$uM|>IpxsCZGLP<*= z%iJ5{R18jU%yFGtfGlNzlP-JSXC%&Gv%k6K^?JD4(PO^Gx<%AUq;Q5zFD7kg&?{=Q zWal*u!{vgTzYfeb4_}pMzTQ_3K#Qr9*>|P2m~YNUCdsOqo2G@M@>ZApn9i%5QD3Pi zpi_DHXSaDkHKLMeC__ zLaOihT)UGtwix*8w7WTuU#99YuO?tVdH|vBOS#zsn=pN-P&!TONHnd^X)H>H2s+Tb z#%d8x5h43Hv*3Odqo_Ow=*k@wd8`;X)1l(U@rALa)B*GTOO_(5u~MotGVQ+eTbcot ziu+TKyuaw_j4=S-4*#v& zyaqC5FNBrhve;HhQ&K%9p3;H-h^p|?HT$$TDY0!jaojHKGu4%B@ol*227(zXq+Af* zPO&fJlbk`PSURbN(qp8p>i3SvwN)}e)IQpT%Btd5AM(`C!=2I3as1G>$OvUO-7~C) z)VL-}L15PQOP3}I(1(uX_&cFW-v=}~ZjsTCrz7b?-U?nhf1UJVyGAY9THw)!U^$|1 z6uZA%<$>{}U}z}6@#wA_JqFk`rPtLkjlVeN0h@;N7JGMUd3i*E14F>x7OA~4@^{ic z5JZGz-5T1<%%l<48&EfHwBee61l*c*$CNboP7rWROiqOyU@wV5dz+a#Ag1daydYO@ z`c3^A$18iy3eIpW6u|@vg0s%M=z)cg^Cbx{A!}$;3KkLHN4O`2S8zcZ4QnDlfYrgX7hGwr(`#5LQqRAPrk%vwL^F&u_Y-(S~+zMAn2ZwxMl|-e^ghX?|#z`$OWO_=402_EnhLU7snTnTcnPVO6s3~?2>!EuyCBQ5W~Ug`!#-NpEep>S3I)7eu@)gQyuO7`;UjbOk_{%-KGDofJ#N}9JsMV zOcTyJ=j$cmYj&y6YInOi!fbjxGW`9Ne)7^5s6Xi)_FHRyL7l)Rj zY0^(Zja2!}K-rNfgZn;YX0`9S%>DIDnBIndb36&zxjs)%&f@igy9rx3W0E&74NnPS z7GxxZ>uP7;9W*-G*lQ6b_19N6gs%S#f#kzcx&pa*^pwwFRh5(7z{?#h?cAq3>)osk zz%R@KrSs7B;c=wqqaVlD(2m(m4clWe%aEC!W^(m`o!mHKa7b)oSifszkC>oyBuv`Y z-)~CW4Ff|I-eofn5VCmMAB-Z4vHyMoU3bbHIZfE}w&f0`J7PBZ{L#cTo!oMzm!Z?E zbAJC7P4O`?2>YSU30k6;u%|=&0&ac)aGQ(F{JQLV7CdC5=7U;t zus;9wR*PUqnxSuL z{7AV#B8K@i@YswPF7{WgG%58xW*>F7mqPVER@g6)iKj3IBXf5b)3Z%3N~yD$R9~bH?BI`&)HImU_Z#q{ zrMH5v%{uv$8x8JRmY2gbHz;W1(sgEuk=bfe9K3HX_^{_HeyTt)o7HZ7(o!kfN@-H% zoSFD%19r5nQN!|fwNlQ;qI34stTTjhy2d;XPe2;O8qJ0`F7nD7e?AEy4(WzIDhW#k zav5K$PvxcLhde2&a8B!^>4P0U_~mta1ZJB+nBA!?i+0P&HvR#U%IfaY-xgkulL9@_ zy*mrNZ_|IH!#X?s=}NmNa02fu{-sO}Pmp7YJmE*?{!&RyL)8kcnQAGpPTmx_F{ixw zgyaWzilaxP6T)~BK$8jRwF1Ya3+u7_iiDpyadmd}@Oe7D`j{x`n26!P=<((6YWsM& zy=sZ*F$Z*abG~~!lDvTzuXVWPRNM1s`?ijLJ$)_IxN!h_+FQ*8K5kF%?N@%6m}9u5 z9A9LdyOrcHOdHqLO7gqF9b+|=b-%EOL1A>S*v^T$JR$2;2?PM{4Krj7cii0lK0waE zG^)8C42WjZGQ&Qh6Kqy)hsm|zb2PRsD+k%T0>m9%)@C-KY+jAxUCHvU_rHZ1B6+JB zRxYe4Pv@TaFhcQoece%Auelr<^lwKLQowIMWWSKK@=Oq#_*g6k!V`Po_HR@6cL+}C z{cCQ=#HvGOl;Z%=vurnArfrH;wQ#8ztB28pO+r}_^K-hLU}^4Lj%jJ{rEVI=nt2z% zd5(t5X_+OH#>2zve;Y=9e#Zyg63-u*>~7BC!IexE6;H@+WwJ^pL)gg2?j%dgXL#kh zbC0v5Q0S3ywo;mk(U&qN(LK6TAJkI?TRS0f+sc(xoi+lRunMcn*8FTj(kH=2RTini zMk7=f3tgu5vZ~q%M|RP`Md)~^M8s39@kdA)%g5lRsAD))$y}sEnnh{C;8?;8>?|h=L)|p; z0~3#$kBuE+3zr8j43k>%W;AGKR7DMU5%uw^^>F~votm_Z0xVO!r7?EpiK)`q1f_H} z)nqxRFh|@hjL%`nO`QirLdFS zYupv7MG147r>Gj(AgV{iCzUu!l^ONFYq&eij@HDd6;y#k*(>h2{gf-1CCwg1N3c6D=nOVJIhF_ zm@wVep-0Ku{gK~D(3j@xUh8d^ZV5>H;iq1ZDMJx1Ne%`OFCI)`&JikrXY< zi;U``3dHGYN~?b&o6SZoP)m!PqO>I0=Vn6Sr*9|6IY$L&`HDdi}6F2s%ULD@pY&bBgfQ&GuS;ac)Omh_FDP5WTS z@ee0qV(bRc7&+9J$%;j~a)6}td}+*T7kQLl>S@%bXwloP9sg7!huidG)AO6H)AY%DVY9G>rSW(24c!zmu{s4S zsi>d6M0rg_r9Tx8d)lKZE*M-yUJy~T8_RdtEBv&7aeob-3)euZwJkul4MGE>PTHHG z{z1G;zvz6MsH%`G0=Rk&XC1z0&-AKxnxpFK+S%;EOF2cnALW)S-(@%B8y0x)i0Xs;m1f>t?)kH_LJ%xW;Tr~Y%r8$T2Ct>8dXyU+n zLSFPyzEB$zNdNVud@s|c8r8-6G{0(1zbZ4Q%jg-GzXflS)4|;x87>R{-3@bNHasz#(RZe?+I!>ey@RPpdT+* zYa3-`kSEgbI9zIDcBbErr5&{g7zAELQi zAPct_oQq#3xBzLzXDKdKG6qv>T4=juYLF8}@#1vxR52Vdy=Zh*$AiW(+X z;DLwxD=OFsT6CHm{TxK0YOslPzWnilD*K14dop<)1XK>rm zI7JnkUd)`$GUK%rd1$KE9+?KqqqM>`?3+RolN3)+fVt!(rl{Q&7xzyrc52Y8-7`;3 zurg%8FsL-5Mh)AdF-TfDuxOGHBS9v$X^O?ctqu(xn}w47yHIp$pmJysyiQ0`*Woe=F;|>lV6eVSek7u^66Y~9G%SN_NI%f#VaT*T#cO3<3-?{-aj+~b zic=3$0bO{zh+W<_k(Bw#U7R|Zy*ag{%+$nB?&jwuWk{;p2Jq)}-uMsqT+*s0COOl% z&0T|4&4+gu*SUwf^(_@`mb0N8X&@Nm4s;ad_p1MS)JfVnj(4NLT?05vo$itG^E7_^ ziiv^uKzk-uV1n3pZ@)$~90bd^1GXC@~reJ_+PkH=s^ zBQHAQ`%{)KWl3I?wy2Yu_~YJ7Y5*$jyI(XKpCV+o;A@5 zQMylOApc_P-dD>|IBDspJjVW@l%tdl@oWAO4tAhUlA)|ztNs+7+@LkSQwDE1*NoB>)N8I6`_ZMui^R~c9NUf{ z1#n|3K<=Y$%8Oatq|pL20%wE?FgttK{AUuzdP{Pz5&~wVr*BnzOV;y)WR`YR0u|u+ zk3sm+=)_2N8pe?uAfS@i$dDbCv4Yfpf^gCCMr^+?4+^^KoTqFgLVX)*>K3VqrbU5V z(FRQkrjZqPDj&I)wZi4-mKhSZ>=;t#-EcmQ)mO!q-hUjP;{=S(&*I~uytG&Sx!6iU z&O-rF;`Q!#z`Y)0zE=Fwjp-ymV&Qe{=(u&k`^fLuYwR&2`^_uj^I&qnb=D+Gh z*7S1upsf5V1On9OOK_usm9=B<{9y}PL{t_TZ4;C$_H3 z;+A}BB|dNY*g8v~VAi&)YCW>z>@~B1-3^nsp}ho7Ox~;S*YY2ShrurWJvyF303s*9 zdz>RV0A=Hwirq|%*?Cd{T3FkWPlP96o#=+2f%etU2kSyW6a16`zQh+K$%2YCup336 z0lMapq?PyVSVvy2vDdS%s&b|Ixn{ex;6o!2bQcg>VWkaJmC&ON9K(Bp&1jLoNYnK= zPG%>SFargOridd8A#EIoHTGIGj+)ywK0@Kf0U<9W@#!D+A+t!lXNKEOIU@dZ7;Hfv zUHH6^6{cDqYR|l_1)nGfjC-gijCx2?!S~b%^6kdCf2} zbOL*0oKTQ@mB6%lI}c~|aQo3TsYb!MzZ?ksuZLGD-%KoDbJI+E8&STvas>v@u-0Q3 z0Q8v7$5<7pD~}MTe?v!%G=UGR>w=|DIACKWH6<`3rC|HFP6=-YG)5aAvB(PT7Wff5 z{eyRF9CQtao{h@TG0{&T`3G&|E)DG|Am%QTZoasq9}PJ1_)mZMgV64I#!U27;##;_ z+us+z+0VpZ$icl}&G|47KcEbZQj4d|0HXY0mV?y_o$lqNx(t}$d5;gc0Vp(!3x3Qy zFeAQ!pILzP8&sC25;`M5DE6`t+2xLB$5L>1;X(Bf0goPrV22Fqg;t`TB9<^$} zvuiFn_#={Q$>BcER_+2$hpt%%;12&*=A5d$Z{w!LTN7_assg9R;4eK2%L;rX!12re z=G_s&`ZfmO=jCwiu}vxvdPSxBkV5jz*y?n<<#p4`AQll0v2Bfa3E$HaI1;+Sc4v}N zz@O;g%=iIM@QxmRdvcFcgcjq?MmE5D#}kyAkEu{<7&gvH+}4e@7m9q58;KJS9(Egm z`9t5!v}`0NmVu!CG8BdCCF4%b5wpuRx~c*V66 zvADW}Rjw{q_{eUs0H^oXrqMJEaSNRo#bu{9o-kZW!>UodCF=68u`*Pe;2)_{v=7u! zUd>Ox+-(@Xez>ghtauCC*u(z$@3>mF$k(vB+en%Jr)%ltMqznX-P+c1Z+Dg5*yfeM z>Zb7TUzZ1moBsO0PpR|{0E6AtS7(M7p>6dJujAtp{@)BQ#_J<|=?og~Rh723(7hx4 z>5evu`J?b@fTG=1Tx*-e4^~}cTRz=hVuly3-PP@nIk9au<+es!8^zvH_GCxfMN;7E z3}P^9IS+OXY4&hMx}5wFi`uR8)Irqazs zNzE+*DU|3m7WTRfb!|^qQXATRa;On#jV;v~t2$oKMVD1O6yZa^*0om@Y^u8;=bzLa zP=}1bFRRWe*;lr#BzigAs<%7WwJ%F+kJvx6e|uHfQvCbpt9)-|-!x^JE`yWtBO=db z#med5$b2D%?*p8z`7*W}^`RZpmQlg8$Yqz*qX(CpNYWHcIJSlL{%fL_^uF;1USQ*s zEgFZ!uMq>zq6;AU8vd*Eicj9Odg^2Q(>^6ys4O-zka1e9HCg}1X3vWqEkVn57W)0Q z`wgrp0}O%>`hOh`_WBv~1p)&8ISc*&yZgV)3jd!d|L3Ief2RKv1P}KAV{TYc1{~r) Q6_B4J=;!)Z;=iZ=2fdd!^Z)<= delta 16725 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 Date: Sat, 31 Jan 2026 04:10:06 +0530 Subject: [PATCH 06/11] testcase fix --- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 18466 -> 18470 bytes .../Package/createUiDefinition.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip index 3d2cad8456674b042f77052304bf0c4c44527c05..cc9a54e56db20e2400e7621ce67ebe8139068de8 100644 GIT binary patch delta 3141 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 delta 3118 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 equals(item.name, basics('workspace'))), (item) => item.location))]", - "location": "[first(map(filter(basics('getLAWorkspace').value, (item) => equals(item.name, basics('workspace'))), (item) => item.location))]", + "location": "[location()]", "workspace": "[basics('workspace')]" } } From 0c79c508efafd5758c223561ed89531cb65dff61 Mon Sep 17 00:00:00 2001 From: prajval um Date: Mon, 2 Feb 2026 09:55:53 +0530 Subject: [PATCH 07/11] minor bug fixes --- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 18470 -> 18466 bytes .../Package/mainTemplate.json | 1 - .../Package/testParameters.json | 2 +- 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip index cc9a54e56db20e2400e7621ce67ebe8139068de8..6dd06761eb1ec49e60530a4847ec950693255088 100644 GIT binary patch delta 15006 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�nYB>X&tq`>z0+c_s0viYM%$(x5yRm52~W=*3YPfYLrb zEgg8WLZ_a?Wekhy86TE!z=qKlyUv1bxPB9v?U|v21@JmbGs%RZG*elraHkQ-nX0gybq`T$1#+T<+&>UFGqrYv1d?ieq5&xDcm+ZD zT6I)9O@wV94ugRC25rBbHx4U+Jv?2Yi+}jGn3>HvL|Iki>^0hZGCJeAXvE6_U1`zq zGU}3;io-;q(?RjyFc%MI=t86xQoVf$MUlI&l>FoL;xuh?`1P5_A| zQl5zEttEKPjf~3S8#4}dcp0;7&hXpV)+78@cpa^ZisLl^;i{mE@0W2ad!|yd|C$%C zLGEBdBPBaM`LB5k3sSPA)$K&||C-0OfI^RF-AAYOM2Z}iY^3o|i0066n3g0t(}mPv zRjA>L4EW;X5jF?U4sEBvdXw%ob$=~%3U}UO01rO+~srIu3%U74VHfp8HdUU@a^XU&f zqYAv)SC@315p-EE4g)hed22k`uvgLkxw%Gb9Pp71v#O@!`Y$uIv92j^Kh|w4DJZrK zw85yRwIPz%nkGe-OpZ7IS1s1yuw=$4xzvLu=`=(<#a5=3tCqRO`fK#)HMa)>pbw5G=dAs~V&TFK_}PfKD$?y4yH`(g=WnN@gcV zaZah4mUZ@t(q ziepwjr_RnhSNzX{&ONTv1Hc*b>rH^W11|vW93br*`3x9cZW)prq4LxCg@I#_uJ z&hBsa;3Xs#(Xn?cAqfR+aX@Hr6+(EGEWDY= z6?63{HIjzm+cIR36yfm0;KqMJD{xi+?Ba_UzkH3dh2G>k#htrF4q^(eo;41w3^ELaEF#G6P%s|wO1%}bkz1kYT>{}=Kb;r-%RSE^WzEfT2 znH}$-l@07+l(GZuEqH4BQS-1~@H8?4b`{{+`5X!mJ^j_|62)0Qv8B|*%#@Qa9jJ}H z6ZK4V3f6^T^cCb#^K!T$3^XY~73fEDNtz<0R13FR{1vDNuz)11df>o5_I8WAnR8Q< zFDuA1-=hN`9)+O4gwPHzYoxA%9&6+r*%xX-kAfk~(C0jzn^MLK5-gr3i7JA$bsEv! zZ`C|*>CpTPgP#a}B~8fqYzUo0<~ujqan2PDn8#!f_UtC$gRC@b7bxRjI8&ne37Ipv z4U^(w)>Z8Wv6adcr0zvR@PcAa(_W?A1Ez84kY~mt$aIoI(l= z*~MQOIZ#5(Unbvv^Ta$Ea^VY{{RK*@YeT3;N0iWZa^$HkZ;H1Hy1t zgvqY}yI!5kAvr~dHN%9w`j}SRotc@mfrd!O$bR@VY6C8Ac@*GJ$Zn-a2e{jLi@2S7 z=AD3hf;-s@>Wco&+g2Yf{8{Nr+*-pw45+ND2vJVo4!0jph&Fez0Do`C8_yjw!LVyG zJ%4J>@ZUT7tT_D!K{9d+oGbO1U1Rcgm1cAgc z+^#}WEu{{8Je_6}j`8mI>7xnHA3u0JPbG~_D!?0_wW#IwJ)BBSh2m#Uqa`?lj}EPt zQK);^^vNO@9Vv|7m_NK<94AmeJUapdOls@ALWJ$!Q? z=ihh7^@?SIrtSS^>cU?=D`$5~tLvJ!_Ra_U>zt-`??g6t#lL^MJvrSCHvWD|XLK^! zUw?OHdK1~z?D9E19TWV?^k%v_CXmUbl(C;T@dehlo-~GFu#IA;FN3*@1a{oAIs;h)w=-7h+&uwomEBKnr_I2XAMWRVPo*C>I*84)op9ZK2G|9^Uu2nL*0u)(3czonNka0+OIs9GEeiK9Kl(Be7n2R@t_NjmQHu%GX}AK=74lFI-8-=~Skk{l3G Jl0g5C{{!O+UFZM+ diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index 2baf5713a21..bc4c47508fd 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -8,7 +8,6 @@ "parameters": { "location": { "type": "string", - "minLength": 1, "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" diff --git a/Solutions/CiscoDuoSecurity/Package/testParameters.json b/Solutions/CiscoDuoSecurity/Package/testParameters.json index f1aca3937b9..3e3c1330761 100644 --- a/Solutions/CiscoDuoSecurity/Package/testParameters.json +++ b/Solutions/CiscoDuoSecurity/Package/testParameters.json @@ -3,7 +3,7 @@ "contentVersion": "1.0.0.0", "parameters": { "location": { - "value": "eastus" + "value": "" }, "workspace-location": { "value": "eastus" From 0a6b3722a1bf6c4c758fffc0555e70e426354044 Mon Sep 17 00:00:00 2001 From: prajval um Date: Mon, 2 Feb 2026 23:54:24 +0530 Subject: [PATCH 08/11] minor bug fixes --- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 18466 -> 18472 bytes .../Package/mainTemplate.json | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip index 6dd06761eb1ec49e60530a4847ec950693255088..5f5760c43856dacc119b9f99555952dd2f455191 100644 GIT binary patch delta 6228 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 delta 6224 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 i(XL(pj#ZE4`9JeOQkIhZ|CXTd(EbPTk{~+( diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index bc4c47508fd..8a3ebacfc68 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -15,14 +15,14 @@ }, "workspace-location": { "type": "string", - "minLength": 1, + "defaultValue": "", "metadata": { "description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]" } }, "workspace": { + "defaultValue": "", "type": "string", - "minLength": 1, "metadata": { "description": "Workspace name for Log Analytics where Microsoft Sentinel is setup" } From 3ad37d39bfea4d44a441fa44e2450b9255086d6f Mon Sep 17 00:00:00 2001 From: prajval um Date: Tue, 3 Feb 2026 18:42:56 +0530 Subject: [PATCH 09/11] Update Cisco Duo Security solution to version 3.1.0 - Change author from "Microsoft - support@microsoft.com" to "Cisco Duo - support@duosecurity.com" - Add activity logs to solution description alongside existing log types (authentication, administrator, telephony, offline enrollment, Trust Monitor) - Update parser display name from "CiscoDuoSecurity Data Parser" to "Parser for CiscoDuo" - Update parser resource name from "CiscoDuoSecurity Data Parser" to "CiscoDuo" - Fix workspace-location output --- .../Data/Solution_CiscoDuoSecurity.json | 6 +- Solutions/CiscoDuoSecurity/Package/3.1.0.zip | Bin 0 -> 18326 bytes .../Package/createUiDefinition.json | 6 +- .../Package/mainTemplate.json | 281 +++++++++--------- .../Package/testParameters.json | 42 ++- Solutions/CiscoDuoSecurity/ReleaseNotes.md | 1 + 6 files changed, 176 insertions(+), 160 deletions(-) create mode 100644 Solutions/CiscoDuoSecurity/Package/3.1.0.zip diff --git a/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json b/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json index 63178cc3920..fd0b88f0dde 100644 --- a/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json +++ b/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json @@ -1,8 +1,8 @@ { "Name": "CiscoDuoSecurity", - "Author": "Microsoft - support@microsoft.com", + "Author": "Cisco Duo - support@duosecurity.com", "Logo": "", - "Description": "The [Cisco Duo Security](https://duo.com/) solution allows you to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrolment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.\r\n \r\n **Underlying Microsoft Technologies used:** \r\n\r\n This solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\r\n\n a. [Azure Monitor HTTP Data Collector API](https://docs.microsoft.com/azure/azure-monitor/logs/data-collector-api)\r\n\n \r\n\n b. [Azure Functions](https://azure.microsoft.com/services/functions/#overview)\r\n\n", + "Description": "The [Cisco Duo Security](https://duo.com/) solution allows you to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [activity logs](https://duo.com/docs/adminapi#activity-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrolment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.\r\n \r\n **Underlying Microsoft Technologies used:** \r\n\r\n This solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\r\n\n a. [Azure Monitor HTTP Data Collector API](https://docs.microsoft.com/azure/azure-monitor/logs/data-collector-api)\r\n\n \r\n\n b. [Azure Functions](https://azure.microsoft.com/services/functions/#overview)\r\n\n", "Workbooks": [ "Workbooks/CiscoDuo.json" ], @@ -37,7 +37,7 @@ "Analytic Rules/CiscoDuoUnexpectedAuthFactor.yaml" ], "BasePath": "C:\\GitHub\\Azure-Sentinel\\Solutions\\CiscoDuoSecurity", - "Version": "3.0.5", + "Version": "3.1.0", "Metadata": "SolutionMetadata.json", "TemplateSpec": true, "Is1Pconnector": false diff --git a/Solutions/CiscoDuoSecurity/Package/3.1.0.zip b/Solutions/CiscoDuoSecurity/Package/3.1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..4650973ddb3060fe5881f08f1b66069d1433f13f GIT binary patch literal 18326 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%0DJN~>M&)ff;3mp17v+5SNKCfE&cfTVo99< zAKuKP#0M2gxx=L9{DG)Qft2gar_^>txv_)`T)vFlAUKgJ^h39>D2;-Ca&wDbi!e66 zMG&^=nkN*;jbQx37ZU~21teegOGlI=OGQ%fW#J71Vx}+!-LgVyyys{0awU5?@VXDC z<5g8{ceI1FI=eE`+y4IK%rk6_?DJ$P^JjFzbC38};c(Wuw?!|9mndPgLG3vF_Tu*Q zF%l&gxdap0aPoXb%}sGBf+A&s-0)QoM=p4WZe!t7aITCGv1j;5A{AO?=iys|dm zxy;WGG#kqG3^cy`C}J_j=yO*(-fXkRHm6frUeA7y?xw=Bzo7KVfZ#OvNll*PRmpj% zRFO(QN7-?Ni^$gvERYTtZl5e6>^?Gf@ypEGIs#4|V6^W4x8JC+*T2v0w6F3%yKw#; j\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/CiscoDuoSecurity/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe [Cisco Duo Security](https://duo.com/) solution allows you to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrolment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.\r\n \r\n **Underlying Microsoft Technologies used:** \r\n\r\n This solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\r\n\n a. [Azure Monitor HTTP Data Collector API](https://docs.microsoft.com/azure/azure-monitor/logs/data-collector-api)\r\n\n \r\n\n b. [Azure Functions](https://azure.microsoft.com/services/functions/#overview)\r\n\n\n\n**Data Connectors:** 1, **Parsers:** 1, **Workbooks:** 1, **Analytic Rules:** 10, **Hunting Queries:** 10\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)", + "description": "\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/CiscoDuoSecurity/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe [Cisco Duo Security](https://duo.com/) solution allows you to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [activity logs](https://duo.com/docs/adminapi#activity-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrolment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.\r\n \r\n **Underlying Microsoft Technologies used:** \r\n\r\n This solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\r\n\n a. [Azure Monitor HTTP Data Collector API](https://docs.microsoft.com/azure/azure-monitor/logs/data-collector-api)\r\n\n \r\n\n b. [Azure Functions](https://azure.microsoft.com/services/functions/#overview)\r\n\n\n\n**Data Connectors:** 1, **Parsers:** 1, **Workbooks:** 1, **Analytic Rules:** 10, **Hunting Queries:** 10\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)", "subscription": { "resourceProviders": [ "Microsoft.OperationsManagement/solutions", @@ -71,7 +71,7 @@ } }, { - "name": "dataconnectors-link2", + "name": "dataconnectors-link1", "type": "Microsoft.Common.TextBlock", "options": { "link": { @@ -458,7 +458,7 @@ } ], "outputs": { - "workspace-location": "[first(map(filter(basics('getLAWorkspace').value, (item) => equals(item.name, basics('workspace'))), (item) => item.location))]", + "workspace-location": "[first(map(filter(basics('getLAWorkspace').value, (filter) => and(contains(toLower(filter.id), toLower(resourceGroup().name)),equals(filter.name,basics('workspace')))), (item) => item.location))]", "location": "[location()]", "workspace": "[basics('workspace')]" } diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index 8a3ebacfc68..2cd859b6833 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -2,12 +2,13 @@ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "metadata": { - "author": "Cisco - support@duosecurity.com", + "author": "Cisco Duo - support@duosecurity.com", "comments": "Solution template for CiscoDuoSecurity" }, "parameters": { "location": { "type": "string", + "minLength": 1, "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" @@ -40,7 +41,7 @@ "email": "support@duosecurity.com", "_email": "[variables('email')]", "_solutionName": "CiscoDuoSecurity", - "_solutionVersion": "3.0.5", + "_solutionVersion": "3.1.0", "solutionId": "cisco.duo-security-sentinel", "_solutionId": "[variables('solutionId')]", "workbookVersion1": "1.0.0", @@ -51,8 +52,8 @@ "workspaceResourceId": "[resourceId('microsoft.OperationalInsights/Workspaces', parameters('workspace'))]", "_workbookcontentProductId1": "[concat(take(variables('_solutionId'),50),'-','wb','-', uniqueString(concat(variables('_solutionId'),'-','Workbook','-',variables('_workbookContentId1'),'-', variables('workbookVersion1'))))]", "parserObject1": { - "_parserName1": "[concat(parameters('workspace'),'/','CiscoDuoSecurity Data Parser')]", - "_parserId1": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), 'CiscoDuoSecurity Data Parser')]", + "_parserName1": "[concat(parameters('workspace'),'/','CiscoDuo')]", + "_parserId1": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), 'CiscoDuo')]", "parserTemplateSpecName1": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-pr-',uniquestring('CiscoDuo-Parser')))]", "parserVersion1": "1.0.0", "parserContentId1": "CiscoDuo-Parser" @@ -198,7 +199,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuo Workbook with template version 3.0.5", + "description": "CiscoDuo Workbook with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('workbookVersion1')]", @@ -216,7 +217,7 @@ }, "properties": { "displayName": "[parameters('workbook1-name')]", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"**NOTE**: This data connector depends on a parser based on Kusto Function **CiscoDuo** to work as expected. [Follow steps to get this Kusto Function](https://aka.ms/sentinel-ciscoduo-parser)\"},\"name\":\"text - 8\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"cd8447d9-b096-4673-92d8-2a1e8291a125\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"type\":4,\"description\":\"Sets the time name for analysis\",\"value\":{\"durationMs\":7776000000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":900000},{\"durationMs\":3600000},{\"durationMs\":86400000},{\"durationMs\":604800000},{\"durationMs\":2592000000},{\"durationMs\":7776000000}]},\"timeContext\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| make-series TotalEvents = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain};\",\"size\":0,\"title\":\"Events Over Time\",\"color\":\"greenDark\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"timechart\",\"graphSettings\":{\"type\":0}},\"customWidth\":\"40\",\"name\":\"query - 12\",\"styleSettings\":{\"maxWidth\":\"55\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\n| summarize count() by SrcGeoCountry\",\"size\":0,\"title\":\"Countries summary\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"customWidth\":\"30\",\"name\":\"query - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let tot_dvc = CiscoDuo\\r\\n| summarize e_count=dcount(SrcHostname)\\r\\n| extend Title='Authentication Devices';\\r\\nlet tot_usr = CiscoDuo\\r\\n| where EventType =~ 'authentication'\\r\\n| where EventResult =~ 'success'\\r\\n| summarize e_count=dcount(DstUserName)\\r\\n| extend Title='Total Users';\\r\\nlet tot_adm = CiscoDuo\\r\\n| where EventType =~ 'administrator'\\r\\n| summarize e_count=dcount(DstUserName)\\r\\n| extend Title='Admin users';\\r\\nunion isfuzzy=true tot_dvc, tot_usr, tot_adm\\r\\n| order by e_count\",\"size\":3,\"title\":\"Summary\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Title\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"e_count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2,\"maximumSignificantDigits\":3}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"purple\"}},\"showBorder\":false}},\"customWidth\":\"25\",\"name\":\"query - 0\",\"styleSettings\":{\"maxWidth\":\"30\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where isnotempty(SrcIpAddr)\\r\\n| summarize count() by SrcIpAddr\",\"size\":3,\"title\":\"Source Addresses\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"customWidth\":\"33\",\"name\":\"query - 3\",\"styleSettings\":{\"margin\":\"10\",\"padding\":\"10\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where isnotempty(DstUserName)\\r\\n| summarize count() by DstUserName\\r\\n| top 10 by count_\",\"size\":3,\"title\":\"Top Users\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\",\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"TotalEvents\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"TotalEvents\",\"sortOrder\":2}]},\"customWidth\":\"33\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\n| where EventType =~ 'authentication'\\n| where EventResult =~ 'success'\\n| summarize e_count = count() by SrcDvcOs\\n| project-rename DeviceOS=SrcDvcOs\",\"size\":0,\"title\":\"Device OS Types\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"User\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"TotalMailsReceived\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":10,\"formatOptions\":{\"palette\":\"magenta\"}},\"showBorder\":false}},\"customWidth\":\"30\",\"name\":\"query - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where DvcAction in~ ('admin_login', 'admin_login_error')\\r\\n| project TimeGenerated, DstUserName, Result=strcat(iff(DvcAction =~ 'admin_login_error', '❌', '✅'))\\r\\n\",\"size\":3,\"title\":\"Admin login status\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\"},\"customWidth\":\"34\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where EventType =~ 'authentication'\\r\\n| project TimeGenerated, DstUserName, Result=strcat(iff(EventResult =~ 'success', '✅', '❌'))\",\"size\":0,\"title\":\"User authentication status\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"rowLimit\":50,\"filter\":true}},\"customWidth\":\"40\",\"name\":\"query - 12\",\"styleSettings\":{\"maxWidth\":\"33\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\n| where DvcAction =~ 'user_create'\\n| project SrcUserName\",\"size\":0,\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"gridSettings\":{\"filter\":true},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Title\"},\"subtitleContent\":{\"columnMatch\":\"SrcIpAddr\",\"formatter\":12,\"formatOptions\":{\"palette\":\"purpleDark\"}},\"showBorder\":false,\"rowLimit\":25},\"textSettings\":{\"style\":\"bignumber\"}},\"customWidth\":\"15\",\"name\":\"query - 10\"}],\"fromTemplateId\":\"sentinel-CiscoDuoWorkbook\",\"$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\":\"**NOTE**: This data connector depends on a parser based on Kusto Function **CiscoDuo** to work as expected. [Follow steps to get this Kusto Function](https://aka.ms/sentinel-ciscoduo-parser)\"},\"name\":\"text - 8\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"cd8447d9-b096-4673-92d8-2a1e8291a125\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"type\":4,\"description\":\"Sets the time name for analysis\",\"value\":{\"durationMs\":7776000000},\"typeSettings\":{\"selectableValues\":[{\"durationMs\":900000},{\"durationMs\":3600000},{\"durationMs\":86400000},{\"durationMs\":604800000},{\"durationMs\":2592000000},{\"durationMs\":7776000000}]},\"timeContext\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| make-series TotalEvents = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain};\",\"size\":0,\"title\":\"Events Over Time\",\"color\":\"greenDark\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"timechart\",\"graphSettings\":{\"type\":0}},\"customWidth\":\"40\",\"name\":\"query - 12\",\"styleSettings\":{\"maxWidth\":\"55\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\n| summarize count() by SrcGeoCountry\",\"size\":0,\"title\":\"Countries summary\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"customWidth\":\"30\",\"name\":\"query - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let tot_dvc = CiscoDuo\\r\\n| summarize e_count=dcount(SrcHostname)\\r\\n| extend Title='Authentication Devices';\\r\\nlet tot_usr = CiscoDuo\\r\\n| where EventType =~ 'authentication'\\r\\n| where EventResult =~ 'success'\\r\\n| summarize e_count=dcount(DstUserName)\\r\\n| extend Title='Total Users';\\r\\nlet tot_adm = CiscoDuo\\r\\n| where EventType =~ 'administrator'\\r\\n| summarize e_count=dcount(DstUserName)\\r\\n| extend Title='Admin users';\\r\\nunion isfuzzy=true tot_dvc, tot_usr, tot_adm\\r\\n| order by e_count\",\"size\":3,\"title\":\"Summary\",\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Title\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"e_count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2,\"maximumSignificantDigits\":3}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"purple\"}},\"showBorder\":false}},\"customWidth\":\"25\",\"name\":\"query - 0\",\"styleSettings\":{\"maxWidth\":\"30\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where isnotempty(SrcIpAddr)\\r\\n| summarize count() by SrcIpAddr\",\"size\":3,\"title\":\"Source Addresses\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\"},\"customWidth\":\"33\",\"name\":\"query - 3\",\"styleSettings\":{\"margin\":\"10\",\"padding\":\"10\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where isnotempty(DstUserName)\\r\\n| summarize count() by DstUserName\\r\\n| top 10 by count_\",\"size\":3,\"title\":\"Top Users\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\",\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"TotalEvents\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"TotalEvents\",\"sortOrder\":2}]},\"customWidth\":\"33\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\n| where EventType =~ 'authentication'\\n| where EventResult =~ 'success'\\n| summarize e_count = count() by SrcDvcOs\\n| project-rename DeviceOS=SrcDvcOs\",\"size\":0,\"title\":\"Device OS Types\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"User\",\"formatter\":1},\"leftContent\":{\"columnMatch\":\"TotalMailsReceived\",\"formatter\":12,\"formatOptions\":{\"palette\":\"auto\"},\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":10,\"formatOptions\":{\"palette\":\"magenta\"}},\"showBorder\":false}},\"customWidth\":\"30\",\"name\":\"query - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where DvcAction in~ ('admin_login', 'admin_login_error')\\r\\n| project TimeGenerated, DstUserName, Result=strcat(iff(DvcAction =~ 'admin_login_error', '❌', '✅'))\\r\\n\",\"size\":3,\"title\":\"Admin login status\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\"},\"customWidth\":\"34\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\r\\n| where EventType =~ 'authentication'\\r\\n| project TimeGenerated, DstUserName, Result=strcat(iff(EventResult =~ 'success', '✅', '❌'))\",\"size\":0,\"title\":\"User authentication status\",\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"rowLimit\":50,\"filter\":true}},\"customWidth\":\"40\",\"name\":\"query - 12\",\"styleSettings\":{\"maxWidth\":\"33\"}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CiscoDuo\\n| where DvcAction =~ 'user_create'\\n| project SrcUserName\",\"size\":0,\"timeContext\":{\"durationMs\":7776000000},\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"gridSettings\":{\"filter\":true},\"tileSettings\":{\"titleContent\":{\"columnMatch\":\"Title\"},\"subtitleContent\":{\"columnMatch\":\"SrcIpAddr\",\"formatter\":12,\"formatOptions\":{\"palette\":\"purpleDark\"}},\"showBorder\":false,\"rowLimit\":25},\"textSettings\":{\"style\":\"bignumber\"}},\"customWidth\":\"15\",\"name\":\"query - 10\"}],\"fromTemplateId\":\"sentinel-CiscoDuoWorkbook\",\"$schema\":\"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"}\n", "version": "1.0", "sourceId": "[variables('workspaceResourceId')]", "category": "sentinel" @@ -238,7 +239,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -286,7 +287,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuo Data Parser with template version 3.0.5", + "description": "CiscoDuo Data Parser with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('parserObject1').parserVersion1]", @@ -300,7 +301,7 @@ "location": "[parameters('workspace-location')]", "properties": { "eTag": "*", - "displayName": "CiscoDuoSecurity Data Parser", + "displayName": "Parser for CiscoDuo", "category": "Microsoft Sentinel Parser", "functionAlias": "CiscoDuo", "query": "CiscoDuo_CL\n| extend EventVendor = 'Cisco'\n| extend EventProduct = 'Duo Security'\n| extend parse_json(description_s)\n| extend SrcDvcType=description_s['device'],\n SrcIpAddr=iff(isnotempty(description_s), description_s['ip_address'], access_device_ip_s),\n DstUserName=iff(isnotempty(username_s), username_s, user_name_s),\n SrcUserName=object_s,\n EventType=iff(isnotempty(eventtype_s), eventtype_s, event_type_s),\n EventEndTime=unixtime_seconds_todatetime(tolong(timestamp_d)),\n HttpUserAgentOriginal = description_s['user_agent']\n| extend AccessDvcSecurityAgents=column_ifexists( \"access_device_security_agents_s\" , \"\")\n\t , TrustedEndpointStatus=column_ifexists( \"trusted_endpoint_status_s\", \"\")\n\t , SurfacedAuthAccessDeviceSecurityAgents=column_ifexists( \"surfaced_auth_access_device_security_agents_s\", \"\")\n\t , SrcDvcOs=column_ifexists( \"access_device_os_s\", \"\")\n\t , DstGeoRegion=column_ifexists( \"state_s\", \"\")\n\t , AccessDvcBrowser=column_ifexists( \"access_device_browser_s\", \"\")\n\t , AccessDvcBrowserVersion=column_ifexists( \"access_device_browser_version_s\", \"\")\n\t , AccessDvcFlashVersion=column_ifexists( \"access_device_flash_version_s\", \"\")\n\t , AccessDvcEncryptionEnabled=column_ifexists( \"access_device_is_encryption_enabled_s\", \"\")\n\t , AccessDvcFirewallEnabled=column_ifexists( \"access_device_is_firewall_enabled_s\", \"\")\n\t , AccessDvcPasswordSet=column_ifexists( \"access_device_is_password_set_s\", \"\")\n\t , AccessDvcJavaVersion=column_ifexists( \"access_device_java_version_s\", \"\")\n\t , AccessDvcOsVersion=column_ifexists( \"access_device_os_version_s\", \"\")\n\t , Explanations=column_ifexists( \"explanations_s\", \"\")\n\t , FromCommonNetblock=column_ifexists( \"from_common_netblock_b\", \"\")\n\t , FromNewUser=column_ifexists( \"from_new_user_b\", \"\")\n\t , SrcRiskLevel=column_ifexists( \"low_risk_ip_b\", \"\")\n\t , PriorityEvent=column_ifexists( \"priority_event_b\", \"\")\n\t , PriorityReasons=column_ifexists( \"priority_reasons_s\", \"\")\n\t , Sekey=column_ifexists( \"sekey_s\", \"\")\n\t , SurfacedAuthAccessDeviceBrowser=column_ifexists( \"surfaced_auth_access_device_browser_s\", \"\")\n\t , SurfacedAuthAccessDeviceBrowserVersion=column_ifexists( \"surfaced_auth_access_device_browser_version_s\", \"\")\n\t , SurfacedAuthAccessDeviceIp=column_ifexists( \"surfaced_auth_access_device_ip_s\", \"\")\n\t , SurfacedAuthAccessDeviceEncryptionEnabled=column_ifexists( \"surfaced_auth_access_device_is_encryption_enabled_s\", \"\")\n\t , SurfacedAuthAccessDeviceFirewallEnabled=column_ifexists( \"surfaced_auth_access_device_is_firewall_enabled_s\", \"\")\n\t , SurfacedAuthAccessDevicePasswordSet=column_ifexists( \"surfaced_auth_access_device_is_password_set_s\", \"\")\n\t , SurfacedAuthAccessDeviceLocationCity=column_ifexists( \"surfaced_auth_access_device_location_city_s\", \"\")\n\t , SurfacedAuthAccessDeviceLocationCountry=column_ifexists( \"surfaced_auth_access_device_location_country_s\", \"\")\n\t , SurfacedAuthAccessDeviceLocationState=column_ifexists( \"surfaced_auth_access_device_location_state_s\", \"\")\n\t , SurfacedAuthAccessDeviceOs=column_ifexists( \"surfaced_auth_access_device_os_s\", \"\")\n\t , SurfacedAuthAccessDeviceOsVersion_s=column_ifexists( \"surfaced_auth_access_device_os_version_s\", \"\")\n\t , SurfacedAuthAlias=column_ifexists( \"surfaced_auth_alias_s\", \"\")\n\t , SurfacedAuthApplicationKey=column_ifexists( \"surfaced_auth_application_key_s\", \"\")\n\t , SurfacedAuthApplicationName=column_ifexists( \"surfaced_auth_application_name_s\", \"\")\n\t , SurfacedAuthEmail=column_ifexists( \"surfaced_auth_email_s\", \"\")\n\t , SurfacedAuthFactor=column_ifexists( \"surfaced_auth_factor_s\", \"\")\n\t , SurfacedAuthIsotimestamp=column_ifexists( \"surfaced_auth_isotimestamp_t\", \"\")\n\t , SurfacedAuthOodSoftware_s=column_ifexists( \"surfaced_auth_ood_software_s\", \"\")\n\t , SurfacedAuthReason=column_ifexists( \"surfaced_auth_reason_s\", \"\")\n\t , SurfacedAuthResult=column_ifexists( \"surfaced_auth_result_s\", \"\")\n\t , SurfacedAuthTimestamp=column_ifexists( \"surfaced_auth_timestamp_d\", \"\")\n\t , SurfacedAuthTransactionId=column_ifexists( \"surfaced_auth_txid_g\", \"\")\n\t , SurfacedAuthUserGroups=column_ifexists( \"surfaced_auth_user_groups_s\", \"\")\n\t , SurfacedAuthUserKey=column_ifexists( \"surfaced_auth_user_key_s\", \"\")\n\t , SurfacedAuthUserName=column_ifexists( \"surfaced_auth_user_name_s\", \"\")\n\t , SurfacedTimestamp=column_ifexists( \"surfaced_timestamp_d\", \"\")\n\t , EventUid=column_ifexists( \"triage_event_uri_s\", \"\")\n , context_s=column_ifexists( \"context_s\", \"\")\n , phone_s=column_ifexists( \"phone_s\", \"\")\n , type_s=column_ifexists ( \"type_s\", \"\")\n\t , TriagedAsInteresting=column_ifexists( \"triaged_as_interesting_b\", \"\")\n\t , Credits=column_ifexists( \"credits_d\", \"\")\n| project-rename DvcAction=action_s,\n DvcHostname=host_s,\n SrcGeoCountry=access_device_location_country_s,\n SrcGeoCity=access_device_location_city_s,\n EventResult=result_s,\n EventResultDetails=reason_s,\n AuthDeviceCountry=auth_device_location_country_s,\n AuthFactor=factor_s,\n AccessDvcIpAddr=access_device_ip_s,\n AccessDvcLocationState=access_device_location_state_s,\n Alias=alias_s,\n User=email_s,\n SrcAppId=application_key_s,\n SrcAppName=application_name_s,\n DvcIpAddr=auth_device_ip_s,\n AuthDeviceCity=auth_device_location_city_s,\n AuthDeviceState=auth_device_location_state_s,\n SrcHostname=auth_device_name_s,\n TransactionId=txid_g,\n UserGroups=user_groups_s,\n SrcUserId=user_key_s,\n Context=context_s,\n IsoTimestamp=isotimestamp_t,\n Phone=phone_s,\n SrcDomainType=type_s\n", @@ -322,7 +323,7 @@ "[variables('parserObject1')._parserId1]" ], "properties": { - "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), 'CiscoDuoSecurity Data Parser')]", + "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), 'CiscoDuo')]", "contentId": "[variables('parserObject1').parserContentId1]", "kind": "Parser", "version": "[variables('parserObject1').parserVersion1]", @@ -332,7 +333,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -352,7 +353,7 @@ "contentSchemaVersion": "3.0.0", "contentId": "[variables('parserObject1').parserContentId1]", "contentKind": "Parser", - "displayName": "CiscoDuoSecurity Data Parser", + "displayName": "Parser for CiscoDuo", "contentProductId": "[concat(take(variables('_solutionId'),50),'-','pr','-', uniqueString(concat(variables('_solutionId'),'-','Parser','-',variables('parserObject1').parserContentId1,'-', '1.0.0')))]", "id": "[concat(take(variables('_solutionId'),50),'-','pr','-', uniqueString(concat(variables('_solutionId'),'-','Parser','-',variables('parserObject1').parserContentId1,'-', '1.0.0')))]", "version": "[variables('parserObject1').parserVersion1]" @@ -365,7 +366,7 @@ "location": "[parameters('workspace-location')]", "properties": { "eTag": "*", - "displayName": "CiscoDuoSecurity Data Parser", + "displayName": "Parser for CiscoDuo", "category": "Microsoft Sentinel Parser", "functionAlias": "CiscoDuo", "query": "CiscoDuo_CL\n| extend EventVendor = 'Cisco'\n| extend EventProduct = 'Duo Security'\n| extend parse_json(description_s)\n| extend SrcDvcType=description_s['device'],\n SrcIpAddr=iff(isnotempty(description_s), description_s['ip_address'], access_device_ip_s),\n DstUserName=iff(isnotempty(username_s), username_s, user_name_s),\n SrcUserName=object_s,\n EventType=iff(isnotempty(eventtype_s), eventtype_s, event_type_s),\n EventEndTime=unixtime_seconds_todatetime(tolong(timestamp_d)),\n HttpUserAgentOriginal = description_s['user_agent']\n| extend AccessDvcSecurityAgents=column_ifexists( \"access_device_security_agents_s\" , \"\")\n\t , TrustedEndpointStatus=column_ifexists( \"trusted_endpoint_status_s\", \"\")\n\t , SurfacedAuthAccessDeviceSecurityAgents=column_ifexists( \"surfaced_auth_access_device_security_agents_s\", \"\")\n\t , SrcDvcOs=column_ifexists( \"access_device_os_s\", \"\")\n\t , DstGeoRegion=column_ifexists( \"state_s\", \"\")\n\t , AccessDvcBrowser=column_ifexists( \"access_device_browser_s\", \"\")\n\t , AccessDvcBrowserVersion=column_ifexists( \"access_device_browser_version_s\", \"\")\n\t , AccessDvcFlashVersion=column_ifexists( \"access_device_flash_version_s\", \"\")\n\t , AccessDvcEncryptionEnabled=column_ifexists( \"access_device_is_encryption_enabled_s\", \"\")\n\t , AccessDvcFirewallEnabled=column_ifexists( \"access_device_is_firewall_enabled_s\", \"\")\n\t , AccessDvcPasswordSet=column_ifexists( \"access_device_is_password_set_s\", \"\")\n\t , AccessDvcJavaVersion=column_ifexists( \"access_device_java_version_s\", \"\")\n\t , AccessDvcOsVersion=column_ifexists( \"access_device_os_version_s\", \"\")\n\t , Explanations=column_ifexists( \"explanations_s\", \"\")\n\t , FromCommonNetblock=column_ifexists( \"from_common_netblock_b\", \"\")\n\t , FromNewUser=column_ifexists( \"from_new_user_b\", \"\")\n\t , SrcRiskLevel=column_ifexists( \"low_risk_ip_b\", \"\")\n\t , PriorityEvent=column_ifexists( \"priority_event_b\", \"\")\n\t , PriorityReasons=column_ifexists( \"priority_reasons_s\", \"\")\n\t , Sekey=column_ifexists( \"sekey_s\", \"\")\n\t , SurfacedAuthAccessDeviceBrowser=column_ifexists( \"surfaced_auth_access_device_browser_s\", \"\")\n\t , SurfacedAuthAccessDeviceBrowserVersion=column_ifexists( \"surfaced_auth_access_device_browser_version_s\", \"\")\n\t , SurfacedAuthAccessDeviceIp=column_ifexists( \"surfaced_auth_access_device_ip_s\", \"\")\n\t , SurfacedAuthAccessDeviceEncryptionEnabled=column_ifexists( \"surfaced_auth_access_device_is_encryption_enabled_s\", \"\")\n\t , SurfacedAuthAccessDeviceFirewallEnabled=column_ifexists( \"surfaced_auth_access_device_is_firewall_enabled_s\", \"\")\n\t , SurfacedAuthAccessDevicePasswordSet=column_ifexists( \"surfaced_auth_access_device_is_password_set_s\", \"\")\n\t , SurfacedAuthAccessDeviceLocationCity=column_ifexists( \"surfaced_auth_access_device_location_city_s\", \"\")\n\t , SurfacedAuthAccessDeviceLocationCountry=column_ifexists( \"surfaced_auth_access_device_location_country_s\", \"\")\n\t , SurfacedAuthAccessDeviceLocationState=column_ifexists( \"surfaced_auth_access_device_location_state_s\", \"\")\n\t , SurfacedAuthAccessDeviceOs=column_ifexists( \"surfaced_auth_access_device_os_s\", \"\")\n\t , SurfacedAuthAccessDeviceOsVersion_s=column_ifexists( \"surfaced_auth_access_device_os_version_s\", \"\")\n\t , SurfacedAuthAlias=column_ifexists( \"surfaced_auth_alias_s\", \"\")\n\t , SurfacedAuthApplicationKey=column_ifexists( \"surfaced_auth_application_key_s\", \"\")\n\t , SurfacedAuthApplicationName=column_ifexists( \"surfaced_auth_application_name_s\", \"\")\n\t , SurfacedAuthEmail=column_ifexists( \"surfaced_auth_email_s\", \"\")\n\t , SurfacedAuthFactor=column_ifexists( \"surfaced_auth_factor_s\", \"\")\n\t , SurfacedAuthIsotimestamp=column_ifexists( \"surfaced_auth_isotimestamp_t\", \"\")\n\t , SurfacedAuthOodSoftware_s=column_ifexists( \"surfaced_auth_ood_software_s\", \"\")\n\t , SurfacedAuthReason=column_ifexists( \"surfaced_auth_reason_s\", \"\")\n\t , SurfacedAuthResult=column_ifexists( \"surfaced_auth_result_s\", \"\")\n\t , SurfacedAuthTimestamp=column_ifexists( \"surfaced_auth_timestamp_d\", \"\")\n\t , SurfacedAuthTransactionId=column_ifexists( \"surfaced_auth_txid_g\", \"\")\n\t , SurfacedAuthUserGroups=column_ifexists( \"surfaced_auth_user_groups_s\", \"\")\n\t , SurfacedAuthUserKey=column_ifexists( \"surfaced_auth_user_key_s\", \"\")\n\t , SurfacedAuthUserName=column_ifexists( \"surfaced_auth_user_name_s\", \"\")\n\t , SurfacedTimestamp=column_ifexists( \"surfaced_timestamp_d\", \"\")\n\t , EventUid=column_ifexists( \"triage_event_uri_s\", \"\")\n , context_s=column_ifexists( \"context_s\", \"\")\n , phone_s=column_ifexists( \"phone_s\", \"\")\n , type_s=column_ifexists ( \"type_s\", \"\")\n\t , TriagedAsInteresting=column_ifexists( \"triaged_as_interesting_b\", \"\")\n\t , Credits=column_ifexists( \"credits_d\", \"\")\n| project-rename DvcAction=action_s,\n DvcHostname=host_s,\n SrcGeoCountry=access_device_location_country_s,\n SrcGeoCity=access_device_location_city_s,\n EventResult=result_s,\n EventResultDetails=reason_s,\n AuthDeviceCountry=auth_device_location_country_s,\n AuthFactor=factor_s,\n AccessDvcIpAddr=access_device_ip_s,\n AccessDvcLocationState=access_device_location_state_s,\n Alias=alias_s,\n User=email_s,\n SrcAppId=application_key_s,\n SrcAppName=application_name_s,\n DvcIpAddr=auth_device_ip_s,\n AuthDeviceCity=auth_device_location_city_s,\n AuthDeviceState=auth_device_location_state_s,\n SrcHostname=auth_device_name_s,\n TransactionId=txid_g,\n UserGroups=user_groups_s,\n SrcUserId=user_key_s,\n Context=context_s,\n IsoTimestamp=isotimestamp_t,\n Phone=phone_s,\n SrcDomainType=type_s\n", @@ -388,7 +389,7 @@ "[variables('parserObject1')._parserId1]" ], "properties": { - "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), 'CiscoDuoSecurity Data Parser')]", + "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), 'CiscoDuo')]", "contentId": "[variables('parserObject1').parserContentId1]", "kind": "Parser", "version": "[variables('parserObject1').parserVersion1]", @@ -398,14 +399,14 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { - "name": "Cisco Systems, Inc.", + "name": "Cisco Systems", "email": "support@duosecurity.com", "tier": "Partner", - "link": "https://support.cisco.com" + "link": "https://duo.com/support" } } }, @@ -418,7 +419,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdmin2FAFailure_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoAdmin2FAFailure_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject1').huntingQueryVersion1]", @@ -468,7 +469,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -503,7 +504,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminDeleteActions_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoAdminDeleteActions_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject2').huntingQueryVersion2]", @@ -553,7 +554,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -588,7 +589,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminFailure_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoAdminFailure_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject3').huntingQueryVersion3]", @@ -638,7 +639,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -673,7 +674,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAuthenticationErrorEvents_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoAuthenticationErrorEvents_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject4').huntingQueryVersion4]", @@ -723,7 +724,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -758,7 +759,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAuthenticationErrorReasons_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoAuthenticationErrorReasons_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject5').huntingQueryVersion5]", @@ -808,7 +809,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -843,7 +844,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoDeletedUsers_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoDeletedUsers_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject6').huntingQueryVersion6]", @@ -893,7 +894,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -928,7 +929,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoFraudAuthentication_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoFraudAuthentication_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject7').huntingQueryVersion7]", @@ -978,7 +979,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1013,7 +1014,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewUsers_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoNewUsers_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject8').huntingQueryVersion8]", @@ -1063,7 +1064,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1098,7 +1099,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoUnpachedAccessDevices_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoUnpachedAccessDevices_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject9').huntingQueryVersion9]", @@ -1148,7 +1149,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1183,7 +1184,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoUnsecuredDevices_HuntingQueries Hunting Query with template version 3.0.5", + "description": "CiscoDuoUnsecuredDevices_HuntingQueries Hunting Query with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject10').huntingQueryVersion10]", @@ -1233,7 +1234,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1268,7 +1269,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoSecurity data connector with template version 3.0.5", + "description": "CiscoDuoSecurity data connector with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersion1')]", @@ -1433,7 +1434,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1478,14 +1479,14 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { - "name": "Cisco Systems, Inc.", + "name": "Cisco Systems", "email": "support@duosecurity.com", "tier": "Partner", - "link": "https://support.cisco.com" + "link": "https://duo.com/support" } } }, @@ -1641,7 +1642,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoADSyncFailed_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoADSyncFailed_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject1').analyticRuleVersion1]", @@ -1669,10 +1670,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -1683,13 +1684,13 @@ ], "entityMappings": [ { + "entityType": "IP", "fieldMappings": [ { - "identifier": "Address", - "columnName": "IPCustomEntity" + "columnName": "IPCustomEntity", + "identifier": "Address" } - ], - "entityType": "IP" + ] } ] } @@ -1710,7 +1711,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1745,7 +1746,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminDeleted_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoAdminDeleted_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject2').analyticRuleVersion2]", @@ -1773,10 +1774,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -1787,13 +1788,13 @@ ], "entityMappings": [ { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -1814,7 +1815,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1849,7 +1850,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminMFAFailures_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoAdminMFAFailures_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject3').analyticRuleVersion3]", @@ -1877,10 +1878,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -1891,13 +1892,13 @@ ], "entityMappings": [ { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -1918,7 +1919,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -1953,7 +1954,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoAdminPasswordReset_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoAdminPasswordReset_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject4').analyticRuleVersion4]", @@ -1981,10 +1982,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -1995,13 +1996,13 @@ ], "entityMappings": [ { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2022,7 +2023,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2057,7 +2058,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoMultipleUserLoginFailures_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoMultipleUserLoginFailures_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject5').analyticRuleVersion5]", @@ -2085,10 +2086,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -2099,13 +2100,13 @@ ], "entityMappings": [ { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2126,7 +2127,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2161,7 +2162,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoMultipleUsersDeleted_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoMultipleUsersDeleted_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject6').analyticRuleVersion6]", @@ -2189,10 +2190,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -2203,13 +2204,13 @@ ], "entityMappings": [ { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2230,7 +2231,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2265,7 +2266,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewAccessDevice_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoNewAccessDevice_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject7').analyticRuleVersion7]", @@ -2293,10 +2294,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -2307,22 +2308,22 @@ ], "entityMappings": [ { + "entityType": "IP", "fieldMappings": [ { - "identifier": "Address", - "columnName": "IPCustomEntity" + "columnName": "IPCustomEntity", + "identifier": "Address" } - ], - "entityType": "IP" + ] }, { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2343,7 +2344,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2378,7 +2379,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewAdmin_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoNewAdmin_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject8').analyticRuleVersion8]", @@ -2406,10 +2407,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -2421,13 +2422,13 @@ ], "entityMappings": [ { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2448,7 +2449,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2483,7 +2484,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoNewAuthDeviceLocation_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoNewAuthDeviceLocation_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject9').analyticRuleVersion9]", @@ -2511,10 +2512,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -2525,22 +2526,22 @@ ], "entityMappings": [ { + "entityType": "IP", "fieldMappings": [ { - "identifier": "Address", - "columnName": "IPCustomEntity" + "columnName": "IPCustomEntity", + "identifier": "Address" } - ], - "entityType": "IP" + ] }, { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2561,7 +2562,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2596,7 +2597,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CiscoDuoUnexpectedAuthFactor_AnalyticalRules Analytics Rule with template version 3.0.5", + "description": "CiscoDuoUnexpectedAuthFactor_AnalyticalRules Analytics Rule with template version 3.1.0", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject10').analyticRuleVersion10]", @@ -2624,10 +2625,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "CiscoDuoSecurity", "dataTypes": [ "CiscoDuo" - ] + ], + "connectorId": "CiscoDuoSecurity" } ], "tactics": [ @@ -2638,22 +2639,22 @@ ], "entityMappings": [ { + "entityType": "IP", "fieldMappings": [ { - "identifier": "Address", - "columnName": "IPCustomEntity" + "columnName": "IPCustomEntity", + "identifier": "Address" } - ], - "entityType": "IP" + ] }, { + "entityType": "Account", "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountCustomEntity" + "columnName": "AccountCustomEntity", + "identifier": "Name" } - ], - "entityType": "Account" + ] } ] } @@ -2674,7 +2675,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { @@ -2705,12 +2706,12 @@ "apiVersion": "2023-04-01-preview", "location": "[parameters('workspace-location')]", "properties": { - "version": "3.0.5", + "version": "3.1.0", "kind": "Solution", "contentSchemaVersion": "3.0.0", "displayName": "CiscoDuoSecurity", - "publisherDisplayName": "Microsoft Sentinel, Microsoft Corporation", - "descriptionHtml": "

Note: Please refer to the following before installing the solution:

\n

• Review the solution Release Notes

\n

• There may be known issues pertaining to this Solution, please refer to them before installing.

\n

The Cisco Duo Security solution allows you to ingest authentication logs, administrator logs, telephony logs, offline enrolment logs and Trust Monitor events into Microsoft Sentinel using the Cisco Duo Admin API. Refer to API documentation for more information.

\n

Underlying Microsoft Technologies used:

\n

This solution takes a dependency on the following technologies, and some of these dependencies either may be in Preview state or might result in additional ingestion or operational costs:

\n
    \n
  1. Azure Monitor HTTP Data Collector API

    \n
  2. \n
  3. Azure Functions

    \n
  4. \n
\n

Data Connectors: 1, Parsers: 1, Workbooks: 1, Analytic Rules: 10, Hunting Queries: 10

\n

Learn more about Microsoft Sentinel | Learn more about Solutions

\n", + "publisherDisplayName": "Cisco Systems", + "descriptionHtml": "

Note: Please refer to the following before installing the solution:

\n

• Review the solution Release Notes

\n

• There may be known issues pertaining to this Solution, please refer to them before installing.

\n

The Cisco Duo Security solution allows you to ingest authentication logs, activity logs, administrator logs, telephony logs, offline enrolment logs and Trust Monitor events into Microsoft Sentinel using the Cisco Duo Admin API. Refer to API documentation for more information.

\n

Underlying Microsoft Technologies used:

\n

This solution takes a dependency on the following technologies, and some of these dependencies either may be in Preview state or might result in additional ingestion or operational costs:

\n
    \n
  1. Azure Monitor HTTP Data Collector API

    \n
  2. \n
  3. Azure Functions

    \n
  4. \n
\n

Data Connectors: 1, Parsers: 1, Workbooks: 1, Analytic Rules: 10, Hunting Queries: 10

\n

Learn more about Microsoft Sentinel | Learn more about Solutions

\n", "contentKind": "Solution", "contentProductId": "[variables('_solutioncontentProductId')]", "id": "[variables('_solutioncontentProductId')]", @@ -2723,14 +2724,14 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Microsoft", + "name": "Cisco Duo", "email": "[variables('_email')]" }, "support": { - "name": "Cisco Systems, Inc.", + "name": "Cisco Systems", "email": "support@duosecurity.com", "tier": "Partner", - "link": "https://support.cisco.com" + "link": "https://duo.com/support" }, "dependencies": { "operator": "AND", diff --git a/Solutions/CiscoDuoSecurity/Package/testParameters.json b/Solutions/CiscoDuoSecurity/Package/testParameters.json index 3e3c1330761..901c132a937 100644 --- a/Solutions/CiscoDuoSecurity/Package/testParameters.json +++ b/Solutions/CiscoDuoSecurity/Package/testParameters.json @@ -1,18 +1,32 @@ { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "location": { - "value": "" - }, - "workspace-location": { - "value": "eastus" - }, - "workspace": { - "value": "SentinelLogAnalytics" - }, - "workbook1-name": { - "value": "CiscoDuoSecurity" + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]", + "metadata": { + "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" + } + }, + "workspace-location": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]" + } + }, + "workspace": { + "defaultValue": "", + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Microsoft Sentinel is setup" + } + }, + "workbook1-name": { + "type": "string", + "defaultValue": "CiscoDuoSecurity", + "minLength": 1, + "metadata": { + "description": "Name for the workbook" } } } diff --git a/Solutions/CiscoDuoSecurity/ReleaseNotes.md b/Solutions/CiscoDuoSecurity/ReleaseNotes.md index bf407a33be4..8f53c7ec461 100644 --- a/Solutions/CiscoDuoSecurity/ReleaseNotes.md +++ b/Solutions/CiscoDuoSecurity/ReleaseNotes.md @@ -1,5 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|--------------------------------------------------------| +| 3.1.0 | 03-02-2026 | Python runtime compatibility fix (breaking for connector deployments running on Python 3.11). | | 3.0.5 | 30-01-2026 | Fixed solution installation via Azure portal by deriving deployment **location** from selected workspace (prevents empty location). | | 3.0.4 | 26-09-2025 | Updated support **Microsoft** to **Partner** | | 3.0.3 | 02-09-2025 | Added support for new log endpoints | From 0a80001489244ea682674a218b3f9793034659c8 Mon Sep 17 00:00:00 2001 From: prajval um Date: Tue, 3 Feb 2026 19:14:09 +0530 Subject: [PATCH 10/11] minor fix --- .../Data/Solution_CiscoDuoSecurity.json | 2 +- Solutions/CiscoDuoSecurity/Package/3.0.5.zip | Bin 18472 -> 0 bytes Solutions/CiscoDuoSecurity/Package/3.1.0.zip | Bin 18326 -> 18359 bytes .../Package/mainTemplate.json | 54 +++++++++--------- Solutions/CiscoDuoSecurity/ReleaseNotes.md | 3 +- 5 files changed, 29 insertions(+), 30 deletions(-) delete mode 100644 Solutions/CiscoDuoSecurity/Package/3.0.5.zip diff --git a/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json b/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json index fd0b88f0dde..ff8d150ba6d 100644 --- a/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json +++ b/Solutions/CiscoDuoSecurity/Data/Solution_CiscoDuoSecurity.json @@ -1,6 +1,6 @@ { "Name": "CiscoDuoSecurity", - "Author": "Cisco Duo - support@duosecurity.com", + "Author": "CiscoDuoSecurity - support@duosecurity.com", "Logo": "", "Description": "The [Cisco Duo Security](https://duo.com/) solution allows you to ingest [authentication logs](https://duo.com/docs/adminapi#authentication-logs), [activity logs](https://duo.com/docs/adminapi#activity-logs), [administrator logs](https://duo.com/docs/adminapi#administrator-logs), [telephony logs](https://duo.com/docs/adminapi#telephony-logs), [offline enrolment logs](https://duo.com/docs/adminapi#offline-enrollment-logs) and [Trust Monitor events](https://duo.com/docs/adminapi#trust-monitor) into Microsoft Sentinel using the Cisco Duo Admin API. Refer to [API documentation](https://duo.com/docs/adminapi) for more information.\r\n \r\n **Underlying Microsoft Technologies used:** \r\n\r\n This solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\r\n\n a. [Azure Monitor HTTP Data Collector API](https://docs.microsoft.com/azure/azure-monitor/logs/data-collector-api)\r\n\n \r\n\n b. [Azure Functions](https://azure.microsoft.com/services/functions/#overview)\r\n\n", "Workbooks": [ diff --git a/Solutions/CiscoDuoSecurity/Package/3.0.5.zip b/Solutions/CiscoDuoSecurity/Package/3.0.5.zip deleted file mode 100644 index 5f5760c43856dacc119b9f99555952dd2f455191..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18472 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 delta 15136 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 diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index 2cd859b6833..17b051ba954 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -2,7 +2,7 @@ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "metadata": { - "author": "Cisco Duo - support@duosecurity.com", + "author": "CiscoDuoSecurity - support@duosecurity.com", "comments": "Solution template for CiscoDuoSecurity" }, "parameters": { @@ -239,7 +239,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -333,7 +333,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -399,7 +399,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -469,7 +469,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -554,7 +554,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -639,7 +639,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -724,7 +724,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -809,7 +809,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -894,7 +894,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -979,7 +979,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1064,7 +1064,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1149,7 +1149,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1234,7 +1234,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1434,7 +1434,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1479,7 +1479,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1711,7 +1711,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1815,7 +1815,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -1919,7 +1919,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2023,7 +2023,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2127,7 +2127,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2231,7 +2231,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2344,7 +2344,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2449,7 +2449,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2562,7 +2562,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2675,7 +2675,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { @@ -2724,7 +2724,7 @@ "sourceId": "[variables('_solutionId')]" }, "author": { - "name": "Cisco Duo", + "name": "CiscoDuoSecurity", "email": "[variables('_email')]" }, "support": { diff --git a/Solutions/CiscoDuoSecurity/ReleaseNotes.md b/Solutions/CiscoDuoSecurity/ReleaseNotes.md index 8f53c7ec461..176103c5c16 100644 --- a/Solutions/CiscoDuoSecurity/ReleaseNotes.md +++ b/Solutions/CiscoDuoSecurity/ReleaseNotes.md @@ -1,7 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|--------------------------------------------------------| -| 3.1.0 | 03-02-2026 | Python runtime compatibility fix (breaking for connector deployments running on Python 3.11). | -| 3.0.5 | 30-01-2026 | Fixed solution installation via Azure portal by deriving deployment **location** from selected workspace (prevents empty location). | +| 3.1.0 | 03-02-2026 | Python runtime compatibility fix (breaking for connector deployments running on Python 3.11). Fixed solution installation via Azure portal by deriving deployment **location** from selected workspace (prevents empty location). | | 3.0.4 | 26-09-2025 | Updated support **Microsoft** to **Partner** | | 3.0.3 | 02-09-2025 | Added support for new log endpoints | | 3.0.2 | 16-04-2024 | Added Deploy to Azure Goverment button for Government portal in **Dataconnector**
Fixed **Parser** issue for Parser name and ParentID mismatch | From 46e9ed0ef8e9ec8b5324f8f045dc5b14a5f411e3 Mon Sep 17 00:00:00 2001 From: prajval um Date: Thu, 5 Feb 2026 10:29:36 +0530 Subject: [PATCH 11/11] changes done updating the bundle to 5.0.0 --- .../Data Connectors/host.json | 2 +- Solutions/CiscoDuoSecurity/Package/3.1.0.zip | Bin 18359 -> 18339 bytes .../Package/mainTemplate.json | 52 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Solutions/CiscoDuoSecurity/Data Connectors/host.json b/Solutions/CiscoDuoSecurity/Data Connectors/host.json index 1531bf9b495..b7a426af232 100644 --- a/Solutions/CiscoDuoSecurity/Data Connectors/host.json +++ b/Solutions/CiscoDuoSecurity/Data Connectors/host.json @@ -11,6 +11,6 @@ }, "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", - "version": "[3.*, 4.0.0)" + "version": "[4.0.0, 5.0.0)" } } diff --git a/Solutions/CiscoDuoSecurity/Package/3.1.0.zip b/Solutions/CiscoDuoSecurity/Package/3.1.0.zip index 3c34586425d97900d45678c7a2bc9bd09b23a6a0..fb306e337dae9530be7b42bd979263b8b0ee0370 100644 GIT binary patch delta 3404 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 delta 3424 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 CucToB diff --git a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json index 17b051ba954..f0142f779fa 100644 --- a/Solutions/CiscoDuoSecurity/Package/mainTemplate.json +++ b/Solutions/CiscoDuoSecurity/Package/mainTemplate.json @@ -1684,13 +1684,13 @@ ], "entityMappings": [ { - "entityType": "IP", "fieldMappings": [ { "columnName": "IPCustomEntity", "identifier": "Address" } - ] + ], + "entityType": "IP" } ] } @@ -1788,13 +1788,13 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -1892,13 +1892,13 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -1996,13 +1996,13 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -2100,13 +2100,13 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -2204,13 +2204,13 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -2308,22 +2308,22 @@ ], "entityMappings": [ { - "entityType": "IP", "fieldMappings": [ { "columnName": "IPCustomEntity", "identifier": "Address" } - ] + ], + "entityType": "IP" }, { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -2422,13 +2422,13 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -2526,22 +2526,22 @@ ], "entityMappings": [ { - "entityType": "IP", "fieldMappings": [ { "columnName": "IPCustomEntity", "identifier": "Address" } - ] + ], + "entityType": "IP" }, { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] } @@ -2639,22 +2639,22 @@ ], "entityMappings": [ { - "entityType": "IP", "fieldMappings": [ { "columnName": "IPCustomEntity", "identifier": "Address" } - ] + ], + "entityType": "IP" }, { - "entityType": "Account", "fieldMappings": [ { "columnName": "AccountCustomEntity", "identifier": "Name" } - ] + ], + "entityType": "Account" } ] }