[Inaktuell] Skapa en äldre kodlös anslutningsapp för Microsoft Sentinel
Viktigt!
Logginsamling från många enheter och enheter stöds nu av Common Event Format (CEF) via AMA, Syslog via AMA eller anpassade loggar via AMA-dataanslutningen i Microsoft Sentinel. Mer information finns i Hitta din Microsoft Sentinel-dataanslutningsapp.
Viktigt!
Det finns en nyare version av Codeless Connector Platform (CCP). Mer information om den nya centrala motparten finns i Skapa en kodlös anslutningsapp (förhandsversion).
Referera till det här dokumentet om du behöver underhålla eller uppdatera en dataanslutning baserat på den äldre, äldre versionen av den centrala motparten.
Den centrala motparten ger partner, avancerade användare och utvecklare möjlighet att skapa anpassade anslutningsappar, ansluta dem och mata in data till Microsoft Sentinel. Anslutningsappar som skapats via CCP kan distribueras via API, en ARM-mall eller som en lösning i Microsoft Sentinel-innehållshubben.
Anslutningsappar som skapats med ccp är helt SaaS, utan några krav för tjänstinstallationer, och inkluderar även hälsoövervakning och fullständigt stöd från Microsoft Sentinel.
Skapa din dataanslutning genom att definiera JSON-konfigurationer, med inställningar för hur dataanslutningssidan i Microsoft Sentinel ser ut tillsammans med avsökningsinställningar som definierar hur anslutningen fungerar.
Viktigt!
Den här versionen av Codeless Connector Platform (CCP) är i förhandsversion, men anses också vara äldre. Tilläggsvillkoren för Azure Preview innehåller ytterligare juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.
Använd följande steg för att skapa din CCP-anslutningsapp och ansluta till datakällan från Microsoft Sentinel:
- Konfigurera anslutningsappens användargränssnitt
- Konfigurera anslutningsappens avsökningsinställningar
- Distribuera anslutningsappen till din Microsoft Sentinel-arbetsyta
- Ansluta Microsoft Sentinel till din datakälla och börja mata in data
I den här artikeln beskrivs syntaxen som används i CCP JSON-konfigurationer och procedurer för att distribuera anslutningsappen via API, en ARM-mall eller en Microsoft Sentinel-lösning.
Förutsättningar
Innan du skapar en anslutningsapp rekommenderar vi att du förstår hur din datakälla fungerar och exakt hur Microsoft Sentinel måste ansluta.
Du behöver till exempel känna till de typer av autentisering, sidnumrering och API-slutpunkter som krävs för lyckade anslutningar.
Skapa en JSON-konfigurationsfil för anslutningsprogram
Din anpassade CCP-anslutningsapp har två primära JSON-avsnitt som behövs för distributionen. Fyll i dessa områden för att definiera hur anslutningsappen visas i Azure Portal och hur den ansluter Microsoft Sentinel till din datakälla.
connectorUiConfig
. Definierar de visuella element och text som visas på dataanslutningssidan i Microsoft Sentinel. Mer information finns i Konfigurera anslutningsappens användargränssnitt.pollingConfig
. Definierar hur Microsoft Sentinel samlar in data från din datakälla. Mer information finns i Konfigurera anslutningsappens avsökningsinställningar.
Om du sedan distribuerar din kodlösa anslutningsapp via ARM omsluter du de här avsnitten i ARM-mallen för dataanslutningar.
Granska andra CCP-dataanslutningsprogram som exempel eller ladda ned exempelmallen DataConnector_API_CCP_template.json (förhandsversion).
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 bild visar en exempelsida för dataanslutning, markerad med siffror som motsvarar viktiga områden i användargränssnittet:
- Rubrik. Rubriken som visas för dataanslutningsappen.
- Logotyp. Ikonen som visas för dataanslutningsappen. Det går bara att anpassa detta när du distribuerar som en del av en lösning.
- Status. Anger om dataanslutningen är ansluten till Microsoft Sentinel eller inte.
- Datadiagram. Visar relevanta frågor och mängden inmatade data under de senaste två veckorna.
- Fliken Instruktioner. Innehåller ett kravavsnitt med en lista över minimala valideringar innan användaren kan aktivera anslutningsappen och Instruktioner för att vägleda användaraktiveringen av anslutningsappen. Det här avsnittet kan innehålla text, knappar, formulär, tabeller och andra vanliga widgetar för att förenkla processen.
- Fliken Nästa steg. Innehåller användbar information för att förstå hur du hittar data i händelseloggarna, till exempel exempelfrågor.
Här är avsnitten och syntaxen connectorUiConfig
som behövs för att konfigurera användargränssnittet:
Egenskapsnamn | Type | Beskrivning |
---|---|---|
availability | { "status": 1, "isPreview": Boolesk} |
status: 1 Anger att anslutningsappen är allmänt tillgänglig för kunder. isPreview Anger om suffixet (förhandsversion) ska inkluderas i anslutningsappens namn. |
connectivityCriteria | { "type": SentinelKindsV2, "value": APIPolling } |
Ett objekt som definierar hur du kontrollerar om anslutningsappen är korrekt definierad. Använd de värden som anges här. |
Datatyper | dataTypes[] | 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. |
descriptionMarkdown | String | En beskrivning av anslutningsappen med möjlighet att lägga till markdown-språk för att förbättra den. |
graphQueries | graphQueries[] | Frågor som visar datainmatning under de senaste två veckorna i fönstret Datadiagram . Ange antingen en fråga för alla dataanslutningsappens datatyper eller en annan fråga för varje datatyp. |
graphQueriesTableName | String | Definierar namnet på Log Analytics-tabellen som data för dina frågor hämtas från. Tabellnamnet kan vara valfri sträng, men måste sluta i _CL . Till exempel: TableName_CL |
instructionsSteps | instructionSteps[] | En matris med widgetdelar som förklarar hur du installerar anslutningsappen, som visas på fliken Instruktioner . |
metadata | metadata | Metadata som visas under beskrivningen av anslutningsappen. |
permissions | 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. |
förläggare | String | Det här är texten som visas i avsnittet Provider . |
sampleQueries | sampleQueries[] | Exempelfrågor för kunden för att förstå hur du hittar data i händelseloggen, som ska visas på fliken Nästa steg . |
rubrik | String | Rubrik som visas på dataanslutningssidan. |
Att sätta ihop alla dessa bitar är komplicerat. Använd valideringsverktyget för användarupplevelsen för anslutningsappen för att testa de komponenter som du har satt ihop.
Datatyper
Matrisvärde | Typ | Beskrivning |
---|---|---|
Namn | String | En beskrivande beskrivning avlastDataReceivedQuery , inklusive stöd för en variabel. 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 relevanta data. Exempel: {{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time) |
graphQueries
Definierar en fråga som visar datainmatning under de senaste två veckorna i fönstret Datadiagram .
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}} |
instructionSteps
Det här avsnittet innehåller parametrar som definierar den uppsättning instruktioner som visas på dataanslutningssidan i Microsoft Sentinel.
Matrisegenskap | Typ | Beskrivning |
---|---|---|
rubrik | String | Valfritt. Definierar en rubrik för dina instruktioner. |
beskrivning | String | Valfritt. Definierar en beskrivande beskrivning av dina instruktioner. |
innerSteps | Matris | Valfritt. Definierar en matris med inre instruktionssteg. |
instruktioner | Matris med instruktioner | Obligatoriskt. Definierar en matris med instruktioner av en specifik parametertyp. |
bottomBorder | Booleskt | Valfritt. När true lägger till en nedre kantlinje i anvisningarna på anslutningssidan i Microsoft Sentinel |
isComingSoon | Booleskt | Valfritt. När true lägger till en Coming soon-rubrik på anslutningssidan i Microsoft Sentinel |
instruktioner
Visar en grupp med instruktioner, med olika alternativ som parametrar och möjlighet att kapsla fler instruktionerSteg i grupper.
Parameter | Matrisegenskap | beskrivning |
---|---|---|
APIKey | APIKey | Lägg till platshållare i JSON-konfigurationsfilen för anslutningsprogrammet. |
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. |
APIKey
Du kanske vill skapa en JSON-konfigurationsfilmall med platshållarparametrar, återanvända över flera anslutningsappar eller till och med skapa en anslutningsapp med data som du för närvarande inte har.
Om du vill skapa platshållarparametrar definierar du en ytterligare matris med namnet userRequestPlaceHoldersInput
i avsnittet Instruktioner i din CCP JSON-konfigurationsfil med hjälp av följande syntax:
"instructions": [
{
"parameters": {
"enable": "true",
"userRequestPlaceHoldersInput": [
{
"displayText": "Organization Name",
"requestObjectKey": "apiEndpoint",
"placeHolderName": "{{placeHolder}}"
}
]
},
"type": "APIKey"
}
]
Parametern userRequestPlaceHoldersInput
innehåller följande attribut:
Namn | Type | Beskrivning |
---|---|---|
DisplayText | String | Definierar textrutans visningsvärde, som visas för användaren när du ansluter. |
RequestObjectKey | String | Definierar ID:t i begärandeavsnittet i pollingConfig för att ersätta platshållarvärdet med det angivna värdet för användaren. Om du inte använder det här attributet använder du attributet PollingKeyPaths i stället. |
PollingKeyPaths | String | Definierar en matris med JsonPath-objekt som dirigerar API-anropet till var som helst i mallen för att ersätta ett platshållarvärde med ett användarvärde. Exempel: "pollingKeyPaths":["$.request.queryParameters.test1"] Om du inte använder det här attributet använder du attributet RequestObjectKey i stället. |
PlaceHolderName | String | Definierar namnet på platshållarparametern i JSON-mallfilen. Detta kan vara valfritt unikt värde, till exempel {{placeHolder}} . |
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 | Typ | Beskrivning |
---|---|---|
fillWith | RÄKNA UPP | Valfritt. 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 | String | Definierar texten för etiketten ovanför en textruta. |
värde | String | Definierar värdet som ska visas i textrutan, stöder platshållare. |
rader | Rader | Valfritt. Definierar raderna i användargränssnittsområdet. Som standard anger du till 1. |
wideLabel | Booleskt | Valfritt. 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 icke-infogat informationsmeddelande:
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 | Typ | Beskrivning |
---|---|---|
rubrik | String | Definierar rubriken för instruktionssteget. |
canCollapseAllSections | Booleskt | Valfritt. Avgör om avsnittet är ett hopfällbart dragspel eller inte. |
noFxPadding | Booleskt | Valfritt. Om true minskar du utfyllnadshöjden för att spara utrymme. |
utökad | Booleskt | Valfritt. 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 | Typ | Beskrivning |
---|---|---|
linkType | 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 | String | Krävs när du använder OpenPolicyAssignment linkType. För principbaserade anslutningsappar definierar GUID för den inbyggda principdefinitionen. |
assignMode | RÄKNA UPP | Valfritt. För principbaserade anslutningsappar definierar tilldelningsläget som något av följande värden: Initiative , Policy |
dataCollectionRuleType | RÄKNA UPP | Valfritt. För DCR-baserade anslutningsappar definierar typen av regeltyp för datainsamling som något av följande: SecurityEvent , ForwardEvent |
metadata
Det här avsnittet innehåller metadata i användargränssnittet för dataanslutningsappen under området Beskrivning .
Samlingsvärde | Typ | Description |
---|---|---|
sort | String | Definierar vilken typ av ARM-mall du skapar. Använd dataConnector alltid . |
källa | String | Beskriver datakällan med hjälp av följande syntax: { "kind": sträng"name": sträng} |
författare | String | Beskriver författaren till dataanslutningsappen med hjälp av följande syntax: { "name": sträng} |
stöd | String | Beskriv stödet för dataanslutningsappen med hjälp av följande syntax: { "tier": sträng"name": sträng"email": sträng"link": URL-sträng} |
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 detta 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 |
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. Här finns en länk i en instruktionsbeskrivning:
{
"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})"
}
Verifiera användarupplevelsen för dataanslutningssidan
Följ de här stegen för att rendera och verifiera användarupplevelsen för anslutningsappen.
- Testverktyget kan nås av den här URL:en – https://aka.ms/sentineldataconnectorvalidateurl
- Gå till Microsoft Sentinel –> Dataanslutningsprogram
- Klicka på knappen "importera" och välj en json-fil som bara innehåller avsnittet i dataanslutningsappen
connectorUiConfig
.
Mer information om det här valideringsverktyget finns i build the connector instructions in our GitHub build guide (Skapa anslutningsinstruktionerna i vår GitHub-byggguide).
Kommentar
Eftersom APIKey-instruktionsparametern är specifik för den kodlösa anslutningsappen tar du tillfälligt bort det här avsnittet för att använda valideringsverktyget, annars misslyckas det.
Konfigurera anslutningsappens avsökningsinställningar
I det här avsnittet beskrivs konfigurationen för hur data avsöks från datakällan för en kodlös dataanslutning.
Följande kod visar syntaxen för pollingConfig
avsnittet i CCP-konfigurationsfilen.
"pollingConfig": {
"auth": {
},
"request": {
},
"response": {
},
"paging": {
}
}
Avsnittet pollingConfig
innehåller följande egenskaper:
Namn | Type | Beskrivning |
---|---|---|
Auth | String | Beskriver autentiseringsegenskaperna för avsökning av data. Mer information finns i autentiseringskonfiguration. |
auth.authType | String | Obligatorisk. Definierar typen av autentisering, kapslad inuti auth objektet, som ett av följande värden: Basic , APIKey , OAuth2 |
begäran | Kapslad JSON | Obligatorisk. Beskriver nyttolasten för begäran för avsökning av data, till exempel API-slutpunkten. Mer information finns i konfiguration av begäranden. |
svar | Kapslad JSON | Obligatorisk. Beskriver svarsobjektet och det kapslade meddelandet som returneras från API:et när data avsöks. Mer information finns i svarskonfiguration. |
Personsökning | Kapslad JSON | Valfritt. Beskriver sidnumreringsnyttolasten när data avsöks. Mer information finns i växlingskonfiguration. |
Mer information finns i Exempel på pollingConfig-kod.
auth-konfiguration
Avsnittet auth
i pollingConfig-konfigurationen innehåller följande parametrar, beroende på vilken typ som definieras i authType-elementet :
Grundläggande authType-parametrar
Namn | Type | Beskrivning |
---|---|---|
Användarnamn | String | Obligatorisk. Definierar användarnamn. |
Lösenord | String | Obligatorisk. Definierar användarlösenord. |
APIKey authType-parametrar
Namn | Type | Beskrivning |
---|---|---|
APIKeyName | String | Valfritt. Definierar namnet på din API-nyckel som ett av följande värden: - XAuthToken - Authorization |
IsAPIKeyInPostPayload | Booleskt | Avgör var din API-nyckel har definierats. Sant: API-nyckeln definieras i nyttolasten för POST-begäran Falskt: API-nyckeln definieras i rubriken |
APIKeyIdentifier | String | Valfritt. Definierar namnet på identifieraren för API-nyckeln. Om auktoriseringen till exempel definieras som "Authorization": "token <secret>" definieras den här parametern som: {APIKeyIdentifier: “token”}) |
OAuth2-authType-parametrar
Codeless Connector Platform stöder beviljande av OAuth 2.0-auktoriseringskod.
Beviljandetypen auktoriseringskod används av konfidentiella och offentliga klienter för att byta ut en auktoriseringskod mot en åtkomsttoken.
När användaren återvänder till klienten via omdirigerings-URL:en hämtar programmet auktoriseringskoden från URL:en och använder den för att begära en åtkomsttoken.
Namn | Type | Beskrivning |
---|---|---|
FlowName | String | Obligatorisk. Definierar ett OAuth2-flöde. Värde som stöds: AuthCode – kräver ett auktoriseringsflöde |
AccessToken | String | Valfritt. Definierar en OAuth2-åtkomsttoken, relevant när åtkomsttoken inte upphör att gälla. |
AccessTokenPrepend | String | Valfritt. Definierar en OAuth2-åtkomsttokenförberedelse. Standard är Bearer . |
RefreshToken | String | Obligatoriskt för OAuth2-autentiseringstyper. Definierar OAuth2-uppdateringstoken. |
TokenEndpoint | String | Obligatoriskt för OAuth2-autentiseringstyper. Definierar tjänstslutpunkten för OAuth2-token. |
AuthorizationEndpoint | String | Valfritt. Definierar tjänstslutpunkten för OAuth2-auktorisering. Används endast under registrering eller när du förnyar en uppdateringstoken. |
RedirectionEndpoint | String | Valfritt. Definierar en omdirigeringsslutpunkt under registrering. |
AccessTokenExpirationDateTimeInUtc | String | Valfritt. Definierar en förfallodatumtid för åtkomsttoken i UTC-format. Relevant för när åtkomsttoken inte upphör att gälla och därför har en stor datetime i UTC, eller när åtkomsttoken har en stor förfallodatumtid. |
RefreshTokenExpirationDateTimeInUtc | String | Obligatoriskt för OAuth2-autentiseringstyper. Definierar förfallodatumtid för uppdateringstoken i UTC-format. |
TokenEndpointHeaders | Ordlistesträng<, objekt> | Valfritt. Definierar rubrikerna när du anropar en tjänstslutpunkt för OAuth2-token. Definiera en sträng i serialiserat dictionary<string, string> format: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } |
AuthorizationEndpointHeaders | Ordlistesträng<, objekt> | Valfritt. Definierar rubrikerna när du anropar en OAuth2-auktoriseringstjänstslutpunkt. Används endast under registrering eller när du förnyar en uppdateringstoken. Definiera en sträng i serialiserat dictionary<string, object> format: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... } |
AuthorizationEndpointQueryParameters | Ordlistesträng<, objekt> | Valfritt. Definierar frågeparametrar när du anropar en tjänstslutpunkt för OAuth2-auktorisering. Används endast under registrering eller när du förnyar en uppdateringstoken. Definiera en sträng i serialiserat dictionary<string, object> format: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... } |
TokenEndpointQueryParameters | Ordlistesträng<, objekt> | Valfritt. Definiera frågeparametrar när du anropar tjänstslutpunkten för OAuth2-token. Definiera en sträng i serialiserat dictionary<string, object> format: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... } |
IsTokenEndpointPostPayloadJson | Booleskt | Valfritt, standardvärdet är falskt. Avgör om frågeparametrarna är i JSON-format och anges i postnyttolasten för begäran. |
IsClientSecretInHeader | Booleskt | Valfritt, standardvärdet är falskt. Avgör om client_id värdena och client_secret definieras i rubriken, vilket görs i schemat för grundläggande autentisering, i stället för i POST-nyttolasten. |
RefreshTokenLifetimeinSecAttributeName | String | Valfritt. Definierar attributnamnet från tokenslutpunktssvaret och anger livslängden för uppdateringstoken i sekunder. |
IsJwtBearerFlow | Booleskt | Valfritt, standardvärdet är falskt. Avgör om du använder JWT. |
JwtHeaderInJson | Ordlistesträng<, objekt> | Valfritt. Definiera JWT-huvudena i JSON-format. Definiera en sträng i serialiserat dictionary<string, object> format: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>...} |
JwtClaimsInJson | Ordlistesträng<, objekt> | Valfritt. Definierar JWT-anspråk i JSON-format. Definiera en sträng i serialiserat dictionary<string, object> format: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ...} |
JwtPem | String | Valfritt. Definierar en hemlig nyckel i PEM Pkcs1-format: '-----BEGIN RSA PRIVATE KEY-----\r\n{privatekey}\r\n-----END RSA PRIVATE KEY-----\r\n' Se till att hålla '\r\n' koden på plats. |
RequestTimeoutInSeconds | Integer | Valfritt. Avgör tidsgränsen i sekunder när tokentjänstens slutpunkt anropas. Standardvärdet är 180 sekunder |
Här är ett exempel på hur en OAuth2-konfiguration kan se ut:
"pollingConfig": {
"auth": {
"authType": "OAuth2",
"authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent",
"redirectionEndpoint": "https://portal.azure.com/TokenAuthorize",
"tokenEndpoint": "https://oauth2.googleapis.com/token",
"authorizationEndpointQueryParameters": {},
"tokenEndpointHeaders": {
"Accept": "application/json"
},
"TokenEndpointQueryParameters": {},
"isClientSecretInHeader": false,
"scope": "https://www.googleapis.com/auth/admin.reports.audit.readonly",
"grantType": "authorization_code",
"contentType": "application/x-www-form-urlencoded",
"FlowName": "AuthCode"
},
Session authType-parametrar
Namn | Type | Beskrivning |
---|---|---|
QueryParameters | Ordlistesträng<, objekt> | Valfritt. En lista med frågeparametrar i serialiserat dictionary<string, string> format: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } |
IsPostPayloadJson | Booleskt | Valfritt. Avgör om frågeparametrarna är i JSON-format. |
Rubriker | Ordlistesträng<, objekt> | Valfritt. Definierar rubriken som används när du anropar slutpunkten för att hämta sessions-ID:t och när du anropar slutpunkts-API:et. Definiera strängen i serialiserat dictionary<string, string> format: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } |
SessionTimeoutInMinutes | String | Valfritt. Definierar en sessionstimeout i minuter. |
SessionIdName | String | Valfritt. Definierar ett ID-namn för sessionen. |
SessionLoginRequestUri | String | Valfritt. Definierar en URI för sessionsinloggningsbegäran. |
Konfiguration av begäranden
Avsnittet request
i pollingConfig-konfigurationen innehåller följande parametrar:
Namn | Type | Beskrivning |
---|---|---|
apiEndpoint | String | Obligatorisk. Definierar slutpunkten som data ska hämtas från. |
httpMethod | String | Obligatorisk. Definierar API-metoden: GET eller POST |
queryTimeFormat | String, eller UnixTimestamp eller UnixTimestampInMills | Obligatorisk. Definierar det format som används för att definiera frågetiden. Det här värdet kan vara en sträng, eller i UnixTimestamp - eller UnixTimestampInMills-format för att ange frågans start- och sluttid i UnixTimestamp. |
startTimeAttributeName | String | Valfritt. Definierar namnet på attributet som definierar frågans starttid. |
endTimeAttributeName | String | Valfritt. Definierar namnet på attributet som definierar frågans sluttid. |
queryTimeIntervalAttributeName | String | Valfritt. Definierar namnet på attributet som definierar frågetidsintervallet. |
queryTimeIntervalDelimiter | String | Valfritt. Definierar avgränsare för frågetidsintervall. |
queryWindowInMin | Integer | Valfritt. Definierar det tillgängliga frågefönstret i minuter. Minsta värde: 5 |
queryParameters | Ordlistesträng<, objekt> | Valfritt. Definierar parametrarna som skickas i frågan i eventsJsonPaths sökvägen. Definiera strängen i serialiserat dictionary<string, string> format: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } . |
queryParametersTemplate | String | Valfritt. Definierar den mall för frågeparametrar som ska användas när du skickar frågeparametrar i avancerade scenarier. Till exempel: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}" {_QueryWindowStartTime} och {_QueryWindowEndTime} stöds endast i parametrarna queryParameters och queryParametersTemplate förfrågning. {_APIKeyName} och {_APIKey} stöds endast i parametern queryParametersTemplate för begäran. |
isPostPayloadJson | Booleskt | Valfritt. Avgör om POST-nyttolasten är i JSON-format. |
rateLimitQPS | Dubbel | Valfritt. Definierar antalet anrop eller frågor som tillåts på en sekund. |
timeoutInSeconds | Integer | Valfritt. Definierar tidsgränsen för begäran i sekunder. |
retryCount | Integer | Valfritt. Definierar antalet begärandeförsök som ska provas om det behövs. |
Headers | Ordlistesträng<, objekt> | Valfritt. Definierar värdet för begärandehuvudet i serialiserat dictionary<string, object> format: {'<attr_name>': '<serialized val>', '<attr_name>': '<serialized val>'... } |
Svarskonfiguration
Avsnittet response
i pollingConfig-konfigurationen innehåller följande parametrar:
Följande kod visar ett exempel på händelsernaJsonPaths-värdet för ett meddelande på den översta nivån:
"eventsJsonPaths": [
"$"
]
Växlingskonfiguration
Avsnittet paging
i pollingConfig-konfigurationen innehåller följande parametrar:
Namn | Type | Beskrivning |
---|---|---|
pagingType | String | Obligatorisk. Avgör vilken växlingstyp som ska användas i resultat, som ett av följande värden: None , LinkHeader , NextPageToken , , NextPageUrl , Offset |
linkHeaderTokenJsonPath | String | Valfritt. Definierar JSON-sökvägen till länkrubriken i svarets JSON, om den LinkHeader inte har definierats i svarshuvudet. |
nextPageTokenJsonPath | String | Valfritt. Definierar sökvägen till en JSON för nästa sidtoken. |
hasNextFlagJsonPath | String | Valfritt. Definierar sökvägen till flaggattributet HasNextPage . |
nextPageTokenResponseHeader | String | Valfritt. Definierar nästa sidtokens rubriknamn i svaret. |
nextPageParaName | String | Valfritt. Avgör nästa sidnamn i begäran. |
nextPageRequestHeader | String | Valfritt. Avgör namnet på nästa sidhuvud i begäran. |
nextPageUrl | String | Valfritt. Avgör url:en för nästa sida om den skiljer sig från den ursprungliga begärande-URL:en. |
nextPageUrlQueryParameters | String | Valfritt. Avgör frågeparametrarna för nästa sid-URL om den skiljer sig från url:en för den första begäran. Definiera strängen i serialiserat dictionary<string, object> format: {'<attr_name>': <val>, '<attr_name>': <val>... } |
offsetParaName | String | Valfritt. Definierar namnet på förskjutningsparametern. |
pageSizeParaName | String | Valfritt. Definierar namnet på sidstorleksparametern. |
Sidstorlek | Integer | Definierar växlingsstorleken. |
Exempel på pollingConfig-kod
Följande kod visar ett exempel på pollingConfig
avsnittet i CCP-konfigurationsfilen:
"pollingConfig": {
"auth": {
"authType": "APIKey",
"APIKeyIdentifier": "token",
"APIKeyName": "Authorization"
},
"request": {
"apiEndpoint": "https://api.github.com/../{{placeHolder1}}/audit-log",
"rateLimitQPS": 50,
"queryWindowInMin": 15,
"httpMethod": "Get",
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
"retryCount": 2,
"timeoutInSeconds": 60,
"headers": {
"Accept": "application/json",
"User-Agent": "Scuba"
},
"queryParameters": {
"phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}"
}
},
"paging": {
"pagingType": "LinkHeader",
"pageSizeParaName": "per_page"
},
"response": {
"eventsJsonPaths": [
"$"
]
}
}
Distribuera anslutningsappen i Microsoft Sentinel och börja mata in data
När du har skapat JSON-konfigurationsfilen, inklusive både användargränssnittet och avsökningskonfigurationen, distribuerar du anslutningsappen på din Microsoft Sentinel-arbetsyta.
Använd något av följande alternativ för att distribuera dataanslutningen.
Dricks
Fördelen med att distribuera via en ARM-mall (Azure Resource Manager) är att flera värden är inbyggda i mallen och att du inte behöver definiera dem manuellt i ett API-anrop.
Omslut dina JSON-konfigurationssamlingar i en ARM-mall för att distribuera anslutningsappen. Se till att dataanslutningen distribueras till rätt arbetsyta genom att antingen definiera arbetsytan i ARM-mallen eller välja arbetsytan när du distribuerar ARM-mallen.
Förbered en ARM-mall-JSON-fil för anslutningsappen. Se till exempel följande JSON-filer för ARM-mall:
- Dataanslutning i Slack-lösningen
- Dataanslutning i GitHub-lösningen
I Azure Portal söker du efter Distribuera en anpassad mall.
På sidan Anpassad distribution väljer du Skapa en egen mall i redigerarens>inläsningsfil. Bläddra till och välj din lokala ARM-mall och spara sedan ändringarna.
Välj din prenumeration och resursgrupp och ange sedan den Log Analytics-arbetsyta där du vill distribuera din anpassade anslutningsapp.
Välj Granska + skapa för att distribuera din anpassade anslutningsapp till Microsoft Sentinel.
I Microsoft Sentinel går du till sidan Dataanslutningsprogram och söker efter den nya anslutningsappen. Konfigurera den för att börja mata in data.
Mer information finns i Distribuera en lokal mall i Azure Resource Manager-dokumentationen.
Konfigurera dataanslutningen för att ansluta datakällan och börja mata in data i Microsoft Sentinel. Du kan ansluta till din datakälla antingen via portalen, som med färdiga dataanslutningar eller via API.
När du använder Azure Portal för att ansluta skickas användardata automatiskt. När du ansluter via API måste du skicka relevanta autentiseringsparametrar i API-anropet.
Följ anvisningarna som du har angett för att ansluta till dataanslutningsappen på sidan för Microsoft Sentinel-dataanslutningsappen.
Dataanslutningssidan i Microsoft Sentinel styrs av InstruktionSteg-konfigurationen i elementet
connectorUiConfig
i CCP JSON-konfigurationsfilen. Om du har problem med anslutningen till användargränssnittet kontrollerar du att du har rätt konfiguration för din autentiseringstyp.I Microsoft Sentinel går du till sidan Loggar och kontrollerar att loggarna från datakällan flödar in till din arbetsyta.
Om du inte ser data som flödar till Microsoft Sentinel kontrollerar du dokumentationen för datakällan och felsöker resurser, kontrollerar konfigurationsinformationen och kontrollerar anslutningen. Mer information finns i Övervaka hälsotillståndet för dina dataanslutningar.
Koppla från anslutningsappen
Om du inte längre behöver anslutningsappens data kopplar du från anslutningsappen för att stoppa dataflödet.
Använd en av följande metoder:
Azure Portal: På sidan för Microsoft Sentinel-dataanslutning väljer du Koppla från.
API: Använd DISCONNECT-API:et för att skicka ett PUT-anrop med en tom brödtext till följande URL:
https://management.azure.com /subscriptions/{{SUB}}/resourceGroups/{{RG}}/providers/Microsoft.OperationalInsights/workspaces/{{WS-NAME}}/providers/Microsoft.SecurityInsights/dataConnectors/{{Connector_Id}}/disconnect?api-version=2021-03-01-preview
Nästa steg
Om du inte har gjort det ännu kan du dela din nya kodlösa dataanslutning med Microsoft Sentinel-communityn! Skapa en lösning för din dataanslutning och dela den på Microsoft Sentinel Marketplace.
Mer information finns i