Referens för dataanslutningsdefinitioner för codeless connector-plattformen

Om du vill skapa en dataanslutning med Codeless Connector Platform (CCP) använder du det här dokumentet som ett tillägg till referensdokumenten för Microsoft Sentinel REST API for Data Connector Definitions . Mer specifikt expanderar det här referensdokumentet i följande avsnitt:

  • connectorUiConfig – definierar de visuella element och text som visas på dataanslutningssidan i Microsoft Sentinel.

Mer information finns i Skapa en kodlös anslutningsapp.

Definitioner för dataanslutning – Skapa eller uppdatera

Referera till åtgärden Skapa eller uppdatera i REST API-dokumenten för att hitta den senaste stabila eller förhandsgransknings-API-versionen. Endast åtgärden update kräver värdet etag .

PUT-metod

https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{{dataConnectorDefinitionName}}?api-version={{apiVersion}}

URI-parametrar

Mer information om den senaste API-versionen finns i Definitioner för dataanslutningsprogram – Skapa eller uppdatera URI-parametrar

Name beskrivning
dataConnectorDefinitionName Dataanslutningsdefinitionen måste vara ett unikt namn och är samma som parametern name i begärandetexten.
resourceGroupName Namnet på resursgruppen, inte skiftlägeskänsligt.
subscriptionId ID för målprenumerationen.
workspaceName Namnet på arbetsytan, inte ID:t.
Regex-mönster: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
api-version Den API-version som ska användas för den här åtgärden.

Begärandetext

Begärandetexten för att skapa en definition för CCP-dataanslutning med API:et har följande struktur:

{
    "kind": "Customizable",
    "properties": {
        "connectorUIConfig": {}
    }
}

dataConnectorDefinition har följande egenskaper:

Namn Obligatoriskt Type Description
Variant Sant String Customizable för API-avsökningsdataanslutningsapp eller Static på annat sätt
Egenskaper.connectorUiConfig Sant Kapslad JSON
connectorUiConfig
Konfigurationsegenskaperna för användargränssnittet för dataanslutningsappen

Konfigurera anslutningsappens användargränssnitt

I det här avsnittet beskrivs de konfigurationsalternativ som är tillgängliga för att anpassa användargränssnittet för dataanslutningssidan.

Följande skärmbild visar en exempelsida för dataanslutning, markerad med siffror som motsvarar viktiga områden i användargränssnittet.

Skärmbild av en exempelsida för dataanslutning med avsnitt märkta 1 till 9.

Vart och ett av följande element i avsnittet connectorUiConfig som behövs för att konfigurera användargränssnittet motsvarar delen CustomizableConnectorUiConfig i API:et.

Fält Obligatoriskt Type Beskrivning Skärmbild av anmärkningsvärt område #
rubrik Sant sträng Rubrik som visas på dataanslutningssidan 1
id sträng Anger anpassat anslutnings-ID för intern användning
logotyp sträng Sökväg till bildfil i SVG-format. Om inget värde har konfigurerats används en standardlogotyp. 2
förläggare Sant sträng Providern för anslutningsappen 3
descriptionMarkdown Sant sträng i markdown En beskrivning av anslutningsappen med möjlighet att lägga till markdown-språk för att förbättra den. 4
sampleQueries Sant Kapslad JSON
sampleQueries
Frågor till kunden för att förstå hur du hittar data i händelseloggen.
graphQueries Sant Kapslad JSON
graphQueries
Frågor som visar datainmatning under de senaste två veckorna.

Ange antingen en fråga för alla dataanslutningsappens datatyper eller en annan fråga för varje datatyp.
5
graphQueriesTableName Anger namnet på tabellen som anslutningsappen infogar data till. Det här namnet kan användas i andra frågor genom att {{graphQueriesTableName}} ange platshållare i graphQueries och lastDataReceivedQuery värden.
Datatyper Sant Kapslad JSON
Datatyper
En lista över alla datatyper för anslutningsappen och en fråga som hämtar tiden för den senaste händelsen för varje datatyp. 6
connectivityCriteria Sant Kapslad JSON
connectivityCriteria
Ett objekt som definierar hur du kontrollerar om anslutningsappen är ansluten. 7
permissions Sant Kapslad JSON
permissions
Informationen som visas under avsnittet Krav i användargränssnittet, som visar de behörigheter som krävs för att aktivera eller inaktivera anslutningsappen. 8
instructionSteps Sant Kapslad JSON
instruktioner
En matris med widgetdelar som förklarar hur du installerar anslutningsappen och kontroller som kan användas på fliken Instruktioner . 9

connectivityCriteria

Fält Obligatoriskt Type Beskrivning
Typ Sant String Ett av följande två alternativ: HasDataConnectors – det här värdet är bäst för API-avsökningsdataanslutningar, till exempel CCP. Anslutningsappen anses vara ansluten med minst en aktiv anslutning.

isConnectedQuery – det här värdet passar bäst för andra typer av dataanslutningar. Anslutningsappen anses vara ansluten när den angivna frågan returnerar data.
Värde Sant när typen är isConnectedQuery String En fråga för att avgöra om data tas emot inom en viss tidsperiod. Till exempel: CommonSecurityLog | where DeviceVendor == \"Vectra Networks\"\n| where DeviceProduct == \"X Series\"\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(7d)"

Datatyper

Matrisvärde Typ Beskrivning
Namn String En beskrivande beskrivning av variabelnlastDataReceivedQuery, inklusive stöd för variabeln graphQueriesTableName .

Exempel: {{graphQueriesTableName}}
lastDataReceivedQuery String En KQL-fråga som returnerar en rad och anger den senaste gången data togs emot, eller inga data om det inte finns några resultat.

Exempel: {{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)

graphQueries

Definierar en fråga som visar datainmatning under de senaste två veckorna.

Ange antingen en fråga för alla dataanslutningsappens datatyper eller en annan fråga för varje datatyp.

Matrisvärde Typ Beskrivning
metricName String Ett beskrivande namn på diagrammet.

Exempel: Total data received
legend String Strängen som visas i förklaringen till höger om diagrammet, inklusive en variabelreferens.

Exempel: {{graphQueriesTableName}}
baseQuery String Frågan som filtrerar efter relevanta händelser, inklusive en variabelreferens.

Exempel: TableName_CL | where ProviderName == "myprovider" eller {{graphQueriesTableName}}

behörigheter

Matrisvärde Typ Beskrivning
tull String Beskriver alla anpassade behörigheter som krävs för din dataanslutning i följande syntax:
{
"name":sträng,
"description":sträng
}

Exempel: Tullvärdet visas i avsnittet Krav för Microsoft Sentinel med en blå informationsikon. I GitHub-exemplet korrelerar det här värdet med raden Personlig tokennyckel för GitHub API: Du behöver åtkomst till personlig GitHub-token...
Licenser RÄKNA UPP Definierar de nödvändiga licenserna som ett av följande värden: OfficeIRM,OfficeATP, , Office365, AadP1P2, AatpMcas, Mdatp, , , MtpIoT

Exempel: Licensvärdet visas i Microsoft Sentinel som: Licens: Obligatorisk Azure AD Premium P2
resourceProvider resourceProvider Beskriver eventuella förutsättningar för din Azure-resurs.

Exempel: Värdet resourceProvider visas i avsnittet Krav för Microsoft Sentinel som:
Arbetsyta: läs- och skrivbehörighet krävs.
Nycklar: Läsbehörigheter för delade nycklar för arbetsytan krävs.
klientorganisation matris med ENUM-värden
Exempel:

"tenant": [
"GlobalADmin",
"SecurityAdmin"
]
Definierar de behörigheter som krävs, som ett eller flera av följande värden: "GlobalAdmin", "SecurityAdmin", "SecurityReader", "InformationProtection"

Exempel: visar klientvärdet i Microsoft Sentinel som: Klientbehörigheter: Kräver Global Administrator eller Security Administrator på arbetsytans klientorganisation

Viktigt!

Microsoft rekommenderar att du använder roller med minst behörighet. Detta bidrar till att förbättra säkerheten för din organisation. Global administratör är en mycket privilegierad roll som bör begränsas till nödsituationsscenarier när du inte kan använda en befintlig roll.

resourceProvider

undermatrisvärde Typ Beskrivning
familjeförsörjare RÄKNA UPP Beskriver resursprovidern med något av följande värden:
- Microsoft.OperationalInsights/workspaces
- Microsoft.OperationalInsights/solutions
- Microsoft.OperationalInsights/workspaces/datasources
- microsoft.aadiam/diagnosticSettings
- Microsoft.OperationalInsights/workspaces/sharedKeys
- Microsoft.Authorization/policyAssignments
providerDisplayName String Ett listobjekt under Krav som visar en röd "x" eller grön bockmarkering när de nödvändiga Behörigheterna verifieras på anslutningssidan. Exempel "Workspace"
permissionsDisplayText String Visa text för läs-, skriv- eller läs- och skrivbehörigheter som ska motsvara de värden som konfigurerats i obligatoriskaBehörigheter
requiredPermissions {
"action":Boolesk,
"delete":Boolesk,
"read":Boolesk,
"write":Boolesk
}
Beskriver de minsta behörigheter som krävs för anslutningsappen.
omfattning RÄKNA UPP Beskriver omfånget för dataanslutningsappen som ett av följande värden: "Subscription", "ResourceGroup", "Workspace"

sampleQueries

matrisvärde Typ Beskrivning
beskrivning String En beskrivande beskrivning av exempelfrågan.

Exempel: Top 10 vulnerabilities detected
fråga String Exempelfråga som används för att hämta datatypens data.

Exempel: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10

Om du vill definiera en infogad länk med markdown använder du följande exempel.

{
   "title": "",
   "description": "Make sure to configure the machine's security according to your organization's security policy\n\n\n[Learn more >](https://aka.ms/SecureCEF)"
}

Om du vill definiera en länk som en ARM-mall använder du följande exempel som en guide:

{
   "title": "Azure Resource Manager (ARM) template",
   "description": "1. Click the **Deploy to Azure** button below.\n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)]({URL to custom ARM template})"
}

instructionSteps

Det här avsnittet innehåller parametrar som definierar den uppsättning instruktioner som visas på sidan för dataanslutningsappen i Microsoft Sentinel och har följande struktur:

"instructionSteps": [
    {
        "title": "",
        "description": "",
        "instructions": [
        {
            "type": "",
            "parameters": {}
        }
        ],
        "innerSteps": {}
    }
]
Matrisegenskap Obligatoriskt Type Beskrivning
rubrik String Definierar en rubrik för dina instruktioner.
beskrivning String Definierar en beskrivande beskrivning av dina instruktioner.
innerSteps Matris Definierar en matris med inre instruktionssteg.
instruktioner Sant Matris med instruktioner Definierar en matris med instruktioner av en specifik parametertyp.

instruktioner

Visar en grupp med instruktioner, med olika parametrar och möjlighet att kapsla fler instruktionerSteg i grupper. Parametrar som definierats här motsvarar

Typ Matrisegenskap beskrivning
OAuthForm OAuthForm Ansluta med OAuth
Textruta Textruta Detta parar ihop med ConnectionToggleButton. Det finns 4 tillgängliga typer:
  • password
  • text
  • number
  • email
  • ConnectionToggleButton ConnectionToggleButton Utlös distributionen av DCR baserat på anslutningsinformationen som tillhandahålls via platshållarparametrar. Följande parametrar stöds:
  • name :obligatorisk
  • disabled
  • isPrimary
  • connectLabel
  • disconnectLabel
  • CopyableLabel CopyableLabel Visar ett textfält med en kopieringsknapp i slutet. När knappen är markerad kopieras fältets värde.
    InfoMessage InfoMessage Definierar ett infogat informationsmeddelande.
    InstructionStepsGroup InstructionStepsGroup Visar en grupp med instruktioner, eventuellt expanderade eller hopfällbara, i ett separat instruktionsavsnitt.
    InstallAgent InstallAgent Visar en länk till andra delar av Azure för att uppfylla olika installationskrav.

    OAuthForm

    Den här komponenten OAuth2 kräver att typen finns i auth egenskapen för dataanslutningsmallen.

    "instructions": [
    {
      "type": "OAuthForm",
      "parameters": {
        "clientIdLabel": "Client ID",
        "clientSecretLabel": "Client Secret",
        "connectButtonLabel": "Connect",
        "disconnectButtonLabel": "Disconnect"
      }          
    }
    ]
    

    Textruta

    Här är några exempel på Textbox typen. De här exemplen motsvarar de parametrar som används i exempelavsnittet auth i referensen för dataanslutningsappar för Codeless Connector Platform. För var och en av de 4 typerna har labelvar och en , placeholderoch name.

    "instructions": [
    {
      "type": "Textbox",
      "parameters": {
          {
            "label": "User name",
            "placeholder": "User name",
            "type": "text",
            "name": "username"
          }
      }
    },
    {
      "type": "Textbox",
      "parameters": {
          "label": "Secret",
          "placeholder": "Secret",
          "type": "password",
          "name": "password"
      }
    }
    ]
    

    ConnectionToggleButton

    "instructions": [
    {
      "type": "ConnectionToggleButton",
      "parameters": {
        "connectLabel": "toggle",
        "name": "toggle"
      }          
    }
    ]
    

    CopyableLabel

    Exempel:

    Skärmbild av en kopieringsvärdeknapp i ett fält.

    Exempelkod:

    {
        "parameters": {
            "fillWith": [
                "WorkspaceId",
                "PrimaryKey"
                ],
            "label": "Here are some values you'll need to proceed.",
            "value": "Workspace is {0} and PrimaryKey is {1}"
        },
        "type": "CopyableLabel"
    }
    
    Matrisvärde Obligatoriskt Type Beskrivning
    fillWith RÄKNA UPP Matris med miljövariabler som används för att fylla i en platshållare. Avgränsa flera platshållare med kommatecken. Till exempel: {0},{1}

    Värden som stöds: workspaceId, workspaceName, primaryKey, , MicrosoftAwsAccountsubscriptionId
    etikett Sant String Definierar texten för etiketten ovanför en textruta.
    värde Sant String Definierar värdet som ska visas i textrutan, stöder platshållare.
    rader Rader Definierar raderna i användargränssnittsområdet. Som standard anger du till 1.
    wideLabel Booleskt Avgör en bred etikett för långa strängar. Som standard anger du till false.

    InfoMessage

    Här är ett exempel på ett infogat informationsmeddelande:

    Skärmbild av ett infogat informationsmeddelande.

    Följande bild visar däremot ett informationsmeddelande som inte är infogat:

    Skärmbild av ett informationsmeddelande som inte är infogat.

    Matrisvärde Typ Beskrivning
    text String Definiera texten som ska visas i meddelandet.
    synlig Booleskt Avgör om meddelandet visas.
    Inline Booleskt Avgör hur informationsmeddelandet visas.

    - true: (Rekommenderas) Visar informationsmeddelandet som är inbäddat i anvisningarna.
    - false: Lägger till en blå bakgrund.

    InstructionStepsGroup

    Här är ett exempel på en utökningsbar instruktionsgrupp:

    Skärmbild av en utökningsbar extra instruktionsgrupp.

    Matrisvärde Obligatoriskt Type Beskrivning
    rubrik Sant String Definierar rubriken för instruktionssteget.
    beskrivning String Valfri beskrivande text.
    canCollapseAllSections Booleskt Avgör om avsnittet är ett hopfällbart dragspel eller inte.
    noFxPadding Booleskt Om trueminskar du utfyllnadshöjden för att spara utrymme.
    utökad Booleskt Om truevisas som expanderat som standard.

    Ett detaljerat exempel finns i JSON-konfigurationen för Windows DNS-anslutningsappen.

    InstallAgent

    Vissa InstallAgent-typer visas som en knapp, andra visas som en länk. Här är exempel på båda:

    Skärmbild av en länk som lagts till som en knapp.

    Skärmbild av en länk som har lagts till som infogad text.

    Matrisvärden Obligatoriskt Type Beskrivning
    linkType Sant RÄKNA UPP Avgör länktypen som ett av följande värden:

    InstallAgentOnWindowsVirtualMachine
    InstallAgentOnWindowsNonAzure
    InstallAgentOnLinuxVirtualMachine
    InstallAgentOnLinuxNonAzure
    OpenSyslogSettings
    OpenCustomLogsSettings
    OpenWaf
    OpenAzureFirewall OpenMicrosoftAzureMonitoring
    OpenFrontDoors
    OpenCdnProfile
    AutomaticDeploymentCEF
    OpenAzureInformationProtection
    OpenAzureActivityLog
    OpenIotPricingModel
    OpenPolicyAssignment
    OpenAllAssignmentsBlade
    OpenCreateDataCollectionRule
    policyDefinitionGuid Sant när du använder OpenPolicyAssignment linkType. String För principbaserade anslutningsappar definierar GUID för den inbyggda principdefinitionen.
    assignMode RÄKNA UPP För principbaserade anslutningsappar definierar tilldelningsläget som något av följande värden: Initiative, Policy
    dataCollectionRuleType RÄKNA UPP För DCR-baserade anslutningsappar definierar typen av regeltyp för datainsamling som antingen SecurityEvent, eller ForwardEvent.

    Exempel på definition av dataanslutning

    I följande exempel sammanförs några av de komponenter som definierats i den här artikeln som ett JSON-brödtextformat som ska användas med definitions-API:et för att skapa eller uppdatera dataanslutningsappen.

    Fler exempel på granskning connectorUiConfig av andra CCP-dataanslutningar. Även anslutningsappar som använder den äldre centrala motparten har giltiga exempel på hur användargränssnittet skapas.

    {
        "kind": "Customizable",
        "properties": {
            "connectorUiConfig": {
              "title": "Example CCP Data Connector",
              "publisher": "My Company",
              "descriptionMarkdown": "This is an example of data connector",
              "graphQueriesTableName": "ExampleConnectorAlerts_CL",
              "graphQueries": [
                {
                  "metricName": "Alerts received",
                  "legend": "My data connector alerts",
                  "baseQuery": "{{graphQueriesTableName}}"
                },   
               {
                  "metricName": "Events received",
                  "legend": "My data connector events",
                  "baseQuery": "ASIMFileEventLogs"
                }
              ],
                "sampleQueries": [
                {
                    "description": "All alert logs",
                    "query": "{{graphQueriesTableName}} \n | take 10"
                }
              ],
              "dataTypes": [
                {
                  "name": "{{graphQueriesTableName}}",
                  "lastDataReceivedQuery": "{{graphQueriesTableName}} \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)"
                },
                 {
                  "name": "ASIMFileEventLogs",
                  "lastDataReceivedQuery": "ASIMFileEventLogs \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": "Example Connector API Key",
                    "description": "The connector API key username and password is required"
                  }
                ] 
            },
              "instructionSteps": [
                {
                  "title": "Connect My Connector to Microsoft Sentinel",
                  "description": "To enable the connector provide the required information below and click on Connect.\n>",
                  "instructions": [
                   {
                      "type": "Textbox",
                      "parameters": {
                        "label": "User name",
                        "placeholder": "User name",
                        "type": "text",
                        "name": "username"
                      }
                    },
                    {
                      "type": "Textbox",
                      "parameters": {
                        "label": "Secret",
                        "placeholder": "Secret",
                        "type": "password",
                        "name": "password"
                      }
                    },
                    {
                      "type": "ConnectionToggleButton",
                      "parameters": {
                        "connectLabel": "toggle",
                        "name": "toggle"
                      }
                    }
                  ]
                }
              ]
            }
        }
    }