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
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.
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 , Aatp Mcas , Mdatp , , , Mtp IoT 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 |
Konfigurera andra länkalternativ
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 :obligatoriskdisabled 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 label
var och en , placeholder
och 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:
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 , , MicrosoftAwsAccount subscriptionId |
|
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:
Följande bild visar däremot 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:
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 true minskar du utfyllnadshöjden för att spara utrymme. |
|
utökad | Booleskt | Om true visas 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:
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"
}
}
]
}
]
}
}
}