From 70dc2e46b83986eb40a661dfcca022501f079c25 Mon Sep 17 00:00:00 2001 From: v-sudkharat Date: Thu, 21 Dec 2023 19:13:19 +0530 Subject: [PATCH 1/3] Repackaging-MicrosoftEntraID --- Solutions/Microsoft Entra ID/Data/Solution_AAD.json | 2 +- .../Microsoft Entra ID/Data/system_generated_metadata.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Solutions/Microsoft Entra ID/Data/Solution_AAD.json b/Solutions/Microsoft Entra ID/Data/Solution_AAD.json index cd592e460e2..2b6284ed2f6 100644 --- a/Solutions/Microsoft Entra ID/Data/Solution_AAD.json +++ b/Solutions/Microsoft Entra ID/Data/Solution_AAD.json @@ -88,7 +88,7 @@ "Solutions/Microsoft Entra ID/Playbooks/Revoke-AADSignInSessions/entity-trigger/azuredeploy.json" ], "BasePath": "C:\\GitHub\\Azure-Sentinel", - "Version": "3.0.9", + "Version": "3.0.10", "Metadata": "SolutionMetadata.json", "TemplateSpec": true, "Is1PConnector": true diff --git a/Solutions/Microsoft Entra ID/Data/system_generated_metadata.json b/Solutions/Microsoft Entra ID/Data/system_generated_metadata.json index c40a5b023c1..16b721e079f 100644 --- a/Solutions/Microsoft Entra ID/Data/system_generated_metadata.json +++ b/Solutions/Microsoft Entra ID/Data/system_generated_metadata.json @@ -4,7 +4,7 @@ "Logo": "", "Description": "The [Microsoft Entra ID](https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis) solution for Microsoft Sentinel enables you to ingest Microsoft Entra ID [Audit](https://docs.microsoft.com/azure/active-directory/reports-monitoring/concept-audit-logs), [Sign-in](https://docs.microsoft.com/azure/active-directory/reports-monitoring/concept-sign-ins), [Provisioning](https://docs.microsoft.com/azure/active-directory/reports-monitoring/concept-provisioning-logs), [Risk Events and Risky User/Service Principal](https://docs.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-investigate-risk#risky-users) logs using Diagnostic Settings into Microsoft Sentinel.", "BasePath": "C:\\GitHub\\Azure-Sentinel", - "Version": "3.0.7", + "Version": "3.0.10", "Metadata": "SolutionMetadata.json", "TemplateSpec": true, "Is1PConnector": true, From 21367e18bdad697b0c9dc0595f9241d7f158a7ac Mon Sep 17 00:00:00 2001 From: v-sudkharat Date: Thu, 28 Dec 2023 12:07:30 +0530 Subject: [PATCH 2/3] Update Main Template to get new changes --- .../Microsoft Entra ID/Package/3.0.10.zip | Bin 0 -> 95179 bytes .../Package/createUiDefinition.json | 2 +- .../Package/mainTemplate.json | 526 +++++++++--------- .../Package/testParameters.json | 40 ++ Solutions/Microsoft Entra ID/ReleaseNotes.md | 1 + 5 files changed, 305 insertions(+), 264 deletions(-) create mode 100644 Solutions/Microsoft Entra ID/Package/3.0.10.zip create mode 100644 Solutions/Microsoft Entra ID/Package/testParameters.json diff --git a/Solutions/Microsoft Entra ID/Package/3.0.10.zip b/Solutions/Microsoft Entra ID/Package/3.0.10.zip new file mode 100644 index 0000000000000000000000000000000000000000..b3b4850df935353c3626d290696fa9019791131d GIT binary patch literal 95179 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 Y1}y4da2VLXwIIRoVDO&R2?D(RH^vZL9smFU literal 0 HcmV?d00001 diff --git a/Solutions/Microsoft Entra ID/Package/createUiDefinition.json b/Solutions/Microsoft Entra ID/Package/createUiDefinition.json index 8fe45c2d3ca..95a8955539c 100644 --- a/Solutions/Microsoft Entra ID/Package/createUiDefinition.json +++ b/Solutions/Microsoft Entra ID/Package/createUiDefinition.json @@ -880,7 +880,7 @@ "name": "analytic52-text", "type": "Microsoft.Common.TextBlock", "options": { - "text": "Identifies evidence of password spray activity against Microsoft Entra ID applications by looking for failures from multiple accounts from the same\nIP address within a time window. If the number of accounts breaches the threshold just once, all failures from the IP address within the time range\nare bought into the result. Details on whether there were successful authentications by the IP address within the time window are also included.\nThis can be an indicator that an attack was successful.\nThe default failure acccount threshold is 5, Default time window for failures is 20m and default look back window is 1 days\nNote: Due to the number of possible accounts involved in a password spray it is not possible to map identities to a custom entity.\nReferences: https://docs.microsoft.com/azure/active-directory/reports-monitoring/reference-sign-ins-error-codes." + "text": "Identifies evidence of password spray activity against Microsoft Entra ID applications by looking for failures from multiple accounts from the same\nIP address within a time window. If the number of accounts breaches the threshold just once, all failures from the IP address within the time range\nare bought into the result. Details on whether there were successful authentications by the IP address within the time window are also included.\nThis can be an indicator that an attack was successful.\nThe default failure acccount threshold is 5, Default time window for failures is 20m and default look back window is 1 day\nNote: Due to the number of possible accounts involved in a password spray it is not possible to map identities to a custom entity.\nReferences: https://docs.microsoft.com/azure/active-directory/reports-monitoring/reference-sign-ins-error-codes." } } ] diff --git a/Solutions/Microsoft Entra ID/Package/mainTemplate.json b/Solutions/Microsoft Entra ID/Package/mainTemplate.json index 63066eb9d19..de140356754 100644 --- a/Solutions/Microsoft Entra ID/Package/mainTemplate.json +++ b/Solutions/Microsoft Entra ID/Package/mainTemplate.json @@ -49,7 +49,7 @@ "email": "support@microsoft.com", "_email": "[variables('email')]", "_solutionName": "Microsoft Entra ID", - "_solutionVersion": "3.0.9", + "_solutionVersion": "3.0.10", "solutionId": "azuresentinel.azure-sentinel-solution-azureactivedirectory", "_solutionId": "[variables('solutionId')]", "uiConfigId1": "AzureActiveDirectory", @@ -383,11 +383,11 @@ "_analyticRulecontentProductId44": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','7d7e20f8-3384-4b71-811c-f5e950e8306c','-', '1.0.7')))]" }, "analyticRuleObject45": { - "analyticRuleVersion45": "1.0.4", + "analyticRuleVersion45": "1.1.0", "_analyticRulecontentId45": "34c5aff9-a8c2-4601-9654-c7e46342d03b", "analyticRuleId45": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', '34c5aff9-a8c2-4601-9654-c7e46342d03b')]", "analyticRuleTemplateSpecName45": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-ar-',uniquestring('34c5aff9-a8c2-4601-9654-c7e46342d03b')))]", - "_analyticRulecontentProductId45": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','34c5aff9-a8c2-4601-9654-c7e46342d03b','-', '1.0.4')))]" + "_analyticRulecontentProductId45": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','34c5aff9-a8c2-4601-9654-c7e46342d03b','-', '1.1.0')))]" }, "analyticRuleObject46": { "analyticRuleVersion46": "1.0.4", @@ -609,7 +609,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Microsoft Entra ID data connector with template version 3.0.9", + "description": "Microsoft Entra ID data connector with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersion1')]", @@ -988,7 +988,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AzureActiveDirectoryAuditLogs Workbook with template version 3.0.9", + "description": "AzureActiveDirectoryAuditLogs Workbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('workbookVersion1')]", @@ -1076,7 +1076,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AzureActiveDirectorySignins Workbook with template version 3.0.9", + "description": "AzureActiveDirectorySignins Workbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('workbookVersion2')]", @@ -1164,7 +1164,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AccountCreatedandDeletedinShortTimeframe_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AccountCreatedandDeletedinShortTimeframe_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject1').analyticRuleVersion1]", @@ -1192,10 +1192,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -1281,7 +1281,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AccountCreatedDeletedByNonApprovedUser_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AccountCreatedDeletedByNonApprovedUser_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject2').analyticRuleVersion2]", @@ -1309,10 +1309,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -1398,7 +1398,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "ADFSDomainTrustMods_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "ADFSDomainTrustMods_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject3').analyticRuleVersion3]", @@ -1426,10 +1426,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -1512,7 +1512,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "ADFSSignInLogsPasswordSpray_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "ADFSSignInLogsPasswordSpray_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject4').analyticRuleVersion4]", @@ -1540,10 +1540,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "ADFSSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -1616,7 +1616,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AdminPromoAfterRoleMgmtAppPermissionGrant_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AdminPromoAfterRoleMgmtAppPermissionGrant_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject5').analyticRuleVersion5]", @@ -1644,10 +1644,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -1735,7 +1735,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AnomalousUserAppSigninLocationIncrease-detection_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AnomalousUserAppSigninLocationIncrease-detection_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject6').analyticRuleVersion6]", @@ -1763,16 +1763,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -1863,7 +1863,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AuthenticationMethodsChangedforPrivilegedAccount_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AuthenticationMethodsChangedforPrivilegedAccount_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject7').analyticRuleVersion7]", @@ -1891,16 +1891,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "IdentityInfo" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -1999,7 +1999,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AzureAADPowerShellAnomaly_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AzureAADPowerShellAnomaly_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject8').analyticRuleVersion8]", @@ -2027,16 +2027,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2126,7 +2126,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AzureADRoleManagementPermissionGrant_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AzureADRoleManagementPermissionGrant_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject9').analyticRuleVersion9]", @@ -2154,10 +2154,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2245,7 +2245,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AzurePortalSigninfromanotherAzureTenant_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "AzurePortalSigninfromanotherAzureTenant_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject10').analyticRuleVersion10]", @@ -2273,10 +2273,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2370,7 +2370,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Brute Force Attack against GitHub Account_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Brute Force Attack against GitHub Account_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject11').analyticRuleVersion11]", @@ -2398,16 +2398,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2484,7 +2484,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "BruteForceCloudPC_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "BruteForceCloudPC_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject12').analyticRuleVersion12]", @@ -2512,10 +2512,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2601,7 +2601,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "BulkChangestoPrivilegedAccountPermissions_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "BulkChangestoPrivilegedAccountPermissions_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject13').analyticRuleVersion13]", @@ -2629,10 +2629,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2670,8 +2670,8 @@ } ], "customDetails": { - "InitiatedByUser": "InitiatedByUser", - "TargetUser": "Target" + "TargetUser": "Target", + "InitiatedByUser": "InitiatedByUser" } } }, @@ -2726,7 +2726,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "BypassCondAccessRule_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "BypassCondAccessRule_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject14').analyticRuleVersion14]", @@ -2754,16 +2754,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2851,7 +2851,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "CredentialAddedAfterAdminConsent_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "CredentialAddedAfterAdminConsent_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject15').analyticRuleVersion15]", @@ -2879,10 +2879,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -2965,7 +2965,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Cross-tenantAccessSettingsOrganizationAdded_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Cross-tenantAccessSettingsOrganizationAdded_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject16').analyticRuleVersion16]", @@ -2993,10 +2993,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3086,7 +3086,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Cross-tenantAccessSettingsOrganizationDeleted_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Cross-tenantAccessSettingsOrganizationDeleted_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject17').analyticRuleVersion17]", @@ -3114,10 +3114,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3207,7 +3207,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Cross-tenantAccessSettingsOrganizationInboundCollaborationSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Cross-tenantAccessSettingsOrganizationInboundCollaborationSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject18').analyticRuleVersion18]", @@ -3235,10 +3235,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3328,7 +3328,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Cross-tenantAccessSettingsOrganizationInboundDirectSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Cross-tenantAccessSettingsOrganizationInboundDirectSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject19').analyticRuleVersion19]", @@ -3356,10 +3356,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3449,7 +3449,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Cross-tenantAccessSettingsOrganizationOutboundCollaborationSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Cross-tenantAccessSettingsOrganizationOutboundCollaborationSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject20').analyticRuleVersion20]", @@ -3477,10 +3477,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3570,7 +3570,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Cross-tenantAccessSettingsOrganizationOutboundDirectSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Cross-tenantAccessSettingsOrganizationOutboundDirectSettingsChanged_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject21').analyticRuleVersion21]", @@ -3598,10 +3598,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3691,7 +3691,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "DisabledAccountSigninsAcrossManyApplications_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "DisabledAccountSigninsAcrossManyApplications_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject22').analyticRuleVersion22]", @@ -3719,16 +3719,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3814,7 +3814,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "DistribPassCrackAttempt_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "DistribPassCrackAttempt_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject23').analyticRuleVersion23]", @@ -3842,16 +3842,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -3937,7 +3937,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "ExplicitMFADeny_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "ExplicitMFADeny_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject24').analyticRuleVersion24]", @@ -3965,22 +3965,22 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "MicrosoftThreatProtection", "dataTypes": [ "DeviceInfo" - ] + ], + "connectorId": "MicrosoftThreatProtection" } ], "tactics": [ @@ -4084,7 +4084,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "ExchangeFullAccessGrantedToApp_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "ExchangeFullAccessGrantedToApp_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject25').analyticRuleVersion25]", @@ -4112,10 +4112,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4149,9 +4149,9 @@ } ], "customDetails": { - "UserAgent": "GrantUserAgent", "OAuthApplication": "OAuthAppName", - "OAuthAppId": "AppId" + "OAuthAppId": "AppId", + "UserAgent": "GrantUserAgent" }, "alertDetailsOverride": { "alertDescriptionFormat": "This detection looks for the full_access_as_app permission being granted to an OAuth application with Admin Consent.\nThis permission provide access to all Exchange mailboxes via the EWS API can could be exploited to access sensitive data \nby being added to a compromised application. The application granted this permission should be reviewed to ensure that it \nis absolutely necessary for the applications function.\nIn this case {{GrantInitiatedBy}} granted full_access_as_app to {{OAuthAppName}} from {{GrantIpAddress}}\nRef: https://learn.microsoft.com/graph/auth-limit-mailbox-access\n", @@ -4210,7 +4210,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "FailedLogonToAzurePortal_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "FailedLogonToAzurePortal_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject26').analyticRuleVersion26]", @@ -4238,16 +4238,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4333,7 +4333,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "FirstAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "FirstAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject27').analyticRuleVersion27]", @@ -4361,10 +4361,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4459,7 +4459,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "GuestAccountsAddedinAADGroupsOtherThanTheOnesSpecified_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "GuestAccountsAddedinAADGroupsOtherThanTheOnesSpecified_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject28').analyticRuleVersion28]", @@ -4487,10 +4487,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4602,7 +4602,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "MailPermissionsAddedToApplication_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "MailPermissionsAddedToApplication_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject29').analyticRuleVersion29]", @@ -4630,10 +4630,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4719,7 +4719,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "MaliciousOAuthApp_O365AttackToolkit_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "MaliciousOAuthApp_O365AttackToolkit_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject30').analyticRuleVersion30]", @@ -4747,10 +4747,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4847,7 +4847,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "MaliciousOAuthApp_PwnAuth_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "MaliciousOAuthApp_PwnAuth_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject31').analyticRuleVersion31]", @@ -4875,10 +4875,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -4966,7 +4966,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "MFARejectedbyUser_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "MFARejectedbyUser_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject32').analyticRuleVersion32]", @@ -4994,22 +4994,22 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "BehaviorAnalytics" - ] + ], + "connectorId": "BehaviorAnalytics" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "IdentityInfo" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -5099,7 +5099,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "MFASpammingfollowedbySuccessfullogin_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "MFASpammingfollowedbySuccessfullogin_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject33').analyticRuleVersion33]", @@ -5127,10 +5127,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5216,7 +5216,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "MultipleAdmin_membership_removals_from_NewAdmin_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "MultipleAdmin_membership_removals_from_NewAdmin_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject34').analyticRuleVersion34]", @@ -5244,10 +5244,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5324,7 +5324,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NewOnmicrosoftDomainAdded_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NewOnmicrosoftDomainAdded_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject35').analyticRuleVersion35]", @@ -5352,10 +5352,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5461,7 +5461,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NewAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NewAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject36').analyticRuleVersion36]", @@ -5489,10 +5489,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5578,7 +5578,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_ADFSDomainTrustMods_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NRT_ADFSDomainTrustMods_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject37').analyticRuleVersion37]", @@ -5602,10 +5602,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5688,7 +5688,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_AuthenticationMethodsChangedforVIPUsers_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NRT_AuthenticationMethodsChangedforVIPUsers_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject38').analyticRuleVersion38]", @@ -5712,10 +5712,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5801,7 +5801,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "nrt_FirstAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "nrt_FirstAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject39').analyticRuleVersion39]", @@ -5825,10 +5825,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -5914,7 +5914,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_NewAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NRT_NewAppOrServicePrincipalCredential_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject40').analyticRuleVersion40]", @@ -5938,10 +5938,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6027,7 +6027,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_PIMElevationRequestRejected_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NRT_PIMElevationRequestRejected_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject41').analyticRuleVersion41]", @@ -6051,10 +6051,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6153,7 +6153,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_PrivlegedRoleAssignedOutsidePIM_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NRT_PrivlegedRoleAssignedOutsidePIM_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject42').analyticRuleVersion42]", @@ -6177,10 +6177,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6266,7 +6266,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_UseraddedtoPrivilgedGroups_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "NRT_UseraddedtoPrivilgedGroups_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject43').analyticRuleVersion43]", @@ -6290,10 +6290,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6385,7 +6385,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "PIMElevationRequestRejected_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "PIMElevationRequestRejected_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject44').analyticRuleVersion44]", @@ -6413,10 +6413,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6515,7 +6515,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "PrivilegedAccountsSigninFailureSpikes_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "PrivilegedAccountsSigninFailureSpikes_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject45').analyticRuleVersion45]", @@ -6532,7 +6532,7 @@ "description": " Identifies spike in failed sign-ins from Privileged accounts. Privileged accounts list can be based on IdentityInfo UEBA table.\nSpike is determined based on Time series anomaly which will look at historical baseline values.\nRef : https://docs.microsoft.com/azure/active-directory/fundamentals/security-operations-privileged-accounts#things-to-monitor", "displayName": "Privileged Accounts - Sign in Failure Spikes", "enabled": false, - "query": "let starttime = 14d;\nlet timeframe = 1d;\nlet scorethreshold = 3;\nlet baselinethreshold = 5;\nlet aadFunc = (tableName:string){\n IdentityInfo\n | where TimeGenerated > ago(starttime)\n | summarize arg_max(TimeGenerated, *) by AccountUPN\n | mv-expand AssignedRoles\n | where AssignedRoles contains 'Admin'\n | summarize Roles = make_list(AssignedRoles) by AccountUPN = tolower(AccountUPN)\n | join kind=inner (\n table(tableName)\n | where TimeGenerated between (startofday(ago(starttime))..startofday(now()))\n | where ResultType != 0\n | extend UserPrincipalName = tolower(UserPrincipalName)\n ) on $left.AccountUPN == $right.UserPrincipalName\n | extend timestamp = TimeGenerated, AccountCustomEntity = UserPrincipalName, Roles = tostring(Roles)\n};\nlet aadSignin = aadFunc(\"SigninLogs\");\nlet aadNonInt = aadFunc(\"AADNonInteractiveUserSignInLogs\");\nlet allSignins = union isfuzzy=true aadSignin, aadNonInt;\nlet TimeSeriesAlerts = \n allSignins\n | make-series HourlyCount=count() on TimeGenerated from startofday(ago(starttime)) to startofday(now()) step 1h by UserPrincipalName, Roles\n | extend (anomalies, score, baseline) = series_decompose_anomalies(HourlyCount, scorethreshold, -1, 'linefit')\n | mv-expand HourlyCount to typeof(double), TimeGenerated to typeof(datetime), anomalies to typeof(double), score to typeof(double), baseline to typeof(long)\n // Filtering low count events per baselinethreshold\n | where anomalies > 0 and baseline > baselinethreshold\n | extend AnomalyHour = TimeGenerated\n | project UserPrincipalName, Roles, AnomalyHour, TimeGenerated, HourlyCount, baseline, anomalies, score;\n// Filter the alerts for specified timeframe\nTimeSeriesAlerts\n| where TimeGenerated > startofday(ago(timeframe))\n| join kind=inner ( \n allSignins\n | where TimeGenerated > startofday(ago(timeframe))\n // create a new column and round to hour\n | extend DateHour = bin(TimeGenerated, 1h)\n | summarize PartialFailedSignins = count(), LatestAnomalyTime = arg_max(TimeGenerated, *) by bin(TimeGenerated, 1h), OperationName, Category, ResultType, ResultDescription, UserPrincipalName, Roles, UserDisplayName, AppDisplayName, ClientAppUsed, IPAddress, ResourceDisplayName\n) on UserPrincipalName, $left.AnomalyHour == $right.DateHour\n| project LatestAnomalyTime, OperationName, Category, UserPrincipalName, Roles = todynamic(Roles), UserDisplayName, ResultType, ResultDescription, AppDisplayName, ClientAppUsed, UserAgent, IPAddress, Location, AuthenticationRequirement, ConditionalAccessStatus, ResourceDisplayName, PartialFailedSignins, TotalFailedSignins = HourlyCount, baseline, anomalies, score\n| extend timestamp = LatestAnomalyTime, Name = tostring(split(UserPrincipalName,'@',0)[0]), UPNSuffix = tostring(split(UserPrincipalName,'@',1)[0])\n", + "query": "let starttime = 14d;\nlet timeframe = 1d;\nlet scorethreshold = 3;\nlet baselinethreshold = 5;\nlet aadFunc = (tableName:string){\n IdentityInfo\n | where TimeGenerated > ago(starttime)\n | summarize arg_max(TimeGenerated, *) by AccountUPN\n | mv-expand AssignedRoles\n | where AssignedRoles contains 'Admin' or GroupMembership has \"Admin\"\n | summarize Roles = make_list(AssignedRoles) by AccountUPN = tolower(AccountUPN)\n | join kind=inner (\n table(tableName)\n | where TimeGenerated between (startofday(ago(starttime))..startofday(now()))\n | where ResultType != 0\n | extend UserPrincipalName = tolower(UserPrincipalName)\n ) on $left.AccountUPN == $right.UserPrincipalName\n | extend timestamp = TimeGenerated, AccountCustomEntity = UserPrincipalName, Roles = tostring(Roles)\n};\nlet aadSignin = aadFunc(\"SigninLogs\");\nlet aadNonInt = aadFunc(\"AADNonInteractiveUserSignInLogs\");\nlet allSignins = union isfuzzy=true aadSignin, aadNonInt;\nlet TimeSeriesAlerts = \n allSignins\n | make-series HourlyCount=count() on TimeGenerated from startofday(ago(starttime)) to startofday(now()) step 1h by UserPrincipalName, Roles\n | extend (anomalies, score, baseline) = series_decompose_anomalies(HourlyCount, scorethreshold, -1, 'linefit')\n | mv-expand HourlyCount to typeof(double), TimeGenerated to typeof(datetime), anomalies to typeof(double), score to typeof(double), baseline to typeof(long)\n // Filtering low count events per baselinethreshold\n | where anomalies > 0 and baseline > baselinethreshold\n | extend AnomalyHour = TimeGenerated\n | project UserPrincipalName, Roles, AnomalyHour, TimeGenerated, HourlyCount, baseline, anomalies, score;\n// Filter the alerts for specified timeframe\nTimeSeriesAlerts\n| where TimeGenerated > startofday(ago(timeframe))\n| join kind=inner ( \n allSignins\n | where TimeGenerated > startofday(ago(timeframe))\n // create a new column and round to hour\n | extend DateHour = bin(TimeGenerated, 1h)\n | summarize PartialFailedSignins = count(), LatestAnomalyTime = arg_max(TimeGenerated, *) by bin(TimeGenerated, 1h), OperationName, Category, ResultType, ResultDescription, UserPrincipalName, Roles, UserDisplayName, AppDisplayName, ClientAppUsed, IPAddress, ResourceDisplayName\n) on UserPrincipalName, $left.AnomalyHour == $right.DateHour\n| project LatestAnomalyTime, OperationName, Category, UserPrincipalName, Roles = todynamic(Roles), UserDisplayName, ResultType, ResultDescription, AppDisplayName, ClientAppUsed, UserAgent, IPAddress, Location, AuthenticationRequirement, ConditionalAccessStatus, ResourceDisplayName, PartialFailedSignins, TotalFailedSignins = HourlyCount, baseline, anomalies, score\n| extend timestamp = LatestAnomalyTime, Name = tostring(split(UserPrincipalName,'@',0)[0]), UPNSuffix = tostring(split(UserPrincipalName,'@',1)[0])\n", "queryFrequency": "P1D", "queryPeriod": "P14D", "severity": "High", @@ -6543,22 +6543,22 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "IdentityInfo" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -6644,7 +6644,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "PrivlegedRoleAssignedOutsidePIM_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "PrivlegedRoleAssignedOutsidePIM_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject46').analyticRuleVersion46]", @@ -6672,10 +6672,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6761,7 +6761,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "RareApplicationConsent_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "RareApplicationConsent_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject47').analyticRuleVersion47]", @@ -6789,10 +6789,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -6889,7 +6889,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SeamlessSSOPasswordSpray_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SeamlessSSOPasswordSpray_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject48').analyticRuleVersion48]", @@ -6917,10 +6917,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -7006,7 +7006,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Sign-in Burst from Multiple Locations_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "Sign-in Burst from Multiple Locations_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject49').analyticRuleVersion49]", @@ -7034,16 +7034,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -7120,7 +7120,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SigninAttemptsByIPviaDisabledAccounts_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SigninAttemptsByIPviaDisabledAccounts_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject50').analyticRuleVersion50]", @@ -7148,22 +7148,22 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "BehaviorAnalytics" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -7238,7 +7238,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SigninBruteForce-AzurePortal_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SigninBruteForce-AzurePortal_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject51').analyticRuleVersion51]", @@ -7266,16 +7266,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -7365,7 +7365,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SigninPasswordSpray_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SigninPasswordSpray_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject52').analyticRuleVersion52]", @@ -7393,16 +7393,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -7475,7 +7475,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuccessThenFail_DiffIP_SameUserandApp_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SuccessThenFail_DiffIP_SameUserandApp_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject53').analyticRuleVersion53]", @@ -7503,28 +7503,28 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "BehaviorAnalytics" - ] + ], + "connectorId": "BehaviorAnalytics" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "IdentityInfo" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -7621,7 +7621,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuspiciousAADJoinedDeviceUpdate_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SuspiciousAADJoinedDeviceUpdate_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject54').analyticRuleVersion54]", @@ -7649,10 +7649,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -7756,7 +7756,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuspiciousOAuthApp_OfflineAccess_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SuspiciousOAuthApp_OfflineAccess_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject55').analyticRuleVersion55]", @@ -7784,10 +7784,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -7873,7 +7873,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuspiciousServicePrincipalcreationactivity_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SuspiciousServicePrincipalcreationactivity_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject56').analyticRuleVersion56]", @@ -7901,11 +7901,11 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs", "AADServicePrincipalSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -8008,7 +8008,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuspiciousSignInFollowedByMFAModification_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "SuspiciousSignInFollowedByMFAModification_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject57').analyticRuleVersion57]", @@ -8036,16 +8036,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "BehaviorAnalytics" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -8170,7 +8170,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "UnusualGuestActivity_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "UnusualGuestActivity_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject58').analyticRuleVersion58]", @@ -8198,16 +8198,16 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -8310,7 +8310,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "UserAccounts-CABlockedSigninSpikes_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "UserAccounts-CABlockedSigninSpikes_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject59').analyticRuleVersion59]", @@ -8338,28 +8338,28 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "SigninLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AADNonInteractiveUserSignInLogs" - ] + ], + "connectorId": "AzureActiveDirectory" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "BehaviorAnalytics" - ] + ], + "connectorId": "BehaviorAnalytics" }, { - "connectorId": "BehaviorAnalytics", "dataTypes": [ "IdentityInfo" - ] + ], + "connectorId": "BehaviorAnalytics" } ], "tactics": [ @@ -8445,7 +8445,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "UseraddedtoPrivilgedGroups_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "UseraddedtoPrivilgedGroups_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject60').analyticRuleVersion60]", @@ -8473,10 +8473,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -8568,7 +8568,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "UserAssignedNewPrivilegedRole_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "UserAssignedNewPrivilegedRole_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject61').analyticRuleVersion61]", @@ -8596,10 +8596,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -8689,7 +8689,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "UserAssignedPrivilegedRole_AnalyticalRules Analytics Rule with template version 3.0.9", + "description": "UserAssignedPrivilegedRole_AnalyticalRules Analytics Rule with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject62').analyticRuleVersion62]", @@ -8717,10 +8717,10 @@ "status": "Available", "requiredDataConnectors": [ { - "connectorId": "AzureActiveDirectory", "dataTypes": [ "AuditLogs" - ] + ], + "connectorId": "AzureActiveDirectory" } ], "tactics": [ @@ -8810,7 +8810,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Block-EntraIDUser-Alert Playbook with template version 3.0.9", + "description": "Block-EntraIDUser-Alert Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion1')]", @@ -9253,7 +9253,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Block-EntraIDUser-Incident Playbook with template version 3.0.9", + "description": "Block-EntraIDUser-Incident Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion2')]", @@ -9679,7 +9679,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Prompt-User-Alert Playbook with template version 3.0.9", + "description": "Prompt-User-Alert Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion3')]", @@ -10115,7 +10115,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Prompt-User-Incident Playbook with template version 3.0.9", + "description": "Prompt-User-Incident Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion4')]", @@ -10534,7 +10534,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Reset-EntraIDPassword-AlertTrigger Playbook with template version 3.0.9", + "description": "Reset-EntraIDPassword-AlertTrigger Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion5')]", @@ -10934,7 +10934,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Reset-EntraIDPassword-IncidentTrigger Playbook with template version 3.0.9", + "description": "Reset-EntraIDPassword-IncidentTrigger Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion6')]", @@ -11317,7 +11317,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Block-EntraIDUser-EntityTrigger Playbook with template version 3.0.9", + "description": "Block-EntraIDUser-EntityTrigger Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion7')]", @@ -11778,7 +11778,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Reset-EntraIDUserPassword-EntityTrigger Playbook with template version 3.0.9", + "description": "Reset-EntraIDUserPassword-EntityTrigger Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion8')]", @@ -12183,7 +12183,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Revoke-EntraIDSignInSessions-alert Playbook with template version 3.0.9", + "description": "Revoke-EntraIDSignInSessions-alert Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion9')]", @@ -12511,7 +12511,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Revoke-EntraIDSignInSessions-incident Playbook with template version 3.0.9", + "description": "Revoke-EntraIDSignInSessions-incident Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion10')]", @@ -12835,7 +12835,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Revoke-EntraIDSignIn-Session-entityTrigger Playbook with template version 3.0.9", + "description": "Revoke-EntraIDSignIn-Session-entityTrigger Playbook with template version 3.0.10", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('playbookVersion11')]", @@ -13046,7 +13046,7 @@ "apiVersion": "2023-04-01-preview", "location": "[parameters('workspace-location')]", "properties": { - "version": "3.0.9", + "version": "3.0.10", "kind": "Solution", "contentSchemaVersion": "3.0.0", "displayName": "Microsoft Entra ID", diff --git a/Solutions/Microsoft Entra ID/Package/testParameters.json b/Solutions/Microsoft Entra ID/Package/testParameters.json new file mode 100644 index 00000000000..ebef41a4c83 --- /dev/null +++ b/Solutions/Microsoft Entra ID/Package/testParameters.json @@ -0,0 +1,40 @@ +{ + "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": "Microsoft Entra ID Audit logs", + "minLength": 1, + "metadata": { + "description": "Name for the workbook" + } + }, + "workbook2-name": { + "type": "string", + "defaultValue": "Microsoft Entra ID Sign-in logs", + "minLength": 1, + "metadata": { + "description": "Name for the workbook" + } + } +} diff --git a/Solutions/Microsoft Entra ID/ReleaseNotes.md b/Solutions/Microsoft Entra ID/ReleaseNotes.md index 99ad6aaef6a..0145a1cf8a0 100644 --- a/Solutions/Microsoft Entra ID/ReleaseNotes.md +++ b/Solutions/Microsoft Entra ID/ReleaseNotes.md @@ -1,5 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 3.0.10 | 28-11-2023 | 1 **Analytic Rule** Modified by adding "GroupMembership" instead of "Admin" condition for better extraction of admin accounts from the identity infotable.| | 3.0.9 | 28-11-2023 | 2 **Analytic Rules** Modified by Adding Entity Mapping to (GuestAccountsAddedinAADGroupsOtherThanTheOnesSpecified.yaml) and Changed timerange of (SigninPasswordSpray.yaml) from 3d to 1d. | | 3.0.8 | 21-11-2023 | 1 **Analytic Rules** Fixed issue that was causing multiple triggers for the same event. | | 3.0.7 | 06-11-2023 | Changes for rebranding from Azure Active Directory to Microsoft Entra ID. | From 92e84912025033c6904ac47af561a8e84d3cbc63 Mon Sep 17 00:00:00 2001 From: v-sudkharat Date: Thu, 28 Dec 2023 12:08:29 +0530 Subject: [PATCH 3/3] Update ReleaseNotes.md --- Solutions/Microsoft Entra ID/ReleaseNotes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Solutions/Microsoft Entra ID/ReleaseNotes.md b/Solutions/Microsoft Entra ID/ReleaseNotes.md index 0145a1cf8a0..dfbc4cde31b 100644 --- a/Solutions/Microsoft Entra ID/ReleaseNotes.md +++ b/Solutions/Microsoft Entra ID/ReleaseNotes.md @@ -1,6 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 3.0.10 | 28-11-2023 | 1 **Analytic Rule** Modified by adding "GroupMembership" instead of "Admin" condition for better extraction of admin accounts from the identity infotable.| +| 3.0.10 | 26-12-2023 | 1 **Analytic Rule** Modified by adding "GroupMembership" instead of "Admin" condition for better extraction of admin accounts from the identity infotable.| | 3.0.9 | 28-11-2023 | 2 **Analytic Rules** Modified by Adding Entity Mapping to (GuestAccountsAddedinAADGroupsOtherThanTheOnesSpecified.yaml) and Changed timerange of (SigninPasswordSpray.yaml) from 3d to 1d. | | 3.0.8 | 21-11-2023 | 1 **Analytic Rules** Fixed issue that was causing multiple triggers for the same event. | | 3.0.7 | 06-11-2023 | Changes for rebranding from Azure Active Directory to Microsoft Entra ID. |