Delen via


[Afgeschaft] Een verouderde connector zonder code maken voor Microsoft Sentinel

Belangrijk

Logboekverzameling van veel apparaten en apparaten wordt nu ondersteund door de Common Event Format (CEF) via AMA, Syslog via AMA of aangepaste logboeken via AMA-gegevensconnector in Microsoft Sentinel. Zie Uw Microsoft Sentinel-gegevensconnector zoeken voor meer informatie.

Belangrijk

Er is een nieuwere versie van het Codeless Connector Platform (CCP). Zie Een codeloze connector maken (preview) voor meer informatie over de nieuwe CTP.

Raadpleeg dit document als u een gegevensconnector moet onderhouden of bijwerken op basis van deze oudere, verouderde versie van de CTP.

De CCP biedt partners, geavanceerde gebruikers en ontwikkelaars de mogelijkheid om aangepaste connectors te maken, ze te verbinden en gegevens op te nemen in Microsoft Sentinel. Connectors die zijn gemaakt via de CTP kunnen worden geïmplementeerd via API, een ARM-sjabloon of als oplossing in de Microsoft Sentinel-inhoudshub.

Connectors die zijn gemaakt met CTP zijn volledig SaaS, zonder enige vereisten voor service-installaties, en omvatten ook statuscontrole en volledige ondersteuning van Microsoft Sentinel.

Maak uw gegevensconnector door JSON-configuraties te definiëren, met instellingen voor hoe de pagina gegevensconnector in Microsoft Sentinel eruitziet, samen met poll-instellingen die definiëren hoe de verbinding functioneert.

Belangrijk

Deze versie van Codeless Connector Platform (CCP) is in PREVIEW, maar wordt ook beschouwd als verouderd. De Aanvullende voorwaarden voor Azure-previews omvatten aanvullende juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

Gebruik de volgende stappen om uw CCP-connector te maken en verbinding te maken met uw gegevensbron vanuit Microsoft Sentinel:

  • De gebruikersinterface van de connector configureren
  • De polling-instellingen van de connector configureren
  • Uw connector implementeren in uw Microsoft Sentinel-werkruimte
  • Microsoft Sentinel verbinden met uw gegevensbron en beginnen met het opnemen van gegevens

In dit artikel worden de syntaxis beschreven die wordt gebruikt in de CTP JSON-configuraties en -procedures voor het implementeren van uw connector via API, een ARM-sjabloon of een Microsoft Sentinel-oplossing.

Vereisten

Voordat u een connector bouwt, wordt u aangeraden te begrijpen hoe uw gegevensbron zich gedraagt en precies hoe Microsoft Sentinel verbinding moet maken.

U moet bijvoorbeeld weten welke typen verificatie-, paginerings- en API-eindpunten vereist zijn voor geslaagde verbindingen.

Een JSON-configuratiebestand voor de connector maken

Uw aangepaste CCP-connector heeft twee primaire JSON-secties die nodig zijn voor implementatie. Vul deze gebieden in om te definiëren hoe uw connector wordt weergegeven in Azure Portal en hoe Microsoft Sentinel wordt verbonden met uw gegevensbron.

  • connectorUiConfig. Hiermee definieert u de visuele elementen en tekst die worden weergegeven op de pagina gegevensconnector in Microsoft Sentinel. Zie De gebruikersinterface van uw connector configureren voor meer informatie.

  • pollingConfig. Definieert hoe Microsoft Sentinel gegevens verzamelt uit uw gegevensbron. Zie De polling-instellingen van uw connector configureren voor meer informatie.

Als u vervolgens uw connector zonder code implementeert via ARM, verpakt u deze secties in de ARM-sjabloon voor gegevensconnectors.

Bekijk andere CTP-gegevensconnectors als voorbeelden of download de voorbeeldsjabloon DataConnector_API_CCP_template.json (preview).

De gebruikersinterface van uw connector configureren

In deze sectie worden de configuratieopties beschreven die beschikbaar zijn om de gebruikersinterface van de pagina gegevensconnector aan te passen.

In de volgende afbeelding ziet u een pagina met voorbeeldgegevensconnector, gemarkeerd met getallen die overeenkomen met belangrijke gebieden van de gebruikersinterface:

Schermopname van een pagina met een voorbeeldgegevensconnector.

  1. Titel. De titel die wordt weergegeven voor uw gegevensconnector.
  2. Logo. Het pictogram dat wordt weergegeven voor uw gegevensconnector. U kunt dit alleen aanpassen wanneer u deze implementeert als onderdeel van een oplossing.
  3. Status. Geeft aan of uw gegevensconnector al dan niet is verbonden met Microsoft Sentinel.
  4. Gegevensdiagrammen. Geeft relevante query's en de hoeveelheid opgenomen gegevens in de afgelopen twee weken weer.
  5. Tabblad Instructies. Bevat een sectie Vereisten, met een lijst met minimale validaties voordat de gebruiker de connector kan inschakelen en instructies, om de gebruikersinschakeling van de connector te begeleiden. Deze sectie kan tekst, knoppen, formulieren, tabellen en andere algemene widgets bevatten om het proces te vereenvoudigen.
  6. Tabblad Volgende stappen. Bevat nuttige informatie voor informatie over het vinden van gegevens in de gebeurtenislogboeken, zoals voorbeeldquery's.

Dit zijn de connectorUiConfig secties en syntaxis die nodig zijn om de gebruikersinterface te configureren:

Eigenschapsnaam Type Description
availability {
"status": 1,
"isPreview": Booleaans
}

status: 1 Geeft aan dat de connector algemeen beschikbaar is voor klanten.
isPreview Geeft aan of het achtervoegsel (preview) moet worden opgenomen in de naam van de connector.
connectivityCriteria {
"type": SentinelKindsV2,
"value": APIPolling
}
Een object dat definieert hoe u controleert of de connector juist is gedefinieerd. Gebruik de hier aangegeven waarden.
Datatypes dataTypes[] Een lijst met alle gegevenstypen voor uw connector en een query voor het ophalen van de tijd van de laatste gebeurtenis voor elk gegevenstype.
descriptionMarkdown String Een beschrijving voor de connector met de mogelijkheid om markdown-taal toe te voegen om deze te verbeteren.
graphQueries graphQueries[] Query's die gegevensopname presenteren in de afgelopen twee weken in het deelvenster Gegevensdiagrammen .

Geef één query op voor alle gegevenstypen van de gegevensconnector of een andere query voor elk gegevenstype.
graphQueriesTableName String Definieert de naam van de Log Analytics-tabel waaruit gegevens voor uw query's worden opgehaald.

De tabelnaam kan elke tekenreeks zijn, maar moet eindigen op _CL. Bijvoorbeeld: TableName_CL
instructionsSteps instructionSteps[] Een matrix met widgetonderdelen die uitleggen hoe u de connector installeert, weergegeven op het tabblad Instructies .
metagegevens metagegevens Metagegevens die worden weergegeven onder de beschrijving van de connector.
permissions machtigingen[] De informatie die wordt weergegeven in de sectie Vereisten van de gebruikersinterface met de machtigingen die nodig zijn om de connector in of uit te schakelen.
uitgever String Dit is de tekst die wordt weergegeven in de sectie Provider .
sampleQueries sampleQueries[] Voorbeeldquery's voor de klant om te begrijpen hoe u de gegevens in het gebeurtenislogboek kunt vinden, die moeten worden weergegeven op het tabblad Volgende stappen .
title String Titel die wordt weergegeven op de pagina gegevensconnector.

Het samenstellen van al deze stukken is ingewikkeld. Gebruik het hulpprogramma voor validatie van gebruikerservaring op de connectorpagina om de onderdelen te testen die u hebt samengesteld.

Datatypes

Matrixwaarde Type Description
name String Een zinvolle beschrijving voor delastDataReceivedQuery variabele, inclusief ondersteuning voor een variabele.

Voorbeeld: {{graphQueriesTableName}}
lastDataReceivedQuery String Een KQL-query die één rij retourneert en de laatste keer dat gegevens zijn ontvangen, of geen gegevens als er geen relevante gegevens zijn.

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

graphQueries

Hiermee definieert u een query die gegevensopname in de afgelopen twee weken in het deelvenster Gegevensgrafieken weergeeft.

Geef één query op voor alle gegevenstypen van de gegevensconnector of een andere query voor elk gegevenstype.

Matrixwaarde Type Description
metricName String Een betekenisvolle naam voor uw grafiek.

Voorbeeld: Total data received
legende String De tekenreeks die in de legenda rechts van de grafiek wordt weergegeven, inclusief een verwijzing naar een variabele.

Voorbeeld: {{graphQueriesTableName}}
baseQuery String De query die filtert op relevante gebeurtenissen, inclusief een variabelereferentie.

Bijvoorbeeld: TableName_CL | where ProviderName == "myprovider" of {{graphQueriesTableName}}

instructionSteps

Deze sectie bevat parameters waarmee de set instructies wordt gedefinieerd die worden weergegeven op de pagina van de gegevensconnector in Microsoft Sentinel.

Matrixeigenschap Type Description
title String Optioneel. Definieert een titel voor uw instructies.
beschrijving String Optioneel. Definieert een beschrijvende beschrijving voor uw instructies.
innerSteps Matrix Optioneel. Definieert een matrix van interne instructiestappen.
Instructies Matrix met instructies Vereist. Hiermee definieert u een matrix met instructies van een specifiek parametertype.
bottomBorder Booleaanse waarde Optioneel. Wanneer truevoegt u een onderrand toe aan het instructiesgebied op de connectorpagina in Microsoft Sentinel
isComingSoon Booleaanse waarde Optioneel. Wanneer truevoegt u een titel binnenkort beschikbaar toe op de connectorpagina in Microsoft Sentinel

Instructies

Geeft een groep instructies weer, met verschillende opties als parameters en de mogelijkheid om meer instructiesteps in groepen te nesten.

Parameter Matrixeigenschap Beschrijving
APIKey APIKey Voeg tijdelijke aanduidingen toe aan het JSON-configuratiebestand van uw connector.
CopyableLabel CopyableLabel Toont een tekstveld met een knop Kopiëren aan het einde. Wanneer de knop is geselecteerd, wordt de waarde van het veld gekopieerd.
InfoMessage InfoMessage Definieert een inline informatiebericht.
InstructionStepsGroup InstructionStepsGroup Geeft een groep instructies weer, eventueel uitgevouwen of samenvouwbaar, in een afzonderlijke sectie met instructies.
InstallAgent InstallAgent Geeft een koppeling weer naar andere gedeelten van Azure om aan verschillende installatievereisten te voldoen.

APIKey

Mogelijk wilt u een sjabloon voor een JSON-configuratiebestand maken, met parameters voor tijdelijke aanduidingen, om meerdere connectors opnieuw te gebruiken of zelfs om een connector te maken met gegevens die u momenteel niet hebt.

Als u tijdelijke aanduidingenparameters wilt maken, definieert u een extra matrix met de naam userRequestPlaceHoldersInput in de sectie Instructies van uw CTP JSON-configuratiebestand met behulp van de volgende syntaxis:

"instructions": [
                {
                  "parameters": {
                    "enable": "true",
                    "userRequestPlaceHoldersInput": [
                      {
                        "displayText": "Organization Name",
                        "requestObjectKey": "apiEndpoint",
                        "placeHolderName": "{{placeHolder}}"
                      }
                    ]
                  },
                  "type": "APIKey"
                }
              ]

De userRequestPlaceHoldersInput parameter bevat de volgende kenmerken:

Name Type Description
DisplayText String Hiermee definieert u de weergavewaarde van het tekstvak, die wordt weergegeven aan de gebruiker wanneer u verbinding maakt.
RequestObjectKey String Definieert de id in de aanvraagsectie van de pollingConfig om de tijdelijke aanduidingswaarde te vervangen door de door de gebruiker opgegeven waarde.

Als u dit kenmerk niet gebruikt, gebruikt u in plaats daarvan het PollingKeyPaths kenmerk.
PollingKeyPaths String Definieert een matrix van JsonPath-objecten die de API-aanroep naar een willekeurige locatie in de sjabloon leiden om een tijdelijke aanduidingswaarde te vervangen door een gebruikerswaarde.

Voorbeeld: "pollingKeyPaths":["$.request.queryParameters.test1"]

Als u dit kenmerk niet gebruikt, gebruikt u in plaats daarvan het RequestObjectKey kenmerk.
PlaceHolderName String Hiermee definieert u de naam van de tijdelijke aanduidingsparameter in het JSON-sjabloonbestand. Dit kan elke unieke waarde zijn, zoals {{placeHolder}}.

CopyableLabel

Voorbeeld:

Schermopname van de knop Waarde kopiëren in een veld.

Voorbeeldcode:

{
    "parameters": {
        "fillWith": [
            "WorkspaceId",
            "PrimaryKey"
            ],
        "label": "Here are some values you'll need to proceed.",
        "value": "Workspace is {0} and PrimaryKey is {1}"
    },
    "type": "CopyableLabel"
}
Matrixwaarde Type Description
fillWith ENUM Optioneel. Matrix van omgevingsvariabelen die worden gebruikt om een tijdelijke aanduiding te vullen. Scheid meerdere tijdelijke aanduidingen met komma's. Bijvoorbeeld: {0},{1}

Ondersteunde waarden: workspaceId, workspaceName, primaryKey, , MicrosoftAwsAccountsubscriptionId
etiket String Hiermee definieert u de tekst voor het label boven een tekstvak.
value String Definieert de waarde die in het tekstvak moet worden weergegeven, ondersteunt tijdelijke aanduidingen.
Rijen Rijen Optioneel. Hiermee definieert u de rijen in het gebied van de gebruikersinterface. Standaard ingesteld op 1.
wideLabel Booleaanse waarde Optioneel. Bepaalt een breed label voor lange tekenreeksen. Standaard ingesteld op false.

InfoMessage

Hier volgt een voorbeeld van een inline informatiebericht:

Schermopname van een inline-informatiebericht.

In de volgende afbeelding ziet u daarentegen een niet-inline informatiebericht:

Schermopname van een niet-inline informatiebericht.

Matrixwaarde Type Beschrijving
tekst String Definieer de tekst die in het bericht moet worden weergegeven.
zichtbaar Booleaanse waarde Bepaalt of het bericht wordt weergegeven.
Inline Booleaanse waarde Bepaalt hoe het informatiebericht wordt weergegeven.

- true: (Aanbevolen) Toont het informatiebericht dat is ingesloten in de instructies.
- false: Voegt een blauwe achtergrond toe.

InstructionStepsGroup

Hier volgt een voorbeeld van een uitbreidbare instructiegroep:

Schermopname van een uitbreidbare, extra instructiegroep.

Matrixwaarde Type Description
title String Hiermee definieert u de titel voor de instructiestap.
canCollapseAllSections Booleaanse waarde Optioneel. Bepaalt of de sectie een samenvouwbare accordeon is of niet.
noFxPadding Booleaanse waarde Optioneel. Als true, vermindert de hoogte opvulling om ruimte te besparen.
Uitgebreid Booleaanse waarde Optioneel. Als true, wordt standaard weergegeven als uitgevouwen.

Zie de configuratie-JSON voor de Windows DNS-connector voor een gedetailleerd voorbeeld.

InstallAgent

Sommige InstallAgent-typen worden weergegeven als een knop, andere worden weergegeven als een koppeling. Hier volgen voorbeelden van beide:

Schermopname van een koppeling die als knop is toegevoegd.

Schermopname van een koppeling die is toegevoegd als inlinetekst.

Matrixwaarden Type Description
linkType ENUM Bepaalt het koppelingstype als een van de volgende waarden:

InstallAgentOnWindowsVirtualMachine
InstallAgentOnWindowsNonAzure
InstallAgentOnLinuxVirtualMachine
InstallAgentOnLinuxNonAzure
OpenSyslogSettings
OpenCustomLogsSettings
OpenWaf
OpenAzureFirewall OpenMicrosoftAzureMonitoring
OpenFrontDoors
OpenCdnProfile
AutomaticDeploymentCEF
OpenAzureInformationProtection
OpenAzureActivityLog
OpenIotPricingModel
OpenPolicyAssignment
OpenAllAssignmentsBlade
OpenCreateDataCollectionRule
policyDefinitionGuid String Vereist bij gebruik van het OpenPolicyAssignment linkType. Voor connectors op basis van beleid definieert u de GUID van de ingebouwde beleidsdefinitie.
assignMode ENUM Optioneel. Voor connectors op basis van beleid definieert u de toewijzingsmodus als een van de volgende waarden: InitiativePolicy
dataCollectionRuleType ENUM Optioneel. Voor DCR-connectors definieert u het type regeltype voor gegevensverzameling als een van de volgende: SecurityEventForwardEvent

metagegevens

Deze sectie bevat metagegevens in de gebruikersinterface van de gegevensconnector onder het gebied Beschrijving .

Verzamelingswaarde Type Beschrijving
soort String Hiermee definieert u het type ARM-sjabloon dat u maakt. Altijd gebruiken dataConnector.
bron String Beschrijft uw gegevensbron met behulp van de volgende syntaxis:
{
"kind":snaar
"name":snaar
}
auteur String Beschrijft de auteur van de gegevensconnector met behulp van de volgende syntaxis:
{
"name":snaar
}
steunen String Beschrijf de ondersteuning voor de gegevensconnector met behulp van de volgende syntaxis:
{
"tier":snaar
"name":snaar
"email":snaar
"link":URL-tekenreeks
}

permissions

Matrixwaarde Type Description
douane String Beschrijft eventuele aangepaste machtigingen die vereist zijn voor uw gegevensverbinding, in de volgende syntaxis:
{
"name":snaar,
"description":snaar
}

Voorbeeld: De douanewaarde wordt weergegeven in de sectie Vereisten van Microsoft Sentinel met een blauw informatiepictogram. In het GitHub-voorbeeld komt dit overeen met de persoonlijke tokensleutel van de GitHub-API: u hebt toegang nodig tot het persoonlijke GitHub-token...
Licenties ENUM Definieert de vereiste licenties als een van de volgende waarden: OfficeIRM,OfficeATP, Office365, , AadP1P2, Mcas, Aatp, Mdatp, , MtpIoT

Voorbeeld: De licentiewaarde wordt weergegeven in Microsoft Sentinel als: Licentie: Vereiste Azure AD Premium P2
resourceProvider resourceProvider Beschrijft eventuele vereisten voor uw Azure-resource.

Voorbeeld: De waarde resourceProvider wordt weergegeven in de sectie Vereisten voor Microsoft Sentinel als:
Werkruimte: lees- en schrijfmachtiging is vereist.
Sleutels: leesmachtigingen voor gedeelde sleutels voor de werkruimte zijn vereist.
tenant matrix van ENUM-waarden
Voorbeeld:

"tenant": [
"GlobalADmin",
"SecurityAdmin"
]
Definieert de vereiste machtigingen als een of meer van de volgende waarden: "GlobalAdmin", "SecurityAdmin", "SecurityReader", "InformationProtection"

Voorbeeld: geeft de tenantwaarde in Microsoft Sentinel weer als: Tenantmachtigingen: Vereist Global Administrator of Security Administrator op de tenant van de werkruimte

resourceProvider

submatrixwaarde Type Description
aanbieder ENUM Beschrijft de resourceprovider, met een van de volgende waarden:
- Microsoft.OperationalInsights/workspaces
- Microsoft.OperationalInsights/solutions
- Microsoft.OperationalInsights/workspaces/datasources
- microsoft.aadiam/diagnosticSettings
- Microsoft.OperationalInsights/workspaces/sharedKeys
- Microsoft.Authorization/policyAssignments
providerDisplayName String Een lijstitem onder Vereisten waarmee een rood 'x' of groen vinkje wordt weergegeven wanneer de requiredPermissions worden gevalideerd op de connectorpagina. Voorbeeld "Workspace"
permissionsDisplayText String Tekst weergeven voor lees-, schrijf- of lees- en schrijfmachtigingen die moeten overeenkomen met de waarden die zijn geconfigureerd in requiredPermissions
requiredPermissions {
"action":Booleaanse waarde,
"delete":Booleaanse waarde,
"read":Booleaanse waarde,
"write":Booleaans
}
Beschrijft de minimale machtigingen die vereist zijn voor de connector.
bereik ENUM Beschrijft het bereik van de gegevensconnector als een van de volgende waarden: "Subscription", , "ResourceGroup""Workspace"

sampleQueries

matrixwaarde Type Description
beschrijving String Een zinvolle beschrijving voor de voorbeeldquery.

Voorbeeld: Top 10 vulnerabilities detected
query String Voorbeeldquery die wordt gebruikt om de gegevens van het gegevenstype op te halen.

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

Als u een inlinekoppeling wilt definiëren met behulp van Markdown, gebruikt u het volgende voorbeeld. Hier vindt u een koppeling in een instructiebeschrijving:

{
   "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)"
}

Als u een koppeling wilt definiëren als een ARM-sjabloon, gebruikt u het volgende voorbeeld als richtlijn:

{
   "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})"
}

De gebruikerservaring van de gegevensconnectorpagina valideren

Volg deze stappen om de gebruikerservaring van de connector weer te geven en te valideren.

  1. Het testhulpprogramma kan worden geopend via deze URL - https://aka.ms/sentineldataconnectorvalidateurl
  2. Ga naar Microsoft Sentinel -> Gegevensconnectors
  3. Klik op de knop Importeren en selecteer een json-bestand dat alleen de connectorUiConfig sectie van uw gegevensconnector bevat.

Zie de instructies voor het bouwen van de connector in onze GitHub-buildhandleiding voor meer informatie over dit validatieprogramma.

Notitie

Omdat de instructieparameter APIKey specifiek is voor de connector zonder code, verwijdert u deze sectie tijdelijk om het validatieprogramma te gebruiken of mislukt deze.

De polling-instellingen van uw connector configureren

In deze sectie wordt de configuratie beschreven voor de wijze waarop gegevens uit uw gegevensbron worden gepeild voor een gegevensconnector zonder code.

De volgende code toont de syntaxis van de pollingConfig sectie van het CTP-configuratiebestand .

"pollingConfig": {
    "auth": {
    },
    "request": {
    },
    "response": {
    },
    "paging": {
    }
 }

De pollingConfig sectie bevat de volgende eigenschappen:

Name Type Description
Auth String Beschrijft de verificatie-eigenschappen voor het peilen van de gegevens. Zie de verificatieconfiguratie voor meer informatie.
auth.authType String Verplicht. Definieert het type verificatie, genest binnen het auth object, als een van de volgende waarden: Basic, , APIKeyOAuth2
verzoek Geneste JSON Verplicht. Beschrijft de nettolading van de aanvraag voor het peilen van de gegevens, zoals het API-eindpunt. Zie de aanvraagconfiguratie voor meer informatie.
antwoord Geneste JSON Verplicht. Beschrijft het antwoordobject en geneste bericht dat wordt geretourneerd door de API bij het peilen van de gegevens. Zie de antwoordconfiguratie voor meer informatie.
Paging Geneste JSON Optioneel. Beschrijft de nettolading van paginering bij het peilen van de gegevens. Zie de pagingconfiguratie voor meer informatie.

Zie Voorbeeld van pollingConfig-code voor meer informatie.

Verificatieconfiguratie

De auth sectie van de pollingConfig-configuratie bevat de volgende parameters, afhankelijk van het type dat is gedefinieerd in het authType-element :

Basisparameters voor verificatietype

Name Type Description
Gebruikersnaam String Verplicht. Hiermee definieert u de gebruikersnaam.
Wachtwoord String Verplicht. Hiermee definieert u het gebruikerswachtwoord.

APIKey authType-parameters

Name Type Description
APIKeyName String Optioneel. Definieert de naam van uw API-sleutel als een van de volgende waarden:

- XAuthToken
- Authorization
IsAPIKeyInPostPayload Booleaanse waarde Bepaalt waar uw API-sleutel is gedefinieerd.

Waar: API-sleutel wordt gedefinieerd in de nettolading van de POST-aanvraag
Onwaar: API-sleutel wordt gedefinieerd in de header
APIKeyIdentifier String Optioneel. Hiermee definieert u de naam van de id voor de API-sleutel.

Als de autorisatie bijvoorbeeld is gedefinieerd als "Authorization": "token <secret>", wordt deze parameter gedefinieerd als: {APIKeyIdentifier: “token”})

OAuth2-parameters authType

Het Platform voor codeloze connectors ondersteunt OAuth 2.0-autorisatiecodetoestemming.

Het toekenningstype Autorisatiecode wordt gebruikt door vertrouwelijke en openbare clients om een autorisatiecode voor een toegangstoken in te wisselen.

Nadat de gebruiker via de omleidings-URL naar de client terugkeert, krijgt de toepassing de autorisatiecode van de URL en gebruikt deze om een toegangstoken aan te vragen.

Name Type Description
FlowName String Verplicht. Hiermee definieert u een OAuth2-stroom.

Ondersteunde waarde: AuthCode - vereist een autorisatiestroom
AccessToken String Optioneel. Hiermee definieert u een OAuth2-toegangstoken dat relevant is wanneer het toegangstoken niet verloopt.
AccessTokenPrepend String Optioneel. Hiermee definieert u een OAuth2-toegangstoken vooraf. Standaard is Bearer.
RefreshToken String Verplicht voor OAuth2-verificatietypen. Hiermee definieert u het OAuth2-vernieuwingstoken.
TokenEndpoint String Verplicht voor OAuth2-verificatietypen. Hiermee definieert u het service-eindpunt van het OAuth2-token.
AuthorizationEndpoint String Optioneel. Hiermee definieert u het OAuth2-autorisatieservice-eindpunt. Alleen gebruikt tijdens onboarding of bij het vernieuwen van een vernieuwingstoken.
RedirectionEndpoint String Optioneel. Definieert een omleidingseindpunt tijdens onboarding.
AccessTokenExpirationDateTimeInUtc String Optioneel. Hiermee definieert u een vervaldatum voor het toegangstoken in UTC-indeling. Relevant voor wanneer het toegangstoken niet verloopt en daarom een grote datum/tijd in UTC heeft of wanneer het toegangstoken een grote vervaldatum heeft.
RefreshTokenExpirationDateTimeInUtc String Verplicht voor OAuth2-verificatietypen. Hiermee definieert u de vervaldatum van het vernieuwingstoken in UTC-indeling.
TokenEndpointHeaders Woordenlijsttekenreeks<, object> Optioneel. Definieert de headers bij het aanroepen van een OAuth2-tokenservice-eindpunt.

Definieer een tekenreeks in de geserialiseerde dictionary<string, string> indeling: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
AuthorizationEndpointHeaders Woordenlijsttekenreeks<, object> Optioneel. Definieert de headers bij het aanroepen van een OAuth2-autorisatieservice-eindpunt. Alleen gebruikt tijdens onboarding of bij het vernieuwen van een vernieuwingstoken.

Definieer een tekenreeks in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
AuthorizationEndpointQueryParameters Woordenlijsttekenreeks<, object> Optioneel. Definieert queryparameters bij het aanroepen van een OAuth2-autorisatieservice-eindpunt. Alleen gebruikt tijdens onboarding of bij het vernieuwen van een vernieuwingstoken.

Definieer een tekenreeks in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
TokenEndpointQueryParameters Woordenlijsttekenreeks<, object> Optioneel. Queryparameters definiëren bij het aanroepen van een OAuth2-tokenservice-eindpunt.

Definieer een tekenreeks in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
IsTokenEndpointPostPayloadJson Booleaanse waarde Optioneel; standaardwaarde is false. Bepaalt of queryparameters de JSON-indeling hebben en worden ingesteld in de POST-nettolading van de aanvraag.
IsClientSecretInHeader Booleaanse waarde Optioneel; standaardwaarde is false. Bepaalt of de client_id waarden client_secret zijn gedefinieerd in de header, zoals wordt gedaan in het basisverificatieschema, in plaats van in de POST-nettolading.
RefreshTokenLifetimeinSecAttributeName String Optioneel. Definieert de kenmerknaam van het antwoord op het tokeneindpunt, waarbij de levensduur van het vernieuwingstoken in seconden wordt opgegeven.
IsJwtBearerFlow Booleaanse waarde Optioneel; standaardwaarde is false. Bepaalt of u JWT gebruikt.
JwtHeaderInJson Woordenlijsttekenreeks<, object> Optioneel. Definieer de JWT-headers in JSON-indeling.

Definieer een tekenreeks in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>...}
JwtClaimsInJson Woordenlijsttekenreeks<, object> Optioneel. Definieert JWT-claims in JSON-indeling.

Definieer een tekenreeks in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ...}
JwtPem String Optioneel. Hiermee definieert u een geheime sleutel in PEM Pkcs1-indeling: '-----BEGIN RSA PRIVATE KEY-----\r\n{privatekey}\r\n-----END RSA PRIVATE KEY-----\r\n'

Zorg ervoor dat u de '\r\n' code op de plaats houdt.
RequestTimeoutInSeconds Geheel getal Optioneel. Bepaalt de time-out in seconden bij het aanroepen van service-eindpunten voor tokens. De standaardwaarde is 180 seconden

Hier volgt een voorbeeld van hoe een OAuth2-configuratie eruit kan zien:

"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"
    },

Parameters sessie-authType

Name Type Description
QueryParameters Woordenlijsttekenreeks<, object> Optioneel. Een lijst met queryparameters in de geserialiseerde dictionary<string, string> indeling:

{'<attr_name>': '<val>', '<attr_name>': '<val>'... }
IsPostPayloadJson Booleaanse waarde Optioneel. Bepaalt of de queryparameters de JSON-indeling hebben.
Kopteksten Woordenlijsttekenreeks<, object> Optioneel. Definieert de header die wordt gebruikt bij het aanroepen van het eindpunt om de sessie-id op te halen en bij het aanroepen van de eindpunt-API.

Definieer de tekenreeks in de geserialiseerde dictionary<string, string> indeling: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
SessionTimeoutInMinutes String Optioneel. Hiermee definieert u een sessietime-out, in minuten.
SessionIdName String Optioneel. Hiermee definieert u een id-naam voor de sessie.
SessionLoginRequestUri String Optioneel. Definieert een aanmeldingsaanvraag-URI voor een sessie.

Aanvraagconfiguratie

De request sectie van de pollingConfig-configuratie bevat de volgende parameters:

Name Type Description
apiEndpoint String Verplicht. Hiermee definieert u het eindpunt waaruit gegevens moeten worden opgehaald.
httpMethod String Verplicht. Definieert de API-methode: GET of POST
queryTimeFormat Tekenreeks of UnixTimestamp of UnixTimestampInMills Verplicht. Definieert de indeling die wordt gebruikt om de querytijd te definiëren.

Deze waarde kan een tekenreeks zijn, of in de indeling UnixTimestamp of UnixTimestampInMills om de begin- en eindtijd van de query in de UnixTimestamp aan te geven.
startTimeAttributeName String Optioneel. Hiermee definieert u de naam van het kenmerk waarmee de begintijd van de query wordt gedefinieerd.
endTimeAttributeName String Optioneel. Hiermee definieert u de naam van het kenmerk dat de eindtijd van de query definieert.
queryTimeIntervalAttributeName String Optioneel. Hiermee definieert u de naam van het kenmerk dat het tijdsinterval van de query definieert.
queryTimeIntervalDelimiter String Optioneel. Definieert het scheidingsteken voor het tijdsinterval van de query.
queryWindowInMin Geheel getal Optioneel. Hiermee definieert u het beschikbare queryvenster, in minuten.

Minimumwaarde: 5
queryParameters Woordenlijsttekenreeks<, object> Optioneel. Hiermee definieert u de parameters die zijn doorgegeven in de query in het eventsJsonPaths pad.

Definieer de tekenreeks in de geserialiseerde dictionary<string, string> indeling: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }.
queryParametersTemplate String Optioneel. Hiermee definieert u de sjabloon voor queryparameters die moeten worden gebruikt bij het doorgeven van queryparameters in geavanceerde scenario's.

Bijvoorbeeld: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}"

{_QueryWindowStartTime} en {_QueryWindowEndTime} worden alleen ondersteund in de queryParameters en queryParametersTemplate aanvraagparameters.

{_APIKeyName} en {_APIKey} worden alleen ondersteund in de queryParametersTemplate aanvraagparameter.
isPostPayloadJson Booleaanse waarde Optioneel. Bepaalt of de POST-nettolading de JSON-indeling heeft.
rateLimitQPS Dubbel Optioneel. Hiermee definieert u het aantal aanroepen of query's dat in een seconde is toegestaan.
time-outInSeconds Geheel getal Optioneel. Hiermee definieert u de time-out van de aanvraag, in seconden.
retryCount Geheel getal Optioneel. Hiermee definieert u het aantal nieuwe pogingen om het te proberen, indien nodig.
Headers Woordenlijsttekenreeks<, object> Optioneel. Hiermee definieert u de waarde van de aanvraagheader in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': '<serialized val>', '<attr_name>': '<serialized val>'... }

Antwoordconfiguratie

De response sectie van de pollingConfig-configuratie bevat de volgende parameters:

Name Type Description
eventsJsonPaths Lijst met tekenreeksen Verplicht. Hiermee definieert u het pad naar het bericht in de antwoord-JSON.

Een JSON-padexpressie geeft een pad naar een element of een set elementen op in een JSON-structuur
successStatusJsonPath String Optioneel. Definieert het pad naar het succesbericht in de antwoord-JSON.
successStatusValue String Optioneel. Definieert het pad naar de waarde van het geslaagde bericht in de antwoord-JSON
isGzipCompressed Booleaanse waarde Optioneel. Bepaalt of het antwoord is gecomprimeerd in een gzip-bestand.

De volgende code toont een voorbeeld van de eventsJsonPaths-waarde voor een bericht op het hoogste niveau:

"eventsJsonPaths": [
              "$"
            ]

Configuratie van paging

De paging sectie van de pollingConfig-configuratie bevat de volgende parameters:

Name Type Description
pagingType String Verplicht. Bepaalt het pagingstype dat moet worden gebruikt in resultaten, als een van de volgende waarden: None, LinkHeader, NextPageToken, , NextPageUrlOffset
linkHeaderTokenJsonPath String Optioneel. Definieert het JSON-pad om de koppelingsheader in de antwoord-JSON te koppelen, als de LinkHeader header niet is gedefinieerd in de antwoordheader.
nextPageTokenJsonPath String Optioneel. Hiermee definieert u het pad naar een JSON van een volgende paginatoken.
hasNextFlagJsonPath String Optioneel. Hiermee definieert u het pad naar het HasNextPage vlagkenmerk.
nextPageTokenResponseHeader String Optioneel. Hiermee definieert u de naam van de header van het volgende paginatoken in het antwoord.
nextPageParaName String Optioneel. Bepaalt de naam van de volgende pagina in de aanvraag.
nextPageRequestHeader String Optioneel. Bepaalt de naam van de volgende paginakoptekst in de aanvraag.
nextPageUrl String Optioneel. Bepaalt de URL van de volgende pagina , als deze verschilt van de URL van de eerste aanvraag.
nextPageUrlQueryParameters String Optioneel. Bepaalt de queryparameters van de url van de volgende pagina als deze verschilt van de URL van de eerste aanvraag.

Definieer de tekenreeks in de geserialiseerde dictionary<string, object> indeling: {'<attr_name>': <val>, '<attr_name>': <val>... }
offsetParaName String Optioneel. Hiermee definieert u de naam van de offsetparameter.
pageSizeParaName String Optioneel. Hiermee definieert u de naam van de parameter paginaformaat.
Pagesize Geheel getal Hiermee definieert u de paginagrootte.

Voorbeeld van pollingConfig-code

De volgende code toont een voorbeeld van de pollingConfig sectie van het CTP-configuratiebestand :

"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": [
          "$"
        ]
     }
}

Uw connector implementeren in Microsoft Sentinel en beginnen met het opnemen van gegevens

Nadat u uw JSON-configuratiebestand hebt gemaakt, inclusief de gebruikersinterface en de pollingconfiguratie , implementeert u uw connector in uw Microsoft Sentinel-werkruimte.

  1. Gebruik een van de volgende opties om uw gegevensconnector te implementeren.

    Tip

    Het voordeel van het implementeren via een ARM-sjabloon (Azure Resource Manager) is dat verschillende waarden zijn ingebouwd in de sjabloon en u deze niet handmatig hoeft te definiëren in een API-aanroep.

    Verpakt uw JSON-configuratieverzamelingen in een ARM-sjabloon om uw connector te implementeren. Als u ervoor wilt zorgen dat uw gegevensconnector wordt geïmplementeerd in de juiste werkruimte, moet u de werkruimte in de ARM-sjabloon definiëren of de werkruimte selecteren bij het implementeren van de ARM-sjabloon.

    1. Bereid een JSON-bestand van een ARM-sjabloon voor op uw connector. Zie bijvoorbeeld de volgende JSON-bestanden van de ARM-sjabloon:

    2. Zoek in Azure Portal naar Een aangepaste sjabloon implementeren.

    3. Selecteer op de pagina Aangepaste implementatie uw eigen sjabloon maken in het bestand Laden van editor>. Blader naar en selecteer uw lokale ARM-sjabloon en sla uw wijzigingen op.

    4. Selecteer uw abonnement en resourcegroep en voer vervolgens de Log Analytics-werkruimte in waar u uw aangepaste connector wilt implementeren.

    5. Selecteer Beoordelen en maken om uw aangepaste connector te implementeren in Microsoft Sentinel.

    6. Ga in Microsoft Sentinel naar de pagina Gegevensconnectors en zoek naar uw nieuwe connector. Configureer deze om te beginnen met het opnemen van gegevens.

    Zie Een lokale sjabloon implementeren in de Documentatie van Azure Resource Manager voor meer informatie.

  2. Configureer uw gegevensconnector om verbinding te maken met uw gegevensbron en begin met het opnemen van gegevens in Microsoft Sentinel. U kunt verbinding maken met uw gegevensbron via de portal, net als met out-of-the-box gegevensconnectors of via API.

    Wanneer u Azure Portal gebruikt om verbinding te maken, worden gebruikersgegevens automatisch verzonden. Wanneer u verbinding maakt via API, moet u de relevante verificatieparameters in de API-aanroep verzenden.

    Volg op de pagina microsoft Sentinel-gegevensconnector de instructies die u hebt opgegeven om verbinding te maken met uw gegevensconnector.

    De pagina gegevensconnector in Microsoft Sentinel wordt beheerd door de InstructionSteps-configuratie in het element van het connectorUiConfig CTP JSON-configuratiebestand. Als u problemen ondervindt met de gebruikersinterfaceverbinding, moet u ervoor zorgen dat u de juiste configuratie voor uw verificatietype hebt.

  3. Ga in Microsoft Sentinel naar de pagina Logboeken en controleer of de logboeken van uw gegevensbron naar uw werkruimte stromen.

Als u geen gegevens ziet die naar Microsoft Sentinel stromen, controleert u de documentatie over de gegevensbron en de bronnen voor probleemoplossing, controleert u de configuratiedetails en controleert u de connectiviteit. Zie De status van uw gegevensconnectors controleren voor meer informatie.

De verbinding met de connector verbreken

Als u de gegevens van uw connector niet meer nodig hebt, verbreekt u de verbinding met de connector om de gegevensstroom te stoppen.

Hanteer één van de volgende methoden:

  • Azure Portal: Selecteer Verbinding verbreken op de pagina van uw Microsoft Sentinel-gegevensconnector.

  • API: Gebruik de DISCONNECT API om een PUT-aanroep met een lege hoofdtekst naar de volgende URL te verzenden:

    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
    

Volgende stappen

Als u dat nog niet hebt gedaan, deelt u uw nieuwe gegevensconnector zonder code met de Microsoft Sentinel-community. Maak een oplossing voor uw gegevensconnector en deel deze in Microsoft Sentinel Marketplace.

Zie voor meer informatie