{
    "id": "TrendMicroXDR",
    "title": "Trend Vision One",
    "publisher": "Trend Micro",
    "descriptionMarkdown": "The [Trend Vision One](https://www.trendmicro.com/en_us/business/products/detection-response/xdr.html) connector allows you to easily connect your Workbench alert data with Microsoft Sentinel to view dashboards, create custom alerts, and to improve monitoring and investigation capabilities. This gives you more insight into your organization's networks/systems and improves your security operation capabilities.\n\nThe Trend Vision One connector is supported in Microsoft Sentinel in the following regions: Australia East, Australia Southeast, Brazil South, Canada Central, Canada East, Central India, Central US, East Asia, East US, East US 2, France Central, Japan East, Korea Central, North Central US, North Europe, Norway East, South Africa North, South Central US, Southeast Asia, Sweden Central, Switzerland North, UAE North, UK South, UK West, West Europe, West US, West US 2, West US 3.",
    "graphQueries": [
        {
            "metricName": "Workbench data",
            "legend": "TrendMicro_XDR_WORKBENCH_CL",
            "baseQuery": "TrendMicro_XDR_WORKBENCH_CL\n    | project-reorder alertTriggerTimestamp_t, workbenchId_s, priorityScore_d, model_s, severity_s\n  | project-away alertProvider_s, SourceSystem, TenantId"
        },
        {
            "metricName": "RCA task",
            "legend": "TrendMicro_XDR_RCA_Task_CL",
            "baseQuery": "TrendMicro_XDR_RCA_Task_CL\n    | project-reorder workbenchId_s, id_g, name_s, xdrCustomerID_g, targets_s\n  | project-away SourceSystem, TenantId"
        },
        {
            "metricName": "RCA result",
            "legend": "TrendMicro_XDR_RCA_Result_CL",
            "baseQuery": "TrendMicro_XDR_RCA_Result_CL\n    | project-reorder workbenchId_s, taskId_g, taskName_s, xdrCustomerID_g\n  | project-away SourceSystem, TenantId"
        },
        {
            "metricName": "OAT data",
            "legend": "TrendMicro_XDR_OAT_CL",
            "baseQuery": "TrendMicro_XDR_OAT_CL\n    | project-reorder detectionTime_t*, xdrCustomerId_g, filterRiskLevel_s\n  | project-away SourceSystem, TenantId"
        }
    ],
    "sampleQueries": [
        {
            "description": "Critical & High Severity Workbench Alerts",
            "query": "TrendMicro_XDR_WORKBENCH_CL\n           | where severity_s  == 'critical' or severity_s == 'high'"
        },
        {
            "description": "Medium & Low Severity Workbench Alerts",
            "query": "TrendMicro_XDR_WORKBENCH_CL\n           | where severity_s  == 'medium' or severity_s == 'low'"
        }
    ],
    "dataTypes": [
        {
            "name": "TrendMicro_XDR_WORKBENCH_CL",
            "lastDataReceivedQuery": "TrendMicro_XDR_WORKBENCH_CL\n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        },
        {
            "name": "TrendMicro_XDR_RCA_Task_CL",
            "lastDataReceivedQuery": "TrendMicro_XDR_RCA_Task_CL\n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        },
        {
            "name": "TrendMicro_XDR_RCA_Result_CL",
            "lastDataReceivedQuery": "TrendMicro_XDR_RCA_Result_CL\n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        },
        {
            "name": "TrendMicro_XDR_OAT_CL",
            "lastDataReceivedQuery": "TrendMicro_XDR_OAT_CL\n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        }
    ],
    "connectivityCriterias": [
        {
            "type": "IsConnectedQuery",
            "value": [
                "TrendMicro_XDR_Health_Check_CL\n            | summarize LastLogReceived = max(TimeGenerated)\n            | project IsConnected = LastLogReceived > ago(30d)"
            ]
        }
    ],
    "availability": {
        "status": 1,
        "isPreview": true
    },
    "permissions": {
        "resourceProvider": [
            {
                "provider": "Microsoft.OperationalInsights/workspaces",
                "permissionsDisplayText": "read and write permissions on the workspace are required.",
                "providerDisplayName": "Workspace",
                "scope": "Workspace",
                "requiredPermissions": {
                    "write": true,
                    "read": true,
                    "delete": true
                }
            },
            {
                "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys",
                "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).",
                "providerDisplayName": "Keys",
                "scope": "Workspace",
                "requiredPermissions": {
                    "action": true
                }
            }
        ],
        "customs": [
            {
                "name": "Microsoft.Web/sites permissions",
                "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)."
            },
            {
                "name": "Trend Vision One API Token",
                "description": "A Trend Vision One API Token is required. See the documentation to learn more about the [Trend Vision One API](https://docs.trendmicro.com/documentation/article/trend-vision-one-api-keys-third-party-apps)."            }
        ]
    },
    "instructionSteps": [
        {
            "title": "",
            "description": ">**NOTE:** This connector uses Azure Functions to connect to the Trend Vision One API to pull its logs into Microsoft Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details."
        },
        {
            "title": "",
            "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App."
        },
        {
            "title": "",
            "description": "**STEP 1 - Configuration steps for the Trend Vision One API**\n\n [Follow these instructions](https://docs.trendmicro.com/documentation/article/trend-vision-one-api-keys-third-party-apps) to create an account and an API authentication token."
        },
        {
            "title": "",
            "description": "**STEP 2 - Use the below deployment option to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Trend Vision One connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Trend Vision One API Authorization Token, readily available.",
            "instructions": [
                {
                    "parameters": {
                        "fillWith": [
                            "WorkspaceId"
                        ],
                        "label": "Workspace ID"
                    },
                    "type": "CopyableLabel"
                },
                {
                    "parameters": {
                        "fillWith": [
                            "PrimaryKey"
                        ],
                        "label": "Primary Key"
                    },
                    "type": "CopyableLabel"
                }
            ]
        },
        {
            "title": "Azure Resource Manager (ARM) Template Deployment",
            "description": "This method provides an automated deployment of the Trend Vision One connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinel-trendmicroxdr-azuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter a unique **Function Name**, **Workspace ID**, **Workspace Key**, **API Token** and **Region Code**. \n - Note: Provide the appropriate region code based on where your Trend Vision One instance is deployed: us, eu, au, in, sg, jp  \n - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy."
        }
    ],
    "metadata": {
        "id": "61d3a450-20c0-4f0e-9209-b8cf41d9a774",
        "version": "1.1.0",
        "kind": "dataConnector",
        "source": {
            "kind": "community"
        },
        "author": {
            "name": "Trend Micro"
        },
        "support": {
            "name": "Trend Micro",
            "link": "https://success.trendmicro.com/technical-support",
            "tier": "developer"
        }
    }
}