{
  "name": "Rapid7InsightVMConnector",
  "apiVersion": "2025-09-01",
  "type": "Microsoft.SecurityInsights/dataConnectorDefinitions",
  "location": "{{location}}",
  "kind": "Customizable",
  "properties": {
    "connectorUiConfig": {
      "id": "Rapid7InsightVMConnector",
      "title": "Rapid7 Insight Platform Vulnerability Management Reports (via Codeless Connector Framework)",
      "publisher": "Microsoft",
      "descriptionMarkdown": "The [Rapid7 Insight VM](https://www.rapid7.com/products/insightvm/) Report data connector provides the capability to ingest Scan reports and vulnerability data into Microsoft Sentinel through the REST API from the Rapid7 Insight platform (Managed in the cloud). Refer to [API documentation](https://docs.rapid7.com/insight/api-overview/) for more information. The connector provides ability to get events which helps to examine potential security risks, analyze your team's use of collaboration, diagnose configuration problems and more.",
      "graphQueries": [
        {
          "metricName": "Total assets received",
          "legend": "Rapid7InsightVMCloudAssets",
          "baseQuery": "Rapid7InsightVMCloudAssets"
        },
        {
          "metricName": "Total vulnerabilities received",
          "legend": "Rapid7InsightVMCloudVulnerabilities",
          "baseQuery": "Rapid7InsightVMCloudVulnerabilities"
        }
      ],
      "sampleQueries": [
        {
          "description": "Insight VM Report Events - Assets information",
          "query": "Rapid7InsightVMCloudAssets\n | sort by TimeGenerated desc"
        },
        {
          "description": "Insight VM Report Events - Vulnerabilities information",
          "query": "Rapid7InsightVMCloudVulnerabilities\n | sort by TimeGenerated desc"
        }
      ],
      "dataTypes": [
        {
          "name": "Rapid7InsightVMCloudAssets",
          "lastDataReceivedQuery": "Rapid7InsightVMCloudAssets\n| where TimeGenerated > ago(12h)\n| summarize Time = max(TimeGenerated)\n| where isnotempty(Time)"
        },
        {
          "name": "Rapid7InsightVMCloudVulnerabilities",
          "lastDataReceivedQuery": "Rapid7InsightVMCloudVulnerabilities\n| where TimeGenerated > ago(12h)\n| summarize Time = max(TimeGenerated)\n| where isnotempty(Time)"
        }
      ],
      "connectivityCriteria": [
        {
          "type": "HasDataConnectors"
        }
      ],
      "availability": {
        "isPreview": false,
        "status": 1
      },
      "permissions": {
        "resourceProvider": [
          {
            "provider": "Microsoft.OperationalInsights/workspaces",
            "permissionsDisplayText": "Read and Write permissions are required.",
            "providerDisplayName": "Workspace",
            "scope": "Workspace",
            "requiredPermissions": {
              "write": true,
              "read": true,
              "delete": true,
              "action": false
            }
          },
          {
            "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": {
              "read": true
            }
          }
        ],
        "customs": [
          {
            "name": "REST API Credentials",
            "description": "**InsightVMAPIKey** is required for REST API. [See the documentation to learn more about API](https://docs.rapid7.com/insight/api-overview/). Check all [requirements and follow the instructions](https://docs.rapid7.com/insight/managing-platform-api-keys/) for obtaining credentials"
          }
        ]
      },
      "instructionSteps": [
        {
          "title": "",
          "description": "Follow the instructions to configure the Rapid7 InsightVM connector.",
          "instructions": [
            {
              "type": "InfoMessage",
              "parameters": {
                "text": "**Note:** This data connector depends on a parsers based on a Kusto Function to work as expected **[InsightVMAssets](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Rapid7InsightVM/Parsers/InsightVMAssets.yaml)** and **[InsightVMVulnerabilities](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/Rapid7InsightVM/Parsers/InsightVMVulnerabilities.yaml)** which is deployed with the Microsoft Sentinel Solution."
              }
            }
          ]
        },
        {
          "title": "1. Configuration steps for Rapid7 Insight VM cloud",
          "instructions": [
            {
              "type": "Markdown",
              "parameters": {
                "content": "[Follow the instructions](https://docs.rapid7.com/insight/managing-platform-api-keys/) to obtain the credentials. \n 1. In Rapid7 InsightVM, generate an **API Key**. \n 2. Note your **Region** and **API Key**."
              }
            },
            {
              "type": "Textbox",
              "parameters": {
                "label": "Region",
                "placeholder": "us, eu, etc.",
                "type": "text",
                "name": "region"
              }
            },
            {
              "type": "Textbox",
              "parameters": {
                "label": "API Key",
                "placeholder": "API Key",
                "type": "password",
                "name": "ApiKey"
              }
            }
          ]
        },
        {
          "title": "2. Connect",
          "description": "Enable the Rapid7 Insight VM connector.",
          "instructions": [
            {
              "type": "ConnectionToggleButton",
              "parameters": {
                "connectLabel": "Connect",
                "disconnectLabel": "Disconnect",
                "name": "toggle"
              }
            }
          ]
        }
      ]
    }
  }
}