{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "minLength": 1, "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Not used, but needed to pass the arm-ttk test, 'Location-Should-Not-Be-Hardcoded'. Instead the `workspace-location` derived from the log analytics workspace is used." } }, "workspace-location": { "type": "string", "defaultValue": "", "metadata": { "description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]" } }, "subscription": { "defaultValue": "[last(split(subscription().id, '/'))]", "type": "string", "metadata": { "description": "subscription id where Microsoft Sentinel is configured" } }, "resourceGroupName": { "defaultValue": "[resourceGroup().name]", "type": "string", "metadata": { "description": "resource group name where Microsoft Sentinel is configured" } }, "workspace": { "defaultValue": "", "type": "string", "metadata": { "description": "the log analytics workspace enabled for Microsoft Sentinel" } }, "dataCollectionEndpointName": { "defaultValue": "", "type": "string", "metadata": { "description": "DCE name" } }, "solutionName": { "type": "string", "defaultValue": "Netskope Alerts v2 CCP Tenant 2", "metadata": { "description": "The display name for the solution package." } }, "solutionTitle": { "type": "string", "defaultValue": "Netskope Alerts CCP Tenant 2", "metadata": { "description": "The title displayed in the connector UI." } }, "solutionId": { "type": "string", "defaultValue": "azuresentinel.azure-sentinel-solution-azuresentinel.azure-sentinel-NetskopeAlertv2CCPTenant2", "metadata": { "description": "Unique identifier for the solution." } }, "dataConnectorContentIdConnectorDefinition": { "type": "string", "defaultValue": "NetskopeAlertv2CCPDefinitionTenant2", "metadata": { "description": "Content ID for the data connector definition." } }, "dataConnectorContentIdConnections": { "type": "string", "defaultValue": "NetskopeAlertv2CCPConnectionTenant2", "metadata": { "description": "Content ID for the data connector connections." } }, "dcrName": { "type": "string", "defaultValue": "NetskopeAlertsDCRTenant2", "metadata": { "description": "Name for the Data Collection Rule (DCR)." } }, "dataConnectorName": { "type": "string", "defaultValue": "NetskopeAlertv2CCPtenant2", "metadata": { "description": "Unique name for the data connector instance." } }, "logAnalyticsTableName": { "type": "string", "defaultValue": "NetskopeAlertsEvents_CL", "metadata": { "description": "The name of the custom Log Analytics table to store the data." } } }, // Next is the variables section here "variables": { "workspaceResourceId": "[resourceId('microsoft.OperationalInsights/Workspaces', parameters('workspace'))]", "_solutionVersion": "3.0.0", "_solutionAuthor": "Microsoft", "_packageIcon": "", "dataConnectorVersionConnectorDefinition": "1.0.0", "dataConnectorVersionConnections": "1.0.0", "_solutionTier": "Microsoft", "dataConnectorTemplateNameConnectorDefinition": "[concat(parameters('workspace'),'-dc-',uniquestring(parameters('dataConnectorContentIdConnectorDefinition')))]", "dataConnectorTemplateNameConnections": "[concat(parameters('workspace'),'-dc-',uniquestring(parameters('dataConnectorContentIdConnections')))]" }, // Next is the resources sections here "resources": [ // resource section 1 - contentTemplates { "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", "apiVersion": "2023-04-01-preview", "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/', variables('dataConnectorTemplateNameConnectorDefinition'), variables('dataConnectorVersionConnectorDefinition'))]", "location": "[parameters('workspace-location')]", "dependsOn": [ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', parameters('solutionId'))]" ], "properties": { "contentId": "[parameters('dataConnectorContentIdConnectorDefinition')]", "displayName": "[concat(parameters('solutionName'), variables('dataConnectorTemplateNameConnectorDefinition'))]", "contentKind": "DataConnector", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersionConnectorDefinition')]", "parameters": {}, "variables": {}, "resources": [ { "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('DataConnector-', parameters('dataConnectorContentIdConnectorDefinition')))]", "apiVersion": "2022-01-01-preview", "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", "properties": { "parentId": "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/dataConnectorDefinitions', parameters('dataConnectorContentIdConnectorDefinition'))]", "contentId": "[parameters('dataConnectorContentIdConnectorDefinition')]", "kind": "DataConnector", "version": "[variables('dataConnectorVersionConnectorDefinition')]", "source": { "sourceId": "[parameters('solutionId')]", "name": "[parameters('solutionName')]", "kind": "Solution" }, "author": { "name": "[variables('_solutionAuthor')]" }, "support": { "name": "[variables('_solutionAuthor')]", "tier": "[variables('_solutionTier')]" }, "dependencies": { "criteria": [ { "version": "[variables('dataConnectorVersionConnections')]", "contentId": "[parameters('dataConnectorContentIdConnections')]", "kind": "ResourcesDataConnector" } ] } } }, { "name": "[parameters('dcrName')]", "apiVersion": "2021-09-01-preview", "type": "Microsoft.Insights/dataCollectionRules", "location": "[parameters('workspace-location')]", "dependsOn": [ "[parameters('logAnalyticsTableName')]" ], "kind": null, "properties": { "dataCollectionEndpointId": "[concat('/subscriptions/',parameters('subscription'),'/resourceGroups/',parameters('resourceGroupName'),'/providers/Microsoft.Insights/dataCollectionEndpoints/',parameters('dataCollectionEndpointName'))]", "streamDeclarations": { "[concat('Custom-', parameters('logAnalyticsTableName'))]": { "columns": [ { "name": "TimeGenerated", "type": "datetime" }, { "name": "access_method", "type": "string" }, { "name": "account_id", "type": "string" }, { "name": "account_name", "type": "string" }, { "name": "acked", "type": "string" }, { "name": "action", "type": "string" }, { "name": "activity", "type": "string" }, { "name": "alert", "type": "string" }, { "name": "alert_id", "type": "string" }, { "name": "alert_name", "type": "string" }, { "name": "alert_type", "type": "string" }, { "name": "app", "type": "string" }, { "name": "app_activity", "type": "string" }, { "name": "app_sessionid", "type": "string" }, { "name": "appcategory", "type": "string" }, { "name": "appsuite", "type": "string" }, { "name": "asset_id", "type": "string" }, { "name": "asset_object_id", "type": "string" }, { "name": "breach_date", "type": "int" }, { "name": "breach_description", "type": "string" }, { "name": "breach_id", "type": "string" }, { "name": "breach_media_references", "type": "string" }, { "name": "breach_score", "type": "string" }, { "name": "breach_target_references", "type": "string" }, { "name": "browser", "type": "string" }, { "name": "browser_sessionid", "type": "string" }, { "name": "browser_version", "type": "string" }, { "name": "bypass_traffic", "type": "string" }, { "name": "category", "type": "string" }, { "name": "cci", "type": "int" }, { "name": "ccl", "type": "string" }, { "name": "client_bytes", "type": "int" }, { "name": "compliance_standards", "type": "dynamic" }, { "name": "conn_duration", "type": "int" }, { "name": "conn_endtime", "type": "int" }, { "name": "conn_starttime", "type": "int" }, { "name": "connectionid", "type": "string" }, { "name": "CononicalName", "type": "string" }, { "name": "count_i", "type": "int" }, { "name": "data_type", "type": "string" }, { "name": "device", "type": "string" }, { "name": "device_classification", "type": "string" }, { "name": "dlp_file", "type": "string" }, { "name": "dlp_incidentid", "type": "string" }, { "name": "dlp_is_unique_count", "type": "string" }, { "name": "dlp_mail_parent_id", "type": "string" }, { "name": "dlp_parentid", "type": "string" }, { "name": "dlp_profile", "type": "string" }, { "name": "dlp_rule", "type": "string" }, { "name": "dlp_rule_count", "type": "int" }, { "name": "dlp_rule_severity", "type": "string" }, { "name": "dlp_unique_count", "type": "int" }, { "name": "domain", "type": "string" }, { "name": "dst_country", "type": "string" }, { "name": "dst_geoip_src", "type": "int" }, { "name": "dst_latitude", "type": "int" }, { "name": "dst_location", "type": "string" }, { "name": "dst_longitude", "type": "int" }, { "name": "dst_region", "type": "string" }, { "name": "dst_timezone", "type": "string" }, { "name": "dst_zipcode", "type": "string" }, { "name": "dstip", "type": "string" }, { "name": "dsthost", "type": "string" }, { "name": "dstport", "type": "int" }, { "name": "email_source", "type": "string" }, { "name": "event_type", "type": "string" }, { "name": "evt_src_chnl", "type": "string" }, { "name": "exposure", "type": "string" }, { "name": "external_collaborator_count", "type": "int" }, { "name": "external_email", "type": "int" }, { "name": "file_cls_encrypted", "type": "boolean" }, { "name": "file_lang", "type": "string" }, { "name": "file_path", "type": "string" }, { "name": "file_size", "type": "int" }, { "name": "file_type", "type": "string" }, { "name": "from_user", "type": "string" }, { "name": "fromlogs", "type": "string" }, { "name": "hostname", "type": "string" }, { "name": "http_transaction_count", "type": "int" }, { "name": "iaas_asset_tags", "type": "dynamic" }, { "name": "iaas_remediated", "type": "string" }, { "name": "instance", "type": "string" }, { "name": "instance_id", "type": "string" }, { "name": "internal_collaborator_count", "type": "int" }, { "name": "justification_reason", "type": "string" }, { "name": "justification_type", "type": "string" }, { "name": "last_app", "type": "string" }, { "name": "last_country", "type": "string" }, { "name": "last_device", "type": "string" }, { "name": "last_location", "type": "string" }, { "name": "last_region", "type": "string" }, { "name": "last_timestamp", "type": "int" }, { "name": "log_file_name", "type": "string" }, { "name": "malicious", "type": "string" }, { "name": "malsite_category", "type": "dynamic" }, { "name": "malsite_country", "type": "string" }, { "name": "malsite_id", "type": "string" }, { "name": "malsite_ip_host", "type": "string" }, { "name": "malsite_latitude", "type": "int" }, { "name": "malsite_longitude", "type": "int" }, { "name": "malsite_region", "type": "string" }, { "name": "managed_app", "type": "string" }, { "name": "managementID", "type": "string" }, { "name": "matched_username", "type": "string" }, { "name": "md5", "type": "string" }, { "name": "mime_type", "type": "string" }, { "name": "modified", "type": "int" }, { "name": "netskope_activity", "type": "string" }, { "name": "netskope_pop", "type": "string" }, { "name": "notify_template", "type": "string" }, { "name": "nsdeviceuid", "type": "string" }, { "name": "numbytes", "type": "int" }, { "name": "object", "type": "string" }, { "name": "object_id", "type": "string" }, { "name": "object_type", "type": "string" }, { "name": "org", "type": "string" }, { "name": "organization_unit", "type": "string" }, { "name": "orig_ty", "type": "string" }, { "name": "orignal_file_path", "type": "string" }, { "name": "os", "type": "string" }, { "name": "os_version", "type": "string" }, { "name": "other_categories", "type": "dynamic" }, { "name": "outer_doc_type", "type": "int" }, { "name": "owner", "type": "string" }, { "name": "page", "type": "string" }, { "name": "page_site", "type": "string" }, { "name": "parent_id", "type": "string" }, { "name": "password_type", "type": "string" }, { "name": "policy", "type": "string" }, { "name": "policy_actions", "type": "dynamic" }, { "name": "policy_id", "type": "string" }, { "name": "profile_id", "type": "string" }, { "name": "protocol", "type": "string" }, { "name": "referer", "type": "string" }, { "name": "region_id", "type": "string" }, { "name": "region_name", "type": "string" }, { "name": "req_cnt", "type": "int" }, { "name": "requestid", "type": "string" }, { "name": "resource_category", "type": "string" }, { "name": "resource_group", "type": "string" }, { "name": "resp_cnt", "type": "int" }, { "name": "sa_profile_id", "type": "int" }, { "name": "sa_profile_name", "type": "string" }, { "name": "sa_rule_id", "type": "string" }, { "name": "sa_rule_name", "type": "string" }, { "name": "sa_rule_severity", "type": "string" }, { "name": "sAMAccountName", "type": "string" }, { "name": "sanctioned_instance", "type": "string" }, { "name": "scan_type", "type": "string" }, { "name": "serial", "type": "string" }, { "name": "server_bytes", "type": "int" }, { "name": "sessionid", "type": "string" }, { "name": "severity", "type": "string" }, { "name": "severity_level", "type": "string" }, { "name": "severity_level_id", "type": "int" }, { "name": "sfwder", "type": "string" }, { "name": "sha256", "type": "string" }, { "name": "shared_domains", "type": "string" }, { "name": "shared_with", "type": "string" }, { "name": "site", "type": "string" }, { "name": "src_country", "type": "string" }, { "name": "src_geoip_src", "type": "int" }, { "name": "src_latitude", "type": "int" }, { "name": "src_location", "type": "string" }, { "name": "src_longitude", "type": "int" }, { "name": "src_region", "type": "string" }, { "name": "src_time", "type": "string" }, { "name": "src_timezone", "type": "string" }, { "name": "src_zipcode", "type": "string" }, { "name": "srcip", "type": "string" }, { "name": "suppression_end_time", "type": "int" }, { "name": "suppression_key", "type": "string" }, { "name": "suppression_start_time", "type": "int" }, { "name": "telemetry_app", "type": "string" }, { "name": "threat_match_field", "type": "string" }, { "name": "threat_match_value", "type": "string" }, { "name": "threat_source_id", "type": "int" }, { "name": "threshold", "type": "int" }, { "name": "threshold_time", "type": "int" }, { "name": "timestamp", "type": "int" }, { "name": "title_s", "type": "string" }, { "name": "to_object", "type": "string" }, { "name": "total_collaborator_count", "type": "int" }, { "name": "traffic_type", "type": "string" }, { "name": "transactionid", "type": "string" }, { "name": "true_obj_category", "type": "string" }, { "name": "true_obj_type", "type": "string" }, { "name": "tss_mode", "type": "string" }, { "name": "two_factor_auth", "type": "string" }, { "name": "type_s", "type": "string" }, { "name": "universal_connector", "type": "string" }, { "name": "ur_normalized", "type": "string" }, { "name": "url", "type": "string" }, { "name": "user", "type": "string" }, { "name": "user_generated", "type": "string" }, { "name": "user_id", "type": "string" }, { "name": "useragent", "type": "string" }, { "name": "userip", "type": "string" }, { "name": "userkey", "type": "string" }, { "name": "userPrincipalName", "type": "string" }, { "name": "web_universal_connector", "type": "string" } ] } }, "dataSources": {}, "destinations": { "logAnalytics": [ { "workspaceResourceId": "[variables('workspaceResourceId')]", "name": "[guid(variables('workspaceResourceId'), parameters('logAnalyticsTableName'))]" } ] }, "dataFlows": [ { "streams": [ "[concat('Custom-', parameters('logAnalyticsTableName'))]" ], "destinations": [ "[guid(variables('workspaceResourceId'), parameters('logAnalyticsTableName'))]" ], "transformKql": "source | extend TimeGenerated = datetime(1970-01-01) + timestamp * 1sec | extend app_sessionid = tostring(app_sessionid), browser_sessionid = tostring(browser_sessionid), connectionid = tostring(connectionid), dlp_incidentid = tostring(dlp_incidentid), dlp_parentid = tostring(dlp_parentid), requestid = tostring(requestid), transactionid = tostring(transactionid)", "outputStream": "[concat('Custom-', parameters('logAnalyticsTableName'))]" } ] } }, { "name": "[parameters('logAnalyticsTableName')]", "apiVersion": "2022-10-01", "type": "Microsoft.OperationalInsights/workspaces/tables", "location": "[parameters('workspace-location')]", "kind": null, "properties": { "totalRetentionInDays": 30, "archiveRetentionInDays": 0, "plan": "Analytics", "retentionInDaysAsDefault": true, "totalRetentionInDaysAsDefault": true, "schema": { "name": "[parameters('logAnalyticsTableName')]", "tableSubType": "DataCollectionRuleBased", "tableType": "CustomLog", "columns": [ { "name": "TimeGenerated", "type": "datetime" }, { "name": "access_method", "type": "string" }, { "name": "account_id", "type": "string" }, { "name": "account_name", "type": "string" }, { "name": "acked", "type": "string" }, { "name": "action", "type": "string" }, { "name": "activity", "type": "string" }, { "name": "alert", "type": "string" }, { "name": "alert_id", "type": "string" }, { "name": "alert_name", "type": "string" }, { "name": "alert_type", "type": "string" }, { "name": "app", "type": "string" }, { "name": "app_activity", "type": "string" }, { "name": "app_sessionid", "type": "string" }, { "name": "appcategory", "type": "string" }, { "name": "appsuite", "type": "string" }, { "name": "asset_id", "type": "string" }, { "name": "asset_object_id", "type": "string" }, { "name": "breach_date", "type": "int" }, { "name": "breach_description", "type": "string" }, { "name": "breach_id", "type": "string" }, { "name": "breach_media_references", "type": "string" }, { "name": "breach_score", "type": "string" }, { "name": "breach_target_references", "type": "string" }, { "name": "browser", "type": "string" }, { "name": "browser_sessionid", "type": "string" }, { "name": "browser_version", "type": "string" }, { "name": "bypass_traffic", "type": "string" }, { "name": "category", "type": "string" }, { "name": "cci", "type": "int" }, { "name": "ccl", "type": "string" }, { "name": "client_bytes", "type": "int" }, { "name": "compliance_standards", "type": "dynamic" }, { "name": "conn_duration", "type": "int" }, { "name": "conn_endtime", "type": "int" }, { "name": "conn_starttime", "type": "int" }, { "name": "connectionid", "type": "string" }, { "name": "CononicalName", "type": "string" }, { "name": "count_i", "type": "int" }, { "name": "data_type", "type": "string" }, { "name": "device", "type": "string" }, { "name": "device_classification", "type": "string" }, { "name": "dlp_file", "type": "string" }, { "name": "dlp_incidentid", "type": "string" }, { "name": "dlp_is_unique_count", "type": "string" }, { "name": "dlp_mail_parent_id", "type": "string" }, { "name": "dlp_parentid", "type": "string" }, { "name": "dlp_profile", "type": "string" }, { "name": "dlp_rule", "type": "string" }, { "name": "dlp_rule_count", "type": "int" }, { "name": "dlp_rule_severity", "type": "string" }, { "name": "dlp_unique_count", "type": "int" }, { "name": "domain", "type": "string" }, { "name": "dst_country", "type": "string" }, { "name": "dst_geoip_src", "type": "int" }, { "name": "dst_latitude", "type": "int" }, { "name": "dst_location", "type": "string" }, { "name": "dst_longitude", "type": "int" }, { "name": "dst_region", "type": "string" }, { "name": "dst_timezone", "type": "string" }, { "name": "dst_zipcode", "type": "string" }, { "name": "dstip", "type": "string" }, { "name": "dsthost", "type": "string" }, { "name": "dstport", "type": "int" }, { "name": "email_source", "type": "string" }, { "name": "event_type", "type": "string" }, { "name": "evt_src_chnl", "type": "string" }, { "name": "exposure", "type": "string" }, { "name": "external_collaborator_count", "type": "int" }, { "name": "external_email", "type": "int" }, { "name": "file_cls_encrypted", "type": "boolean" }, { "name": "file_lang", "type": "string" }, { "name": "file_path", "type": "string" }, { "name": "file_size", "type": "int" }, { "name": "file_type", "type": "string" }, { "name": "from_user", "type": "string" }, { "name": "fromlogs", "type": "string" }, { "name": "hostname", "type": "string" }, { "name": "http_transaction_count", "type": "int" }, { "name": "iaas_asset_tags", "type": "dynamic" }, { "name": "iaas_remediated", "type": "string" }, { "name": "instance", "type": "string" }, { "name": "instance_id", "type": "string" }, { "name": "internal_collaborator_count", "type": "int" }, { "name": "justification_reason", "type": "string" }, { "name": "justification_type", "type": "string" }, { "name": "last_app", "type": "string" }, { "name": "last_country", "type": "string" }, { "name": "last_device", "type": "string" }, { "name": "last_location", "type": "string" }, { "name": "last_region", "type": "string" }, { "name": "last_timestamp", "type": "int" }, { "name": "log_file_name", "type": "string" }, { "name": "malicious", "type": "string" }, { "name": "malsite_category", "type": "dynamic" }, { "name": "malsite_country", "type": "string" }, { "name": "malsite_id", "type": "string" }, { "name": "malsite_ip_host", "type": "string" }, { "name": "malsite_latitude", "type": "int" }, { "name": "malsite_longitude", "type": "int" }, { "name": "malsite_region", "type": "string" }, { "name": "managed_app", "type": "string" }, { "name": "managementID", "type": "string" }, { "name": "matched_username", "type": "string" }, { "name": "md5", "type": "string" }, { "name": "mime_type", "type": "string" }, { "name": "modified", "type": "int" }, { "name": "netskope_activity", "type": "string" }, { "name": "netskope_pop", "type": "string" }, { "name": "notify_template", "type": "string" }, { "name": "nsdeviceuid", "type": "string" }, { "name": "numbytes", "type": "int" }, { "name": "object", "type": "string" }, { "name": "object_id", "type": "string" }, { "name": "object_type", "type": "string" }, { "name": "org", "type": "string" }, { "name": "organization_unit", "type": "string" }, { "name": "orig_ty", "type": "string" }, { "name": "orignal_file_path", "type": "string" }, { "name": "os", "type": "string" }, { "name": "os_version", "type": "string" }, { "name": "other_categories", "type": "dynamic" }, { "name": "outer_doc_type", "type": "int" }, { "name": "owner", "type": "string" }, { "name": "page", "type": "string" }, { "name": "page_site", "type": "string" }, { "name": "parent_id", "type": "string" }, { "name": "password_type", "type": "string" }, { "name": "policy", "type": "string" }, { "name": "policy_actions", "type": "dynamic" }, { "name": "policy_id", "type": "string" }, { "name": "profile_id", "type": "string" }, { "name": "protocol", "type": "string" }, { "name": "referer", "type": "string" }, { "name": "region_id", "type": "string" }, { "name": "region_name", "type": "string" }, { "name": "req_cnt", "type": "int" }, { "name": "requestid", "type": "string" }, { "name": "resource_category", "type": "string" }, { "name": "resource_group", "type": "string" }, { "name": "resp_cnt", "type": "int" }, { "name": "sa_profile_id", "type": "int" }, { "name": "sa_profile_name", "type": "string" }, { "name": "sa_rule_id", "type": "string" }, { "name": "sa_rule_name", "type": "string" }, { "name": "sa_rule_severity", "type": "string" }, { "name": "sAMAccountName", "type": "string" }, { "name": "sanctioned_instance", "type": "string" }, { "name": "scan_type", "type": "string" }, { "name": "serial", "type": "string" }, { "name": "server_bytes", "type": "int" }, { "name": "sessionid", "type": "string" }, { "name": "severity", "type": "string" }, { "name": "severity_level", "type": "string" }, { "name": "severity_level_id", "type": "int" }, { "name": "sfwder", "type": "string" }, { "name": "sha256", "type": "string" }, { "name": "shared_domains", "type": "string" }, { "name": "shared_with", "type": "string" }, { "name": "site", "type": "string" }, { "name": "src_country", "type": "string" }, { "name": "src_geoip_src", "type": "int" }, { "name": "src_latitude", "type": "int" }, { "name": "src_location", "type": "string" }, { "name": "src_longitude", "type": "int" }, { "name": "src_region", "type": "string" }, { "name": "src_time", "type": "string" }, { "name": "src_timezone", "type": "string" }, { "name": "src_zipcode", "type": "string" }, { "name": "srcip", "type": "string" }, { "name": "suppression_end_time", "type": "int" }, { "name": "suppression_key", "type": "string" }, { "name": "suppression_start_time", "type": "int" }, { "name": "telemetry_app", "type": "string" }, { "name": "threat_match_field", "type": "string" }, { "name": "threat_match_value", "type": "string" }, { "name": "threat_source_id", "type": "int" }, { "name": "threshold", "type": "int" }, { "name": "threshold_time", "type": "int" }, { "name": "timestamp", "type": "int" }, { "name": "title_s", "type": "string" }, { "name": "to_object", "type": "string" }, { "name": "total_collaborator_count", "type": "int" }, { "name": "traffic_type", "type": "string" }, { "name": "transactionid", "type": "string" }, { "name": "true_obj_category", "type": "string" }, { "name": "true_obj_type", "type": "string" }, { "name": "tss_mode", "type": "string" }, { "name": "two_factor_auth", "type": "string" }, { "name": "type_s", "type": "string" }, { "name": "universal_connector", "type": "string" }, { "name": "ur_normalized", "type": "string" }, { "name": "url", "type": "string" }, { "name": "user", "type": "string" }, { "name": "user_generated", "type": "string" }, { "name": "user_id", "type": "string" }, { "name": "useragent", "type": "string" }, { "name": "userip", "type": "string" }, { "name": "userkey", "type": "string" }, { "name": "userPrincipalName", "type": "string" }, { "name": "web_universal_connector", "type": "string" } ], "standardColumns": [ { "name": "TenantId", "type": "guid", "isDefaultDisplay": false, "isHidden": false } ], "solutions": [ "LogManagement" ], "isTroubleshootingAllowed": true }, "provisioningState": "Succeeded", "retentionInDays": 30 } } ] }, "packageKind": "Solution", "packageVersion": "[variables('_solutionVersion')]", "packageName": "[parameters('solutionName')]", "contentProductId": "[concat(substring(parameters('solutionId'), 0, 50),'-','dc','-', uniqueString(concat(parameters('solutionId'),'-','DataConnector','-',parameters('dataConnectorContentIdConnectorDefinition'),'-', variables('dataConnectorVersionConnectorDefinition'))))]", "packageId": "[parameters('solutionId')]", "contentSchemaVersion": "3.0.0", "version": "[variables('_solutionVersion')]" } }, // resource 2 section here // resource section 2 - dataConnectorDefinitions { "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',parameters('dataConnectorContentIdConnectorDefinition'))]", "apiVersion": "2022-09-01-preview", "type": "Microsoft.OperationalInsights/workspaces/providers/dataConnectorDefinitions", "location": "[parameters('workspace-location')]", "kind": "Customizable", "properties": { "connectorUiConfig": { "title": "[parameters('solutionTitle')]", "publisher": "[variables('_solutionAuthor')]", "descriptionMarkdown": "This is an example of data connector", "graphQueriesTableName": "[parameters('logAnalyticsTableName')]", "graphQueries": [ { "metricName": "Events received", "legend": "My data connector events", "baseQuery": "[parameters('logAnalyticsTableName')]" } ], "sampleQueries": [ { "description": "All event logs", "query": "{{graphQueriesTableName}} \n | take 10" } ], "dataTypes": [ { "name": "{{graphQueriesTableName}}", "lastDataReceivedQuery": "{{graphQueriesTableName}} \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" } ], "connectivityCriteria": [ { "type": "HasDataConnectors" } ], "permissions": { "resourceProvider": [ { "provider": "Microsoft.OperationalInsights/workspaces", "permissionsDisplayText": "Read and Write permissions are required.", "providerDisplayName": "Workspace", "scope": "Workspace", "requiredPermissions": { "write": true, "read": true, "delete": true } } ], "customs": [ { "name": "Netskope v2 alerts URL and API key", "description": "Netskope v2 API requires an API key to authenticate" } ] }, "instructionSteps": [ { "description": "To enable the Netskope Alerts v2 connector to Microsoft Sentinel, provide the required information below and click on Connect.\n", "instructions": [ { "type": "Textbox", "parameters": { "label": "Alerts v2 Endpoint", "placeholder": "https://.goskope.com/api/v2/events/dataexport/events/alert?operation=next&index=codeless", "type": "text", "name": "endpoint" } }, { "type": "Textbox", "parameters": { "label": "Netskope v2 API key", "placeholder": "", "type": "text", "name": "apiKey" } }, { "parameters": { "label": "toggle", "name": "toggle" }, "type": "ConnectionToggleButton" } ], "title": "Connect to Netskope Alerts v2 endpoint to start collecting event logs to Microsoft Sentinel" } ] } } }, // resource 3 section here // resource section 3 - metadata { "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('DataConnector-', parameters('dataConnectorContentIdConnectorDefinition')))]", "apiVersion": "2022-01-01-preview", "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", "properties": { "parentId": "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/dataConnectorDefinitions', parameters('dataConnectorContentIdConnectorDefinition'))]", "contentId": "[parameters('dataConnectorContentIdConnectorDefinition')]", "kind": "DataConnector", "version": "[variables('dataConnectorVersionConnectorDefinition')]", "source": { "sourceId": "[parameters('solutionId')]", "name": "[parameters('solutionName')]", "kind": "Solution" }, "author": { "name": "[variables('_solutionAuthor')]" }, "support": { "name": "[variables('_solutionAuthor')]", "tier": "[variables('_solutionTier')]" }, "dependencies": { "criteria": [ { "version": "[variables('dataConnectorVersionConnections')]", "contentId": "[parameters('dataConnectorContentIdConnections')]", "kind": "ResourcesDataConnector" } ] } } }, // resource 4 section here // resource section 4 - contentTemplates { "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", "apiVersion": "2023-04-01-preview", "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/', variables('dataConnectorTemplateNameConnections'), variables('dataConnectorVersionConnections'))]", "location": "[parameters('workspace-location')]", "dependsOn": [ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', parameters('solutionId'))]" ], "properties": { "contentId": "[parameters('dataConnectorContentIdConnections')]", "displayName": "[concat(parameters('solutionName'), variables('dataConnectorTemplateNameConnections'))]", "contentKind": "ResourcesDataConnector", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersionConnections')]", "parameters": // These parameters are used by the data connector primarily as properties for the administrator to enter in the UI when configuring the connector { "connectorDefinitionName": { "defaultValue": "connectorDefinitionName", "type": "string", "minLength": 1 }, "workspace": { "defaultValue": "[parameters('workspace')]", "type": "string" }, "dcrConfig": { "defaultValue": { "dataCollectionEndpoint": "https://placeholder-dce.eastus-1.ingest.monitor.azure.com", "dataCollectionRuleImmutableId": "dcr-00000000000000000000000000000000" }, "type": "object" }, "endpoint": { "type": "string" }, "apiKey": { "type": "string" } }, "variables": {}, "resources": [ { "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('DataConnector-', parameters('dataConnectorContentIdConnections')))]", "apiVersion": "2024-06-01", "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", "properties": { "parentId": "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/dataConnectors', parameters('dataConnectorContentIdConnections'))]", "contentId": "[parameters('dataConnectorContentIdConnections')]", "kind": "ResourcesDataConnector", "version": "[variables('dataConnectorVersionConnections')]", "source": { "sourceId": "[parameters('solutionId')]", "name": "[parameters('solutionName')]", "kind": "Solution" }, "author": { "name": "[variables('_solutionAuthor')]" }, "support": { "name": "[variables('_solutionAuthor')]", "tier": "[variables('_solutionTier')]" } } }, { "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/', parameters('dataConnectorName'))]", // To create several connections using this template, make the name dynamic. For example, use the 'concat' function to add the connector name with a GUID using the 'guid' function. "apiVersion": "2024-06-01", "type": "Microsoft.OperationalInsights/workspaces/providers/dataConnectors", "location": "[parameters('workspace-location')]", "kind": "RestApiPoller", "properties": { "connectorDefinitionName": "[[parameters('connectorDefinitionName')]", "dataType": "[parameters('logAnalyticsTableName')]", "dcrConfig": { "dataCollectionEndpoint": "[[parameters('dcrConfig').dataCollectionEndpoint]", "dataCollectionRuleImmutableId": "[[parameters('dcrConfig').dataCollectionRuleImmutableId]", "streamName": "[concat('Custom-',parameters('logAnalyticsTableName'))]" }, "auth": { "type": "APIKey", "ApiKeyName": "Netskope-Api-Token", "ApiKey": "[[parameters('apiKey')]" }, "request": { "apiEndpoint": "[[parameters('endpoint')]", "rateLimitQPS": 10, "queryWindowInMin": 1, "httpMethod": "GET", "retryCount": 3, "timeoutInSeconds": 60, "headers": { "Accept": "application/json" } }, "response": { "eventsJsonPaths": [ "$.result" ] } } } ] }, "packageKind": "Solution", "packageVersion": "[variables('_solutionVersion')]", "packageName": "[parameters('solutionName')]", "contentProductId": "[concat(substring(parameters('solutionId'), 0, 50),'-','rdc','-', uniqueString(concat(parameters('solutionId'),'-','ResourcesDataConnector','-',parameters('dataConnectorContentIdConnections'),'-', variables('dataConnectorVersionConnections'))))]", "packageId": "[parameters('solutionId')]", "contentSchemaVersion": "3.0.0", "version": "[variables('_solutionVersion')]" } }, // resource 5 section here // resource section 5 - contentPackages { "type": "Microsoft.OperationalInsights/workspaces/providers/contentPackages", "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/', parameters('solutionId'))]", "location": "[parameters('workspace-location')]", "apiVersion": "2023-04-01-preview", "properties": { "version": "[variables('_solutionVersion')]", "kind": "Solution", "contentSchemaVersion": "3.0.0", "contentId": "[parameters('solutionId')]", "source": { "kind": "Solution", "name": "[parameters('solutionName')]", "sourceId": "[parameters('solutionId')]" }, "author": { "name": "[variables('_solutionAuthor')]" }, "support": { "name": "[variables('_solutionAuthor')]" }, "dependencies": { "operator": "AND", "criteria": [ { "kind": "DataConnector", "contentId": "[variables('dataConnectorVersionConnectorDefinition')]", "version": "[parameters('dataConnectorContentIdConnectorDefinition')]" } ] }, "firstPublishDate": "2023-12-05", "providers": [ "[variables('_solutionAuthor')]" ], "contentKind": "Solution", "packageId": "[parameters('solutionId')]", "contentProductId": "[concat(substring(parameters('solutionId'), 0, 50),'-','sl','-', uniqueString(concat(parameters('solutionId'),'-','Solution','-',parameters('solutionId'),'-', variables('_solutionVersion'))))]", "displayName": "[parameters('solutionName')]", "publisherDisplayName": "[parameters('solutionId')]", "descriptionHtml": "test", "icon": "[variables('_packageIcon')]" } } // that's the end! ] }