Vytvoření staršího konektoru bez kódu pro Microsoft Sentinel

Důležité

Existuje novější verze Codeless Připojení or Platform (CCP). Další informace o nové ústřední protistraně naleznete v tématu Vytvoření bezkódového konektoru (Preview).

Pokud potřebujete udržovat nebo aktualizovat datový konektor na základě této starší, starší verze ústřední protistrany, použijte tento dokument.

Ústřední protistrana poskytuje partnerům, pokročilým uživatelům a vývojářům možnost vytvářet vlastní konektory, připojovat je a ingestovat data k Microsoft Sentinelu. Připojení ory vytvořené prostřednictvím ústřední protistrany je možné nasadit prostřednictvím rozhraní API, šablony ARM nebo jako řešení v centru obsahu Microsoft Sentinelu.

Připojení ory vytvořené pomocí ústřední protistrany jsou plně SaaS bez jakýchkoli požadavků na instalace služeb a zahrnují také monitorování stavu a plnou podporu ze služby Microsoft Sentinel.

Vytvořte datový konektor definováním konfigurací JSON s nastavením, jak stránka datového konektoru v Microsoft Sentinelu vypadá, spolu s nastaveními dotazování, která definují, jak funguje připojení.

Důležité

Tato verze codeless Připojení or Platform (CCP) je ve verzi PREVIEW, ale také se považuje za starší verzi. Dodatkové podmínky Azure Preview zahrnují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, preview nebo které ještě nejsou vydány v obecné dostupnosti.

Pomocí následujících kroků vytvořte konektor PRO ÚSTŘEDNÍ PROTISTRANu a připojte se ke zdroji dat z Microsoft Sentinelu:

  • Konfigurace uživatelského rozhraní konektoru
  • Konfigurace nastavení dotazování konektoru
  • Nasazení konektoru do pracovního prostoru Microsoft Sentinelu
  • Připojení Microsoft Sentinelu ke zdroji dat a zahájení ingestování dat

Tento článek popisuje syntaxi používanou v konfiguracích a postupech JSON PRO ÚSTŘEDNÍ PROTISTRANu pro nasazení konektoru prostřednictvím rozhraní API, šablony ARM nebo řešení Microsoft Sentinel.

Požadavky

Před vytvořením konektoru doporučujeme pochopit, jak se váš zdroj dat chová a jak přesně se bude Microsoft Sentinel muset připojit.

Budete například potřebovat znát typy koncových bodů ověřování, stránkování a rozhraní API, které jsou potřeba pro úspěšná připojení.

Vytvoření konfiguračního souboru JSON konektoru

Váš vlastní konektor PRO ÚSTŘEDNÍ PROTISTRANu má dva primární oddíly JSON potřebné pro nasazení. Vyplňte tyto oblasti, abyste definovali, jak se váš konektor zobrazí na webu Azure Portal a jak propojuje Microsoft Sentinel s vaším zdrojem dat.

  • connectorUiConfig. Definuje vizuální prvky a text zobrazený na stránce datového konektoru v Microsoft Sentinelu. Další informace najdete v tématu Konfigurace uživatelského rozhraní konektoru.

  • pollingConfig. Definuje, jak Microsoft Sentinel shromažďuje data z vašeho zdroje dat. Další informace najdete v tématu Konfigurace nastavení dotazování konektoru.

Pokud pak nasadíte konektor bez kódu prostřednictvím ARM, zabalíte tyto části do šablony ARM pro datové konektory.

Prohlédněte si další datové konektory ústřední protistrany jako příklady nebo si stáhněte ukázku šablony Data Připojeníor_API_CCP_template.json (Preview).< a1/>.

Konfigurace uživatelského rozhraní konektoru

Tato část popisuje možnosti konfigurace, které jsou k dispozici pro přizpůsobení uživatelského rozhraní stránky datového konektoru.

Následující obrázek znázorňuje ukázkovou stránku datového konektoru se zvýrazněnou čísly, která odpovídají oblastem uživatelského rozhraní:

Screenshot of a sample data connector page.

  1. Název. Název zobrazený pro datový konektor.
  2. Logo. Ikona zobrazená pro datový konektor Přizpůsobení je možné pouze při nasazování v rámci řešení.
  3. Stav: Určuje, jestli je datový konektor připojený k Microsoft Sentinelu nebo ne.
  4. Datové grafy Zobrazí relevantní dotazy a množství přijatých dat za poslední dva týdny.
  5. Karta Pokyny Obsahuje část Požadavky se seznamem minimálních ověření, než uživatel může konektor povolit, a pokyny, aby provedl povolení konektoru uživatelem. Tato část může zahrnovat text, tlačítka, formuláře, tabulky a další běžné widgety, které zjednoduší proces.
  6. Karta Další kroky Obsahuje užitečné informace pro pochopení, jak najít data v protokolech událostí, jako jsou ukázkové dotazy.

Tady jsou connectorUiConfig oddíly a syntaxe potřebné ke konfiguraci uživatelského rozhraní:

Název vlastnosti Type Popis
dostupnosti {
"status": 1,
"isPreview": Boolean
}

stav: 1 Označuje, že konektor je obecně dostupný zákazníkům.
isPreview Označuje, zda zahrnout (Preview) příponu názvu konektoru.
connectivityCriteria {
"type": SentinelKindsV2,
"value": APIPolling
}
Objekt, který definuje, jak ověřit, jestli je konektor správně definovaný. Použijte zde uvedené hodnoty.
datové typy dataTypes[] Seznam všech datových typů konektoru a dotaz pro načtení času poslední události pro každý datový typ.
descriptionMarkdown String Popis konektoru s možností přidat jazyk Markdown, který ho vylepšuje.
GraphQueries graphQueries[] Dotazy, které představují příjem dat za poslední dva týdny v podokně Datové grafy

Zadejte jeden dotaz pro všechny datové typy datového konektoru nebo jiný dotaz pro každý datový typ.
graphQueriesTableName String Definuje název tabulky Log Analytics, ze které se natahují data pro vaše dotazy.

Název tabulky může být libovolný řetězec, ale musí končit ._CL Příklad: TableName_CL
instructionsSteps instructionSteps[] Pole částí widgetu, které vysvětlují, jak nainstalovat konektor, se zobrazí na kartě Pokyny .
metadata metadata Metadata zobrazená pod popisem konektoru.
permissions oprávnění[] Informace zobrazené v části Požadavky uživatelského rozhraní, ve kterém jsou uvedena oprávnění požadovaná k povolení nebo zakázání konektoru.
Vydavatel String Toto je text zobrazený v části Poskytovatel .
sampleQueries sampleQueries[] Ukázkové dotazy pro zákazníka, abyste pochopili, jak najít data v protokolu událostí, které se mají zobrazit na kartě Další kroky .
title String Nadpis zobrazený na stránce datového konektoru

Dát všechny tyto kousky dohromady je složité. K otestování součástí, které jste sestavili, použijte nástroj pro ověření uživatelského prostředí stránky konektoru.

datové typy

Hodnota pole Typ Popis
Jméno String Smysluplný popis proměnnélastDataReceivedQuery, včetně podpory proměnné.

Příklad: {{graphQueriesTableName}}
lastDataReceivedQuery String Dotaz KQL, který vrátí jeden řádek, a označuje čas posledního přijetí dat nebo žádná data, pokud neexistují žádná relevantní data.

Příklad: {{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)

GraphQueries

Definuje dotaz, který zobrazuje příjem dat za poslední dva týdny v podokně Datové grafy .

Zadejte jeden dotaz pro všechny datové typy datového konektoru nebo jiný dotaz pro každý datový typ.

Hodnota pole Typ Popis
metricName String Smysluplný název grafu

Příklad: Total data received
Legenda String Řetězec, který se zobrazí v legendě napravo od grafu, včetně odkazu na proměnnou.

Příklad: {{graphQueriesTableName}}
baseQuery String Dotaz, který filtruje relevantní události, včetně odkazu na proměnnou.

Příklad: TableName_CL | where ProviderName == "myprovider" nebo {{graphQueriesTableName}}

instructionSteps

Tato část obsahuje parametry, které definují sadu pokynů, které se zobrazí na stránce datového konektoru v Microsoft Sentinelu.

Array – vlastnost Typ Popis
title String Nepovinné. Definuje název pro vaše pokyny.
Popis String Nepovinné. Definuje smysluplný popis pokynů.
innerSteps Pole Nepovinné. Definuje pole vnitřních kroků instrukce.
Pokyny Pole instrukcí Povinný: Definuje pole instrukcí konkrétního typu parametru.
bottomBorder Logická hodnota Nepovinné. Když truepřidá dolní okraj do oblasti instrukcí na stránce konektoru v Microsoft Sentinelu
isComingSoon Logická hodnota Nepovinné. Když truepřidáte na stránku konektoru v Microsoft Sentinelu nadpis Připravujeme

pokyny

Zobrazí skupinu instrukcí s různými možnostmi jako parametry a možností vnořit další pokyny Ve skupinách.

Parametr Vlastnost Pole Popis
Klíč rozhraní API Klíč rozhraní API Přidejte zástupné symboly do konfiguračního souboru JSON vašeho konektoru.
CopyableLabel CopyableLabel Zobrazuje textové pole s tlačítkem pro kopírování na konci. Po výběru tlačítka se hodnota pole zkopíruje.
InfoMessage InfoMessage Definuje vloženou informační zprávu.
InstructionStepsGroup InstructionStepsGroup Zobrazí skupinu instrukcí, volitelně rozbalené nebo sbalitelné, v samostatné části s pokyny.
InstallAgent InstallAgent Zobrazí odkaz na další části Azure, aby bylo možné splnit různé požadavky na instalaci.

Klíč rozhraní API

Můžete chtít vytvořit šablonu konfiguračního souboru JSON s parametry zástupných symbolů, opakovaně používat více konektorů nebo dokonce vytvořit konektor s daty, která aktuálně nemáte.

Chcete-li vytvořit zástupné parametry, definujte další pole pojmenované userRequestPlaceHoldersInput v části Pokyny konfiguračního souboru JSON PRO ÚSTŘEDNÍ PROTISTRANu pomocí následující syntaxe:

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

Parametr userRequestPlaceHoldersInput obsahuje následující atributy:

Name Typ Popis
DisplayText String Definuje zobrazovanou hodnotu textového pole, která se uživateli zobrazí při připojování.
RequestObjectKey String Definuje ID v části požadavku parametru pollingConfig a nahradí zástupnou hodnotu zadanou uživatelem.

Pokud tento atribut nepoužíváte, použijte tento PollingKeyPaths atribut.
PollingKeyPaths String Definuje pole objektů JsonPath , které směruje volání rozhraní API na libovolné místo v šabloně, aby nahradila zástupnou hodnotu hodnotou uživatele.

Příklad: "pollingKeyPaths":["$.request.queryParameters.test1"]

Pokud tento atribut nepoužíváte, použijte tento RequestObjectKey atribut.
PlaceHolderName String Definuje název zástupného parametru v souboru šablony JSON. Může to být libovolná jedinečná hodnota, například {{placeHolder}}.

CopyableLabel

Příklad:

Screenshot of a copy value button in a field.

Ukázkový kód:

{
    "parameters": {
        "fillWith": [
            "WorkspaceId",
            "PrimaryKey"
            ],
        "label": "Here are some values you'll need to proceed.",
        "value": "Workspace is {0} and PrimaryKey is {1}"
    },
    "type": "CopyableLabel"
}
Hodnota pole Typ Popis
fillWith VÝČTU Nepovinné. Pole proměnných prostředí sloužících k naplnění zástupného symbolu Oddělte více zástupných symbolů čárkami. Příklad: {0},{1}

Podporované hodnoty: workspaceId, workspaceName, primaryKey, MicrosoftAwsAccountsubscriptionId
Popisek String Definuje text pro popisek nad textovým polem.
value String Definuje hodnotu, která se má v textovém poli prezentovat, podporuje zástupné symboly.
Řádky Řádky Nepovinné. Definuje řádky v oblasti uživatelského rozhraní. Ve výchozím nastavení je nastavená hodnota 1.
wideLabel Logická hodnota Nepovinné. Určuje široký popisek dlouhých řetězců. Ve výchozím nastavení je nastavena hodnota false.

InfoMessage

Tady je příklad vložené informační zprávy:

Screenshot of an inline information message.

Naproti tomu následující obrázek ukazuje nelineovou informační zprávu:

Screenshot of a non-inline information message.

Hodnota pole Typ Popis
text String Definujte text, který se má zobrazit ve zprávě.
Viditelné Logická hodnota Určuje, zda je zpráva zobrazena.
Vložené Logická hodnota Určuje způsob zobrazení informační zprávy.

- true: (Doporučeno) Zobrazí informační zprávu vloženou v pokynech.
- false: Přidá modré pozadí.

InstructionStepsGroup

Tady je příklad rozbalitelné skupiny instrukcí:

Screenshot of an expandable, extra instruction group.

Hodnota pole Typ Popis
title String Definuje název kroku instrukce.
canCollapseAllSections Logická hodnota Nepovinné. Určuje, zda je oddíl sbalitelným akordeonem nebo ne.
noFxPadding Logická hodnota Nepovinné. Pokud truesníží odsazení výšky, aby se ušetřilo místo.
Rozšířené Logická hodnota Nepovinné. Pokud truese ve výchozím nastavení zobrazí jako rozbalené.

Podrobný příklad najdete v souboru JSON konfigurace konektoru DNS systému Windows.

InstallAgent

Některé typy InstallAgent se zobrazí jako tlačítko, jiné se zobrazí jako odkaz. Tady jsou příklady obou:

Screenshot of a link added as a button.

Screenshot of a link added as inline text.

Hodnoty pole Typ Popis
linkType VÝČTU Určuje typ propojení jako jednu z následujících hodnot:

InstallAgentOnWindowsVirtualMachine
InstallAgentOnWindowsNonAzure
InstallAgentOnLinuxVirtualMachine
InstallAgentOnLinuxNonAzure
OpenSyslogSettings
OpenCustomLogsSettings
OpenWaf
OpenAzureFirewall OpenMicrosoftAzureMonitoring
OpenFrontDoors
OpenCdnProfile
AutomaticDeploymentCEF
OpenAzureInformationProtection
OpenAzureActivityLog
OpenIotPricingModel
OpenPolicyAssignment
OpenAllAssignmentsBlade
OpenCreateDataCollectionRule
policyDefinitionGuid String Vyžaduje se při použití openPolicyAssignment linkType. Pro konektory založené na zásadách definuje identifikátor GUID předdefinované definice zásad.
assignMode VÝČTU Nepovinné. Pro konektory založené na zásadách definuje režim přiřazení jako jednu z následujících hodnot: Initiative, Policy
dataCollectionRuleType VÝČTU Nepovinné. U konektorů založených na DCR definuje typ pravidla shromažďování dat jako jeden z následujících způsobů: SecurityEventForwardEvent

metadata

Tato část obsahuje metadata v uživatelském rozhraní datového konektoru v oblasti Popis .

Hodnota kolekce Typ Popis
Druhu String Definuje typ šablony ARM, kterou vytváříte. Vždy používejte dataConnector.
source String Popisuje zdroj dat pomocí následující syntaxe:
{
"kind":Řetězec
"name":Řetězec
}
Autor String Popisuje autora datového konektoru pomocí následující syntaxe:
{
"name":Řetězec
}
Podporu String Popis podpory datového konektoru pomocí následující syntaxe:
{
"tier":Řetězec
"name":Řetězec
"email":Řetězec
"link":Řetězec adresy URL
}

oprávnění

Hodnota pole Typ Popis
Celní String Popisuje všechna vlastní oprávnění požadovaná pro vaše datové připojení v následující syntaxi:
{
"name":string,
"description":Řetězec
}

Příklad: Celní hodnota se zobrazí v části Požadavky služby Microsoft Sentinel s modrou informační ikonou. V příkladu GitHubu to koreluje s řádkovým klíčem osobního tokenu rozhraní API GitHubu: Potřebujete přístup k osobnímu tokenu GitHubu...
Licence VÝČTU Definuje požadované licence jako jednu z následujících hodnot: OfficeIRM,OfficeATP, Office365, AadP1P2, Mcas, Aatp, Mdatp, MtpIoT

Příklad: Hodnota licencí se zobrazí v Microsoft Sentinelu jako: Licence: Povinné Azure AD Premium P2
resourceProvider resourceProvider Popisuje všechny požadavky pro váš prostředek Azure.

Příklad: Hodnota resourceProvider se zobrazí v části Požadavky služby Microsoft Sentinel jako:
Pracovní prostor: Vyžaduje se oprávnění ke čtení a zápisu.
Klíče: Vyžaduje se oprávnění ke čtení sdílených klíčů pro pracovní prostor.
Nájemce pole hodnot ENUM
Příklad:

"tenant": [
"GlobalADmin",
"SecurityAdmin"
]
Definuje požadovaná oprávnění jako jednu nebo více následujících hodnot: "GlobalAdmin", "SecurityAdmin", , "SecurityReader""InformationProtection"

Příklad: Zobrazí hodnotu tenanta v Microsoft Sentinelu jako: Oprávnění tenanta: Vyžaduje Global Administrator nebo Security Administrator v tenantovi pracovního prostoru.

resourceProvider

hodnota dílčího pole Typ Popis
Zprostředkovatel VÝČTU Popisuje poskytovatele prostředků s jednou z následujících hodnot:
- Microsoft.OperationalInsights/workspaces
- Microsoft.OperationalInsights/solutions
- Microsoft.OperationalInsights/workspaces/datasources
- microsoft.aadiam/diagnosticSettings
- Microsoft.OperationalInsights/workspaces/sharedKeys
- Microsoft.Authorization/policyAssignments
providerDisplayName String Položka seznamu v části Požadavky , která zobrazí červenou nebo zelenou značku zaškrtnutí, když jsou požadovanéPermissions ověřeny na stránce konektoru. Příklad "Workspace"
permissionsDisplayText String Zobrazovaný text pro oprávnění ke čtení, zápisu nebo čtení a zápisu, která by měla odpovídat hodnotám nakonfigurovaným v requiredPermissions
requiredPermissions {
"action":Logická hodnota,
"delete":Logická hodnota,
"read":Logická hodnota,
"write":Boolean
}
Popisuje minimální oprávnění požadovaná pro konektor.
Rozsah VÝČTU Popisuje rozsah datového konektoru jako jednu z následujících hodnot: "Subscription", , "ResourceGroup""Workspace"

sampleQueries

maticová hodnota Typ Popis
Popis String Smysluplný popis ukázkového dotazu

Příklad: Top 10 vulnerabilities detected
query String Ukázkový dotaz použitý k načtení dat datového typu

Příklad: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10

Pokud chcete definovat vložený odkaz pomocí markdownu, použijte následující příklad. Tady je odkaz uvedený v popisu instrukce:

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

Pokud chcete definovat odkaz jako šablonu ARM, použijte jako vodítko následující příklad:

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

Ověření uživatelského prostředí stránky datového konektoru

Pokud chcete vykreslit a ověřit uživatelské prostředí konektoru, postupujte podle těchto kroků.

  1. K testovacímu nástroji má tato adresa URL přístup – https://aka.ms/sentineldataconnectorvalidateurl
  2. Přechod na Microsoft Sentinel –> data Připojení orů
  3. Klikněte na tlačítko Importovat a vyberte soubor JSON, který obsahuje connectorUiConfig jenom část datového konektoru.

Další informace o tomto ověřovacím nástroji najdete v pokynech k sestavení konektoru v našem průvodci sestavením GitHubu.

Poznámka:

Vzhledem k tomu, že parametr instrukce APIKey je specifický pro konektor bez kódu, dočasně odeberte tento oddíl, aby používal ověřovací nástroj, nebo selže.

Konfigurace nastavení dotazování konektoru

Tato část popisuje konfiguraci způsobu dotazování dat ze zdroje dat pro datový konektor bez kódu.

Následující kód ukazuje syntaxi pollingConfig oddílu konfiguračního souboru ÚSTŘEDNÍ PROTISTRANy.

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

Tato pollingConfig část obsahuje následující vlastnosti:

Name Typ Popis
Auth String Popisuje vlastnosti ověřování pro dotazování dat. Další informace najdete v tématu Konfigurace ověřování.
auth.authType String Povinné. Definuje typ ověřování, vnořený uvnitř objektuauth, jako jednu z následujících hodnot: Basic, , APIKeyOAuth2
Požadavek Vnořený JSON Povinné. Popisuje datovou část požadavku pro dotazování dat, jako je koncový bod rozhraní API. Další informace najdete v tématu Konfigurace požadavku.
Reakce Vnořený JSON Povinné. Popisuje objekt odpovědi a vnořenou zprávu vrácenou z rozhraní API při dotazování dat. Další informace najdete v tématu Konfigurace odpovědi.
Stránkování Vnořený JSON Nepovinné. Popisuje datovou část stránkování při dotazování dat. Další informace najdete v tématu Konfigurace stránkování.

Další informace naleznete v části Vzorový kód pollingConfig.

Konfigurace ověřování

Část authkonfigurace pollingConfig obsahuje následující parametry v závislosti na typu definovaném v elementu authType :

Základní parametry authType

Name Typ Popis
Uživatelské jméno String Povinné. Definuje uživatelské jméno.
Heslo String Povinné. Definuje uživatelské heslo.

Parametry apiKey authType

Name Typ Popis
APIKeyName String Nepovinné. Definuje název klíče rozhraní API jako jednu z následujících hodnot:

- XAuthToken
- Authorization
IsAPIKeyInPostPayload Logická hodnota Určuje, kde je definovaný klíč rozhraní API.

True: Klíč rozhraní API je definován v datové části požadavku POST.
False: Klíč rozhraní API je definovaný v hlavičce.
APIKeyIdentifier String Nepovinné. Definuje název identifikátoru pro klíč rozhraní API.

Například pokud je autorizace definována jako "Authorization": "token <secret>", tento parametr je definován jako: {APIKeyIdentifier: “token”})

Parametry OAuth2 authType

Platforma Připojení or bez kódu podporuje udělení autorizačního kódu OAuth 2.0.

Typ udělení autorizačního kódu používají důvěrní a veřejná klienti k výměně autorizačního kódu pro přístupový token.

Jakmile se uživatel vrátí klientovi přes adresu URL přesměrování, aplikace získá autorizační kód z adresy URL a použije ho k vyžádání přístupového tokenu.

Name Typ Popis
Název toku String Povinné. Definuje tok OAuth2.

Podporovaná hodnota: – vyžaduje tok autorizace. AuthCode
AccessToken String Nepovinné. Definuje přístupový token OAuth2, který je relevantní v případě, že nevyprší platnost přístupového tokenu.
AccessTokenPrepend String Nepovinné. Definuje předem připravený přístupový token OAuth2. Výchozí hodnota je Bearer.
RefreshToken String Povinné pro typy ověřování OAuth2. Definuje obnovovací token OAuth2.
TokenEndpoint String Povinné pro typy ověřování OAuth2. Definuje koncový bod služby tokenu OAuth2.
AuthorizationEndpoint String Nepovinné. Definuje koncový bod autorizační služby OAuth2. Používá se pouze při onboardingu nebo při obnovování obnovovacího tokenu.
RedirectionEndpoint String Nepovinné. Definuje koncový bod přesměrování během onboardingu.
AccessTokenExpirationDateTimeInUtc String Nepovinné. Definuje datum a čas vypršení platnosti přístupového tokenu ve formátu UTC. Relevantní pro případ, kdy platnost přístupového tokenu nevyprší, a proto má ve standardu UTC velký čas data a času, nebo pokud má přístupový token velké datum vypršení platnosti.
RefreshTokenExpirationDateTimeInUtc String Povinné pro typy ověřování OAuth2. Definuje datum a čas vypršení platnosti obnovovacího tokenu ve formátu UTC.
TokenEndpointHeaders Řetězec slovníku<, objekt> Nepovinné. Definuje hlavičky při volání koncového bodu služby tokenu OAuth2.

Definujte řetězec v serializovaném dictionary<string, string> formátu: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
AuthorizationEndpointHeaders Řetězec slovníku<, objekt> Nepovinné. Definuje hlavičky při volání koncového bodu autorizační služby OAuth2. Používá se pouze při onboardingu nebo při obnovování obnovovacího tokenu.

Definujte řetězec v serializovaném dictionary<string, object> formátu: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
AuthorizationEndpointQueryParameters Řetězec slovníku<, objekt> Nepovinné. Definuje parametry dotazu při volání koncového bodu autorizační služby OAuth2. Používá se pouze při onboardingu nebo při obnovování obnovovacího tokenu.

Definujte řetězec v serializovaném dictionary<string, object> formátu: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
TokenEndpointQueryParameters Řetězec slovníku<, objekt> Nepovinné. Definujte parametry dotazu při volání koncového bodu služby tokenu OAuth2.

Definujte řetězec v serializovaném dictionary<string, object> formátu: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
IsTokenEndpointPostPayloadJson Logická hodnota Volitelné, výchozí hodnota je false. Určuje, jestli jsou parametry dotazu ve formátu JSON a nastavené v datové části POST požadavku.
IsClientSecretInHeader Logická hodnota Volitelné, výchozí hodnota je false. Určuje, zda client_idclient_secret jsou hodnoty definovány v hlavičce, jak se provádí ve schématu základního ověřování místo v datové části POST.
RefreshTokenLifetimeinSecAttributeName String Nepovinné. Definuje název atributu z odpovědi koncového bodu tokenu a určuje životnost obnovovacího tokenu v sekundách.
IsJwtBearerFlow Logická hodnota Volitelné, výchozí hodnota je false. Určuje, jestli používáte JWT.
JwtHeaderInJson Řetězec slovníku<, objekt> Nepovinné. Definujte hlavičky JWT ve formátu JSON.

Definujte řetězec v serializovaném dictionary<string, object> formátu: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>...}
JwtClaimsInJson Řetězec slovníku<, objekt> Nepovinné. Definuje deklarace identity JWT ve formátu JSON.

Definujte řetězec v serializovaném dictionary<string, object> formátu: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ...}
JwtPem String Nepovinné. Definuje tajný klíč ve formátu PEM Pkcs1: '-----BEGIN RSA PRIVATE KEY-----\r\n{privatekey}\r\n-----END RSA PRIVATE KEY-----\r\n'

Ujistěte se, že '\r\n' je kód zavedený.
RequestTimeoutInSeconds Celé číslo Nepovinné. Určuje časový limit v sekundách při volání koncového bodu služby tokenu. Výchozí hodnota je 180 sekund.

Tady je příklad, jak může vypadat konfigurace OAuth2:

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

Parametry authType relace

Name Typ Popis
QueryParameters Řetězec slovníku<, objekt> Nepovinné. Seznam parametrů dotazu v serializovaném dictionary<string, string> formátu:

{'<attr_name>': '<val>', '<attr_name>': '<val>'... }
IsPostPayloadJson Logická hodnota Nepovinné. Určuje, zda jsou parametry dotazu ve formátu JSON.
Záhlaví Řetězec slovníku<, objekt> Nepovinné. Definuje hlavičku použitou při volání koncového bodu pro získání ID relace a při volání rozhraní API koncového bodu.

Definujte řetězec v serializovaném dictionary<string, string> formátu: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
SessionTimeoutInMinutes String Nepovinné. Definuje časový limit relace v minutách.
SessionIdName String Nepovinné. Definuje název ID relace.
SessionLoginRequestUri String Nepovinné. Definuje identifikátor URI žádosti o přihlášení relace.

Konfigurace požadavku

Část requestkonfigurace pollingConfig obsahuje následující parametry:

Name Typ Popis
apiEndpoint String Povinné. Definuje koncový bod, ze které se mají načíst data.
httpMethod String Povinné. Definuje metodu rozhraní API: GET nebo POST
queryTimeFormat String, UnixTimestamp nebo UnixTimestampInMills Povinné. Definuje formát použitý k definování času dotazu.

Tato hodnota může být řetězec nebo ve formátu UnixTimestamp nebo UnixTimestampInMills , který označuje počáteční a koncový čas dotazu v unixTimestamp.
startTimeAttributeName String Nepovinné. Definuje název atributu, který definuje čas spuštění dotazu.
endTimeAttributeName String Nepovinné. Definuje název atributu, který definuje koncový čas dotazu.
queryTimeIntervalAttributeName String Nepovinné. Definuje název atributu, který definuje časový interval dotazu.
queryTimeIntervalDelimiter String Nepovinné. Definuje oddělovač časového intervalu dotazu.
queryWindowInMin Celé číslo Nepovinné. Definuje dostupné okno dotazu v minutách.

Minimální hodnota: 5
queryParameters Řetězec slovníku<, objekt> Nepovinné. Definuje parametry předané v dotazu v cestě eventsJsonPaths .

Definujte řetězec v serializovaném dictionary<string, string> formátu: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }.
queryParametersTemplate String Nepovinné. Definuje šablonu parametrů dotazu, která se má použít při předávání parametrů dotazu v pokročilých scénářích.

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

{_QueryWindowStartTime}a {_QueryWindowEndTime} jsou podporovány pouze v parametrech queryParameters požadavku.queryParametersTemplate

{_APIKeyName} a {_APIKey} jsou podporovány pouze v parametru queryParametersTemplate požadavku.
isPostPayloadJson Logická hodnota Nepovinné. Určuje, jestli je datová část POST ve formátu JSON.
rateLimitQPS Hodnota s dvojitou přesností Nepovinné. Definuje počet volání nebo dotazů povolených za sekundu.
timeoutInSeconds Celé číslo Nepovinné. Definuje časový limit požadavku v sekundách.
retryCount Celé číslo Nepovinné. Definuje počet opakování požadavků, které se mají v případě potřeby vyzkoušet.
Záhlaví Řetězec slovníku<, objekt> Nepovinné. Definuje hodnotu hlavičky požadavku v serializovaném dictionary<string, object> formátu: {'<attr_name>': '<serialized val>', '<attr_name>': '<serialized val>'... }

Konfigurace odpovědi

Část responsekonfigurace pollingConfig obsahuje následující parametry:

Name Typ Popis
eventsJsonPaths Seznam řetězců Povinné. Definuje cestu ke zprávě ve formátu JSON odpovědi.

Výraz cesty JSON určuje cestu k elementu nebo sadě elementů ve struktuře JSON.
successStatusJsonPath String Nepovinné. Definuje cestu ke zprávě o úspěchu ve formátu JSON odpovědi.
successStatusValue String Nepovinné. Definuje cestu k hodnotě úspěšné zprávy ve formátu JSON odpovědi.
isGzipCompressed Logická hodnota Nepovinné. Určuje, zda je odpověď komprimována v souboru gzip.

Následující kód ukazuje příklad hodnoty eventsJsonPaths pro zprávu nejvyšší úrovně:

"eventsJsonPaths": [
              "$"
            ]

Konfigurace stránkování

Část pagingkonfigurace pollingConfig obsahuje následující parametry:

Name Typ Popis
pagingType String Povinné. Určuje typ stránkování, který se má použít ve výsledcích, jako jednu z následujících hodnot: None, LinkHeader, NextPageToken, NextPageUrlOffset
linkHeaderTokenJsonPath String Nepovinné. Definuje cestu JSON k záhlaví odkazu ve formátu JSON odpovědi, pokud LinkHeader není definovaná v hlavičce odpovědi.
nextPageTokenJsonPath String Nepovinné. Definuje cestu k json tokenu další stránky.
hasNextFlagJsonPath String Nepovinné. Definuje cestu k atributu příznaku HasNextPage .
nextPageTokenResponseHeader String Nepovinné. Definuje název záhlaví tokenu další stránky v odpovědi.
nextPageParaName String Nepovinné. Určuje název další stránky v požadavku.
nextPageRequestHeader String Nepovinné. Určuje název záhlaví další stránky v požadavku.
nextPageUrl String Nepovinné. Určuje adresu URL další stránky, pokud se liší od počáteční adresy URL požadavku.
nextPageUrlQueryParameters String Nepovinné. Určuje parametry dotazu adresy URL další stránky, pokud se liší od adresy URL počátečního požadavku.

Definujte řetězec v serializovaném dictionary<string, object> formátu: {'<attr_name>': <val>, '<attr_name>': <val>... }
offsetParaName String Nepovinné. Definuje název parametru posunu.
pageSizeParaName String Nepovinné. Definuje název parametru velikost stránky.
Pagesize Integer Definuje velikost stránkování.

Ukázkový kód pollingConfig

Následující kód ukazuje příklad pollingConfig části konfiguračního souboru ÚSTŘEDNÍ PROTISTRANy:

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

Nasazení konektoru v Microsoft Sentinelu a zahájení ingestování dat

Po vytvoření konfiguračního souboru JSON, včetně uživatelského rozhraní i konfigurace dotazování, nasaďte konektor do pracovního prostoru Microsoft Sentinelu.

  1. K nasazení datového konektoru použijte jednu z následujících možností.

    Tip

    Výhodou nasazení prostřednictvím šablony Azure Resource Manageru (ARM) je, že několik hodnot je předdefinovaných do šablony a nemusíte je definovat ručně při volání rozhraní API.

    Zabalte kolekce konfigurace JSON do šablony ARM pro nasazení konektoru. Abyste měli jistotu, že se datový konektor nasadí do správného pracovního prostoru, nezapomeňte buď definovat pracovní prostor v šabloně ARM, nebo vybrat pracovní prostor při nasazování šablony ARM.

    1. Připravte soubor JSON šablony ARM pro váš konektor. Podívejte se například na následující soubory JSON šablony ARM:

    2. Na webu Azure Portal vyhledejte nasazení vlastní šablony.

    3. Na stránce Vlastní nasazení vyberte v souboru načíst editor> vlastní šablonu. Přejděte do místní šablony ARM a vyberte ji a uložte změny.

    4. Vyberte své předplatné a skupinu prostředků a pak zadejte pracovní prostor služby Log Analytics, do kterého chcete nasadit vlastní konektor.

    5. Vyberte Zkontrolovat a vytvořit a nasaďte vlastní konektor do Microsoft Sentinelu.

    6. V Microsoft Sentinelu přejděte na stránku Datové konektory a vyhledejte nový konektor. Nakonfigurujte ji tak, aby začala ingestovat data.

    Další informace najdete v tématu Nasazení místní šablony v dokumentaci k Azure Resource Manageru.

  2. Nakonfigurujte datový konektor pro připojení zdroje dat a začněte ingestovat data do Microsoft Sentinelu. Ke zdroji dat se můžete připojit prostřednictvím portálu, stejně jako u předpojímených datových konektorů nebo přes rozhraní API.

    Když k připojení použijete Azure Portal, posílají se uživatelská data automaticky. Když se připojíte přes rozhraní API, budete muset ve volání rozhraní API odeslat relevantní parametry ověřování.

    Na stránce datového konektoru Microsoft Sentinel postupujte podle pokynů, které jste zadali pro připojení k datovému konektoru.

    Stránka datového konektoru v Microsoft Sentinelu je řízena konfigurací InstructionSteps v connectorUiConfig elementu konfiguračního souboru JSON PRO ÚSTŘEDNÍ PROTISTRANu. Pokud máte problémy s připojením k uživatelskému rozhraní, ujistěte se, že máte správnou konfiguraci pro váš typ ověřování.

  3. V Microsoft Sentinelu přejděte na stránku Protokoly a ověřte, že se protokoly ze zdroje dat zobrazují do vašeho pracovního prostoru.

Pokud nevidíte tok dat do Služby Microsoft Sentinel, zkontrolujte dokumentaci ke zdroji dat a prostředky pro řešení potíží, zkontrolujte podrobnosti o konfiguraci a zkontrolujte připojení. Další informace najdete v tématu Monitorování stavu datových konektorů.

Odpojení konektoru

Pokud už data konektoru nepotřebujete, odpojte konektor a zastavte tok dat.

Použijte jednu z následujících metod:

  • Azure Portal: Na stránce datového konektoru Microsoft Sentinelu vyberte Odpojit.

  • Rozhraní API: Pomocí rozhraní API DISCONNECT odešlete volání PUT s prázdným textem na následující adresu 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
    

Další kroky

Pokud jste to ještě neudělali, sdílejte nový datový konektor bez kódu s komunitou Microsoft Sentinelu. Vytvořte řešení pro datový konektor a sdílejte ho na Webu Microsoft Sentinel Marketplace.

Další informace viz