Dela via


[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.

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:

Skärmbild av en exempelsida för dataanslutning.

  1. Rubrik. Rubriken som visas för dataanslutningsappen.
  2. 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.
  3. Status. Anger om dataanslutningen är ansluten till Microsoft Sentinel eller inte.
  4. Datadiagram. Visar relevanta frågor och mängden inmatade data under de senaste två veckorna.
  5. 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.
  6. 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 truelägger till en nedre kantlinje i anvisningarna på anslutningssidan i Microsoft Sentinel
isComingSoon Booleskt Valfritt. När truelä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:

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 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, , MicrosoftAwsAccountsubscriptionId
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:

Skärmbild av ett infogat informationsmeddelande.

Följande bild visar däremot ett icke-infogat informationsmeddelande:

Skärmbild av 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:

Skärmbild av en utökningsbar extra 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 trueminskar du utfyllnadshöjden för att spara utrymme.
utökad Booleskt Valfritt. 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 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 dataConnectoralltid .
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, 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

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. 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.

  1. Testverktyget kan nås av den här URL:en – https://aka.ms/sentineldataconnectorvalidateurl
  2. Gå till Microsoft Sentinel –> Dataanslutningsprogram
  3. 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:

Namn Type Beskrivning
eventsJsonPaths Lista över strängar Obligatorisk. Definierar sökvägen till meddelandet i JSON-svaret.

Ett JSON-sökvägsuttryck anger en sökväg till ett element eller en uppsättning element i en JSON-struktur
successStatusJsonPath String Valfritt. Definierar sökvägen till meddelandet om lyckat resultat i JSON-svaret.
successStatusValue String Valfritt. Definierar sökvägen till värdet för lyckade meddelanden i svarets JSON
isGzipCompressed Booleskt Valfritt. Avgör om svaret komprimeras i en gzip-fil.

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.

  1. 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.

    1. Förbered en ARM-mall-JSON-fil för anslutningsappen. Se till exempel följande JSON-filer för ARM-mall:

    2. I Azure Portal söker du efter Distribuera en anpassad mall.

    3. 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.

    4. Välj din prenumeration och resursgrupp och ange sedan den Log Analytics-arbetsyta där du vill distribuera din anpassade anslutningsapp.

    5. Välj Granska + skapa för att distribuera din anpassade anslutningsapp till Microsoft Sentinel.

    6. 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.

  2. 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.

  3. 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