Udostępnij przez


[Przestarzałe] Tworzenie starszego łącznika bez kodu dla usługi Microsoft Sentinel

Ważne

Zbieranie dzienników z wielu aplikacji i urządzeń jest teraz obsługiwane przez Common Event Format (CEF) za pośrednictwem AMA, Syslog za pośrednictwem AMA lub dzienników niestandardowych za pośrednictwem łącznika danych AMA w usłudze Microsoft Sentinel. Aby uzyskać więcej informacji, zobacz Znajdowanie łącznika danych usługi Microsoft Sentinel.

Ważne

Istnieje nowsza wersja platformy łączników bez kodu (KPCH). Aby uzyskać więcej informacji na temat nowego interfejsu KPCH, zobacz Tworzenie łącznika bez kodu (wersja zapoznawcza).

Zapoznaj się z tym dokumentem, jeśli musisz zachować lub zaktualizować łącznik danych w oparciu o starszą wersję.

CCP zapewnia partnerom, zaawansowanym użytkownikom i deweloperom możliwość tworzenia łączników niestandardowych, łączenia ich i pozyskiwania danych do Microsoft Sentinel. Łączniki utworzone za pośrednictwem CCP mogą być wdrażane za pomocą interfejsu API, szablonu ARM lub jako rozwiązanie w centrum zawartości Microsoft Sentinel.

Łączniki utworzone przy użyciu protokołu KPS są w pełni SaaS, bez żadnych wymagań dotyczących instalacji usług, a także obejmują monitorowanie kondycji i pełną obsługę usługi Microsoft Sentinel.

Utwórz łącznik danych, definiując konfiguracje JSON, które zawierają ustawienia dotyczące wyglądu strony łącznika danych w usłudze Microsoft Sentinel, oraz ustawienia odpytania, które określają sposób działania połączenia.

Ważne

Ta wersja platformy łącznika bez kodu (KPCH) jest dostępna w wersji zapoznawczej, ale jest również uważana za starszą. Dodatkowe postanowienia dotyczące wersji zapoznawczej platformy Azure obejmują dodatkowe postanowienia prawne dotyczące funkcji platformy Azure, które są dostępne w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej.

Wykonaj następujące kroki, aby utworzyć łącznik CCP i połączyć się ze źródłem danych w Microsoft Sentinel:

  • Konfigurowanie interfejsu użytkownika łącznika
  • Skonfiguruj ustawienia sondowania łącznika
  • Wdróż łącznik do obszaru roboczego Microsoft Sentinel
  • Połącz Microsoft Sentinel ze źródłem danych i rozpocznij pozyskiwanie danych.

W tym artykule opisano składnię używaną w konfiguracjach CCP JSON oraz procedurach wdrożenia łącznika za pośrednictwem interfejsu API, szablonu ARM lub rozwiązania Microsoft Sentinel.

Wymagania wstępne

Przed utworzeniem łącznika zalecamy zapoznanie się z zachowaniem źródła danych i dokładnie tym, jak usługa Microsoft Sentinel będzie musiała nawiązać połączenie.

Na przykład musisz znać typy uwierzytelniania, stronicowania i punktów końcowych interfejsu API, które są wymagane do pomyślnego nawiązania połączeń.

Tworzenie pliku konfiguracji JSON łącznika

Twój niestandardowy łącznik CCP zawiera dwie podstawowe sekcje JSON potrzebne do wdrożenia. Wypełnij te obszary, aby zdefiniować sposób wyświetlania łącznika w witrynie Azure Portal i sposobu łączenia usługi Microsoft Sentinel ze źródłem danych.

Następnie, jeśli wdrożysz łącznik bez kodu za pośrednictwem usługi ARM, opakujesz te sekcje w szablonie usługi ARM dla łączników danych.

Przejrzyj inne łączniki danych CCP jako przykłady lub pobierz przykładowy szablon, DataConnector_API_CCP_template.json (wersja pokazowa).

Konfigurowanie interfejsu użytkownika łącznika

W tej sekcji opisano opcje konfiguracji dostępne do dostosowania interfejsu użytkownika strony łącznika danych.

Na poniższej ilustracji przedstawiono stronę przykładowego łącznika danych wyróżnioną numerami odpowiadającymi godnym uwagi obszarom interfejsu użytkownika:

Zrzut ekranu przedstawiający stronę przykładowego łącznika danych.

  1. Tytuł. Tytuł wyświetlany dla twojego łącznika danych.
  2. Logo. Ikona wyświetlana dla łącznika danych. Dostosowanie tego jest możliwe tylko w przypadku wdrażania jako część rozwiązania.
  3. Stan. Wskazuje, czy łącznik danych jest połączony z usługą Microsoft Sentinel.
  4. Wykresy danych. Wyświetla odpowiednie zapytania i ilość pozyskanych danych w ciągu ostatnich dwóch tygodni.
  5. Karta Instrukcje. Zawiera sekcję Wymagania wstępne z listą minimalnych weryfikacji, zanim użytkownik będzie mógł włączyć łącznik i instrukcje, aby kierować włączaniem łącznika przez użytkownika. Ta sekcja może zawierać tekst, przyciski, formularze, tabele i inne typowe widżety, aby uprościć proces.
  6. Karta Następne kroki. Zawiera przydatne informacje dotyczące znajdowania danych w dziennikach zdarzeń, takich jak przykładowe zapytania.

Poniżej przedstawiono connectorUiConfig sekcje i składnię wymaganą do skonfigurowania interfejsu użytkownika:

Nazwa właściwości Typ Opis
dostępność {
"status": 1,
"isPreview": Boolean
}

stan: 1 Wskazuje, że łącznik jest ogólnie dostępny dla klientów.
isPreview Wskazuje, czy do nazwy łącznika ma być dołączony sufiks „(Preview)”.
kryteria łączności {
"type": SentinelKindsV2,
"value": APIPolling
}
Obiekt, który definiuje sposób sprawdzania, czy łącznik jest poprawnie zdefiniowany. Użyj wartości wskazanych tutaj.
dataTypes dataTypes[] Lista wszystkich typów danych dla łącznika oraz zapytanie służące do pobierania czasu ostatniego zdarzenia dla każdego typu danych.
descriptionMarkdown Sznurek Opis łącznika z możliwością dodawania języka markdown w celu jego ulepszenia.
graphQueries graphQueries[] Zapytania przedstawiające pozyskiwanie danych w ciągu ostatnich dwóch tygodni w okienku Wykresy danych .

Podaj jedno zapytanie dla wszystkich typów danych łącznika danych lub inne zapytanie dla każdego typu danych.
graphQueriesTableName Sznurek Definiuje nazwę tabeli usługi Log Analytics, z której są pobierane dane dla zapytań.

Nazwa tabeli może być dowolnym ciągiem, ale musi kończyć się ciągiem _CL. Przykład: TableName_CL
instrukcjeKroki instrukcja_kroki[] Tablica części widżetów wyjaśniających sposób instalowania łącznika wyświetlana na karcie Instrukcje .
metadane metadane Metadane wyświetlane w opisie łącznika.
Uprawnienia uprawnienia[] Informacje wyświetlane w sekcji Wymagania wstępne interfejsu użytkownika zawierające listę uprawnień wymaganych do włączenia lub wyłączenia łącznika.
wydawca Sznurek Jest to tekst wyświetlany w sekcji Dostawca .
sampleQueries sampleQueries[] Przykładowe zapytania dla klienta, aby zrozumieć, jak znaleźć dane w dzienniku zdarzeń, które mają być wyświetlane na karcie Następne kroki .
tytuł Sznurek Tytuł wyświetlany na stronie łącznika danych.

Łączenie wszystkich tych elementów jest skomplikowane. Użyj narzędzia do weryfikacji doświadczenia użytkownika strony z łącznikiem, aby przetestować składniki, które złożyłeś.

typy danych

Wartość tablicy Typ Opis
nazwa Sznurek Znaczący opis dlalastDataReceivedQuery, w tym wsparcie dla zmiennej.

Przykład: {{graphQueriesTableName}}
lastDataReceivedQuery Sznurek Zapytanie KQL zwracające jeden wiersz i wskazujące ostatni raz dane odebrane lub brak danych, jeśli nie ma odpowiednich danych.

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

graphQueries

Definiuje zapytanie, które przedstawia pozyskiwanie danych w ciągu ostatnich dwóch tygodni w okienku Wykresy danych .

Podaj jedno zapytanie dla wszystkich typów danych łącznika danych lub inne zapytanie dla każdego typu danych.

Wartość tablicy Typ Opis
metricName Sznurek Zrozumiała nazwa grafu.

Przykład: Total data received
legenda Sznurek Ciąg wyświetlany w legendzie po prawej stronie wykresu, w tym odwołanie do zmiennej.

Przykład: {{graphQueriesTableName}}
baseQuery Sznurek Zapytanie, które filtruje odpowiednie zdarzenia, zawierające odniesienie do zmiennej.

Przykład: TableName_CL | where ProviderName == "myprovider" lub {{graphQueriesTableName}}

kroki instrukcji

Ta sekcja zawiera parametry definiujące zestaw instrukcji wyświetlanych na stronie łącznika danych w usłudze Microsoft Sentinel.

Właściwość tablicy Typ Opis
tytuł Sznurek Opcjonalny. Definiuje tytuł instrukcji.
opis Sznurek Opcjonalny. Definiuje zrozumiały opis instrukcji.
innerSteps Tablica Opcjonalny. Definiuje tablicę kroków instrukcji wewnętrznych.
instrukcje Tablica instrukcji To jest wymagane. Definiuje tablicę instrukcji określonego typu parametru.
bottomBorder Boolean Opcjonalny. Gdy true, dodaje dolne obramowanie do obszaru instrukcji na stronie łącznika w usłudze Microsoft Sentinel
isComingSoon Boolean Opcjonalny. Kiedy true dodaje tytuł Coming soon na stronie łącznika w usłudze Microsoft Sentinel

instrukcje

Przedstawia grupę instrukcji z różnymi opcjami jako parametrami oraz możliwością zagnieżdżania większej liczby kroków instrukcji w grupach.

Parametr Właściwość Array Opis
ApiKey ApiKey Dodaj symbole zastępcze do pliku konfiguracji JSON łącznika.
Etykieta do kopiowania Etykieta do kopiowania Pokazuje pole tekstowe z przyciskiem kopiowania na końcu. Po wybraniu przycisku wartość pola zostanie skopiowana.
InfoMessage InfoMessage Definiuje wbudowany komunikat informacyjny.
GrupaKrokówInstrukcji InstrukcjaStepsGroup Przedstawia grupę instrukcji, opcjonalnie rozwiniętych lub zwijanych, w oddzielnej sekcji instrukcji.
InstallAgent InstallAgent Wyświetla link do innych części platformy Azure w celu spełnienia różnych wymagań dotyczących instalacji.

ApiKey

Możesz utworzyć szablon pliku konfiguracji JSON z parametrami zastępczymi, aby ponownie użyć wielu łączników, a nawet utworzyć łącznik z danymi, które nie są obecnie dostępne.

Aby utworzyć parametry zastępcze, zdefiniuj dodatkową tablicę o nazwie userRequestPlaceHoldersInput w sekcji Instrukcje w pliku CCP JSON, przy użyciu następującej składni:

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

Parametr userRequestPlaceHoldersInput zawiera następujące atrybuty:

Nazwa Typ Opis
Tekst wyświetlany Sznurek Definiuje wartość wyświetlaną pola tekstowego, która jest wyświetlana użytkownikowi podczas nawiązywania połączenia.
RequestObjectKey Sznurek Definiuje identyfikator w sekcji żądania w pliku pollingConfig , aby zastąpić wartość symbolu zastępczego wartością podaną przez użytkownika.

Jeśli nie używasz tego atrybutu, użyj tego atrybutu PollingKeyPaths .
PollingKeyPaths Sznurek Definiuje tablicę obiektów JsonPath , która kieruje wywołanie interfejsu API do dowolnego miejsca w szablonie, aby zastąpić wartość symbolu zastępczego wartością użytkownika.

Przykład:"pollingKeyPaths":["$.request.queryParameters.test1"]

Jeśli nie używasz tego atrybutu, użyj tego atrybutu RequestObjectKey .
Nazwa symbolu zastępczego Sznurek Definiuje nazwę parametru zastępczego w pliku szablonu JSON. Może to być dowolna unikatowa wartość, taka jak {{placeHolder}}.

Etykieta kopiowalna

Przykład:

Zrzut ekranu przedstawiający przycisk kopiowania wartości w polu.

przykładowy kod:

{
    "parameters": {
        "fillWith": [
            "WorkspaceId",
            "PrimaryKey"
            ],
        "label": "Here are some values you'll need to proceed.",
        "value": "Workspace is {0} and PrimaryKey is {1}"
    },
    "type": "CopyableLabel"
}
Wartość tablicy Typ Opis
wypełnij ENUM Opcjonalny. Tablica zmiennych środowiskowych używanych do wypełnienia miejsca zastępczego. Rozdziel wiele elementów zastępczych przecinkami. Przykład: {0},{1}

Obsługiwane wartości: workspaceId, , primaryKeyworkspaceName, , MicrosoftAwsAccountsubscriptionId
label Sznurek Definiuje tekst etykiety powyżej pola tekstowego.
wartość Sznurek Definiuje wartość, która ma być obecna w polu tekstowym, obsługuje symbole zastępcze.
Wiersze Wiersze Opcjonalny. Definiuje wiersze w obszarze interfejsu użytkownika. Domyślnie ustaw wartość 1.
wideLabel Boolean Opcjonalny. Określa szeroką etykietę dla długich ciągów. Domyślnie ustaw wartość false.

InfoMessage

Oto przykład komunikatu informacyjnego wbudowanego:

Zrzut ekranu przedstawiający wbudowany komunikat informacyjny.

Z kolei na poniższej ilustracji przedstawiono komunikat o informacjach nieliniowych:

Zrzut ekranu przedstawiający komunikat informacyjny nie-w linii.

Wartość tablicy Typ Opis
tekst Sznurek Zdefiniuj tekst do wyświetlenia w wiadomości.
widoczny Boolean Określa, czy komunikat jest wyświetlany.
w wierszu Boolean Określa sposób wyświetlania komunikatu informacyjnego.

- true: (Zalecane) Wyświetla komunikat informacyjny osadzony w instrukcjach.
- false: Dodaje niebieskie tło.

GrupaKrokówInstrukcji

Oto przykład rozszerzalnej grupy instrukcji:

Zrzut ekranu przedstawiający rozwijaną, dodatkową grupę instrukcji.

Wartość tablicy Typ Opis
tytuł Sznurek Definiuje tytuł kroku instrukcji.
canCollapseAllSections Boolean Opcjonalny. Określa, czy sekcja ma formę zwijanego akordeonu.
noFxPadding Boolean Opcjonalny. Jeśli true, zmniejsza wyściółkę wysokości, aby zaoszczędzić miejsce.
Rozszerzony Boolean Opcjonalny. Jeśli true jest wyświetlane jako rozwinięte domyślnie.

Aby uzyskać szczegółowy przykład, zobacz konfigurację JSON łącznika DNS systemu Windows.

InstallAgent

Niektóre typy InstallAgent są wyświetlane jako przycisk, inne będą wyświetlane jako link. Oto przykłady obu tych elementów:

Zrzut ekranu przedstawiający link dodany jako przycisk.

Zrzut ekranu przedstawiający link dodany jako tekst wbudowany.

Wartości tablicy Typ Opis
linkType ENUM Określa typ łącza jako jedną z następujących wartości:

InstallAgentOnWindowsVirtualMachine
InstallAgentOnWindowsNonAzure
InstallAgentOnLinuxVirtualMachine
InstallAgentOnLinuxNonAzure
OpenSyslogSettings
OpenCustomLogsSettings
OpenWaf
OpenAzureFirewall OpenMicrosoftAzureMonitoring
OpenFrontDoors
OpenCdnProfile
AutomaticDeploymentCEF
OpenAzureInformationProtection
OpenAzureActivityLog
OpenIotPricingModel
OpenPolicyAssignment
OpenAllAssignmentsBlade
OpenCreateDataCollectionRule
policyDefinitionGuid Sznurek Wymagane w przypadku używania typu łącza OpenPolicyAssignment. Dla łączników opartych na zasadach definiuje identyfikator GUID wbudowanej definicji polityki.
assignMode ENUM Opcjonalny. W przypadku łączników opartych na zasadach definiuje tryb przypisywania jako jedną z następujących wartości: Initiative, Policy
typRegułyZbieraniaDanych ENUM Opcjonalny. W przypadku łączników opartych na kontrolerze domeny definiuje typ reguły zbierania danych jako jeden z następujących: SecurityEvent, ForwardEvent

metadane

Ta sekcja zawiera metadane w interfejsie użytkownika łącznika danych w obszarze Opis .

Wartość kolekcji Typ Opis
rodzaj Sznurek Definiuje rodzaj szablonu ARM, który tworzysz. Zawsze używaj dataConnector.
źródłowej Sznurek Opisuje źródło danych przy użyciu następującej składni:
{
"kind":struna
"name":struna
}
autor Sznurek Opisuje autora łącznika danych przy użyciu następującej składni:
{
"name":struna
}
wsparcie Sznurek Opisz obsługę łącznika danych przy użyciu następującej składni:
{
"tier":struna
"name":struna
"email":struna
"link":Ciąg adresu URL
}

Uprawnienia

Wartość tablicy Typ Opis
urząd celny Sznurek Opisuje wszelkie uprawnienia niestandardowe wymagane dla połączenia danych w następującej składni:
{
"name":ciąg,
"description":struna
}

Przykład: wartość celna jest wyświetlana w sekcji Wymagania wstępne usługi Microsoft Sentinel z niebieską ikoną informacyjną. W przykładzie usługi GitHub jest to skorelowane z wierszem Klucz osobistego tokenu interfejsu API usługi GitHub: potrzebujesz dostępu do osobistego tokenu usługi GitHub...
licenses ENUM Definiuje wymagane licencje jako jedną z następujących wartości: OfficeIRM,OfficeATP, Office365, AadP1P2AatpMcasMdatp, , , , MtpIoT

Przykład: wartość licencji jest wyświetlana w usłudze Microsoft Sentinel jako : Licencja: Wymagana usługa Azure AD — wersja Premium P2
resourceProvider resourceProvider Opisuje wszelkie wymagania wstępne dotyczące zasobu platformy Azure.

Przykład: wartość resourceProvider jest wyświetlana w sekcji Wymagania wstępne usługi Microsoft Sentinel jako:
Obszar roboczy: wymagane jest uprawnienie do odczytu i zapisu.
Klucze: wymagane są uprawnienia do odczytu kluczy udostępnionych dla obszaru roboczego.
najemca tablica wartości ENUM
Przykład:

"tenant": [
"GlobalADmin",
"SecurityAdmin"
]
Definiuje wymagane uprawnienia jako co najmniej jedną z następujących wartości: "GlobalAdmin", , "SecurityAdmin", "SecurityReader""InformationProtection"

Przykład: wyświetla wartość dzierżawy w Microsoft Sentinel jako: Uprawnienia dzierżawy: Wymagane Global Administrator lub Security Administrator dla dzierżawy obszaru roboczego

dostawca zasobów

wartość podtablicy Typ Opis
dostawca ENUM Opisuje dostawcę zasobów z jedną z następujących wartości:
- Microsoft.OperationalInsights/workspaces
- Microsoft.OperationalInsights/solutions
- Microsoft.OperationalInsights/workspaces/datasources
- microsoft.aadiam/diagnosticSettings
- Microsoft.OperationalInsights/workspaces/sharedKeys
- Microsoft.Authorization/policyAssignments
providerDisplayName Sznurek Element listy w obszarze Wymagania wstępne, który będzie wyświetlać czerwony "x" lub zielony znacznik po zweryfikowaniu wymaganych uprawnień na stronie łącznika. Przykład "Workspace"
tekstUprawnieńDoWyświetlenia Sznurek Wyświetlanie tekstu dla uprawnień do odczytu, zapisu lub odczytu i zapisu , które powinny odpowiadać wartościom skonfigurowanym w wymaganychpermisjach
requiredPermissions {
"action":Boolean,
"delete":Bool,
"read":Boolean,
"write":Boolean
}
Opisuje minimalne uprawnienia wymagane dla łącznika.
zakres ENUM Opisuje zakres łącznika danych jako jedną z następujących wartości: "Subscription", , "ResourceGroup""Workspace"

przykładoweZapytania

wartość tablicy Typ Opis
opis Sznurek Opis opisowy przykładowego zapytania.

Przykład: Top 10 vulnerabilities detected
zapytanie Sznurek Przykładowe zapytanie używane do pobierania danych określonego typu.

Przykład: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10

Aby zdefiniować link wbudowany przy użyciu języka Markdown, użyj poniższego przykładu. Tutaj link znajduje się w opisie instrukcji:

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

Aby zdefiniować link jako szablon ARM, użyj poniższego przykładu jako wskazówki:

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

Weryfikowanie doświadczenia użytkownika strony łącznika danych

Wykonaj następujące kroki, aby wygenerować i zweryfikować doświadczenie użytkownika łącznika.

  1. Dostęp do narzędzia testowego można uzyskać pod tym adresem URL — https://aka.ms/sentineldataconnectorvalidateurl
  2. Przejdź do usługi Microsoft Sentinel —> łączniki danych
  3. Kliknij przycisk "importuj" i wybierz plik JSON, który zawiera tylko sekcję connectorUiConfig twojego łącznika danych.

Aby uzyskać więcej informacji na temat tego narzędzia do walidacji, zobacz Instrukcje dotyczące tworzenia łącznika w naszym przewodniku kompilacji usługi GitHub.

Uwaga / Notatka

Ponieważ parametr instrukcji APIKey jest specyficzny dla łącznika bez kodu, tymczasowo usuń tę sekcję, aby użyć narzędzia sprawdzania poprawności lub zakończy się niepowodzeniem.

Skonfiguruj ustawienia odpytywania łącznika

W tej sekcji opisano konfigurację sposobu sondowania danych ze źródła danych dla łącznika danych bez kodu.

Poniższy kod przedstawia składnię pollingConfig sekcji pliku konfiguracji CCP.

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

Sekcja pollingConfig zawiera następujące właściwości:

Nazwa Typ Opis
Auth Sznurek Opisuje właściwości uwierzytelniania do odpytywania danych. Aby uzyskać więcej informacji, zobacz Konfiguracja uwierzytelniania.
auth.authType Sznurek Obowiązkowy. Definiuje typ uwierzytelniania, zagnieżdżony wewnątrz obiektu auth, jako jedną z następujących wartości: Basic, APIKey, OAuth2
prośba Zagnieżdżony kod JSON Obowiązkowy. Opisuje ładunek żądania do ankietowania danych, na przykład punkt końcowy interfejsu API. Aby uzyskać więcej informacji, zobacz konfiguracja żądania.
odpowiedź Zagnieżdżony kod JSON Obowiązkowy. Opisuje obiekt odpowiedzi i zagnieżdżony komunikat zwracany przez interfejs API podczas sondowania danych. Aby uzyskać więcej informacji, zobacz konfiguracja odpowiedzi.
stronicowanie Zagnieżdżony kod JSON Opcjonalny. Opisuje ładunek stronicowania podczas sondowania danych. Aby uzyskać więcej informacji, zobacz Konfiguracja stronicowania.

Aby uzyskać więcej informacji, zobacz Przykładowy kod pollingConfig.

Konfiguracja uwierzytelniania

Sekcja auth konfiguracji pollingConfig zawiera następujące parametry, w zależności od typu zdefiniowanego w elemecie authType :

Podstawowe parametry authType

Nazwa Typ Opis
Nazwa użytkownika Sznurek Obowiązkowy. Definiuje nazwę użytkownika.
Hasło Sznurek Obowiązkowy. Definiuje hasło użytkownika.

Parametry typu uwierzytelniania klucza API

Nazwa Typ Opis
APIKeyName Sznurek Opcjonalny. Definiuje nazwę klucza interfejsu API jako jedną z następujących wartości:

- XAuthToken
- Authorization
IsAPIKeyInPostPayload Boolean Określa, gdzie jest zdefiniowany klucz interfejsu API.

Prawda: klucz interfejsu API jest zdefiniowany w ładunku żądania POST
Fałsz: Klucz API zdefiniowany jest w nagłówku
APIKeyIdentifier Sznurek Opcjonalny. Definiuje nazwę identyfikatora klucza interfejsu API.

Na przykład gdzie autoryzacja jest zdefiniowana jako "Authorization": "token <secret>", ten parametr jest zdefiniowany jako: {APIKeyIdentifier: “token”})

Parametry typu autoryzacji OAuth2

Platforma łącznika bez kodu obsługuje udzielanie kodu autoryzacji OAuth 2.0.

Typ udzielania kodu autoryzacji jest używany przez poufnych i publicznych klientów do wymiany kodu autoryzacji dla tokenu dostępu.

Po powrocie użytkownika do klienta za pośrednictwem adresu URL przekierowania aplikacja pobierze kod autoryzacji z adresu URL i użyje go do żądania tokenu dostępu.

Nazwa Typ Opis
Nazwa przepływu Sznurek Obowiązkowy. Definiuje przepływ OAuth2.

Obsługiwana wartość: AuthCode — wymaga przepływu autoryzacji
AccessToken Sznurek Opcjonalny. Definiuje token dostępu OAuth2, który ma zastosowanie, gdy token dostępu nie wygaśnie.
AccessTokenPrepend Sznurek Opcjonalny. Definiuje prepend tokenu dostępu OAuth2. Wartość domyślna to Bearer.
RefreshToken Sznurek Obowiązkowe dla typów uwierzytelniania OAuth2. Określa token odświeżania OAuth2.
TokenEndpoint Sznurek Obowiązkowe dla typów uwierzytelniania OAuth2. Definiuje punkt końcowy usługi tokenu OAuth2.
Punkt autoryzacji Sznurek Opcjonalny. Definiuje punkt końcowy usługi autoryzacji OAuth2. Używane tylko podczas wprowadzania lub podczas odnawiania tokenu odświeżania.
Punkt końcowy przekierowania Sznurek Opcjonalny. Definiuje punkt końcowy przekierowania podczas wdrażania.
AccessTokenExpirationDateTimeInUtc Sznurek Opcjonalny. Definiuje data/godzina wygaśnięcia tokenu dostępu w formacie UTC. Istotne w przypadku, gdy token dostępu nie wygaśnie, a zatem ma dużą datę/godzinę w formacie UTC lub gdy token dostępu ma dużą datę/godzinę wygaśnięcia.
RefreshTokenExpirationDateTimeInUtc Sznurek Obowiązkowe dla typów uwierzytelniania OAuth2. Definiuje data/godzina wygaśnięcia tokenu odświeżania w formacie UTC.
TokenEndpointHeaders Ciąg słownika<, obiekt> Opcjonalny. Definiuje nagłówki podczas wywoływania punktu dostępowego usługi tokenu OAuth2.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, string> : {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
AuthorizationEndpointHeaders Słownik<string, object> Opcjonalny. Definiuje nagłówki podczas wywoływania punktu końcowego usługi autoryzacji OAuth2. Używane tylko podczas wdrażania lub podczas odnawiania tokenu odświeżania.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, object> : {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
Parametry zapytania punktu końcowego autoryzacji Słownik<string, object> Opcjonalny. Definiuje parametry zapytania podczas wywoływania punktu końcowego usługi autoryzacji OAuth2. Używane tylko podczas procedury wdrażania lub odnawiania tokenu do odświeżania.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, object> : {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
TokenEndpointQueryParameters Ciąg słownika<, obiekt> Opcjonalny. Zdefiniuj parametry zapytania podczas wywoływania punktu końcowego usługi tokenu OAuth2.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, object> : {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
IsTokenEndpointPostPayloadJson Boolean Opcjonalnie wartość domyślna to false. Określa, czy parametry zapytania są w formacie JSON i ustawiane w ładunku POST żądania.
IsClientSecretInHeader Boolean Opcjonalnie wartość domyślna to false. Określa, czy client_id wartości i client_secret są zdefiniowane w nagłówku, podobnie jak w schemacie uwierzytelniania podstawowego, zamiast w ładunku POST.
RefreshTokenLifetimeinSecAttributeName Sznurek Opcjonalny. Definiuje nazwę atrybutu z odpowiedzi punktu końcowego tokenu, określając okres istnienia tokenu odświeżania w sekundach.
IsJwtBearerFlow Boolean Opcjonalnie wartość domyślna to false. Określa, czy używasz JWT.
JwtHeaderInJson Ciąg słownika<, obiekt> Opcjonalny. Zdefiniuj nagłówki JWT w formacie JSON.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, object> : {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>...}
JwtClaimsInJson Słownik<string, object> Opcjonalny. Definiuje oświadczenia JWT w formacie JSON.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, object> : {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ...}
JwtPem Sznurek Opcjonalny. Definiuje klucz tajny w formacie PEM PKcs1: '-----BEGIN RSA PRIVATE KEY-----\r\n{privatekey}\r\n-----END RSA PRIVATE KEY-----\r\n'

Pamiętaj, aby kod '\r\n' pozostał na swoim miejscu.
RequestTimeoutInSeconds Integer Opcjonalny. Określa limit czasu w sekundach podczas wywoływania punktu końcowego usługi tokenizacji. Wartość domyślna to 180 sekund

Oto przykład sposobu, w jaki konfiguracja protokołu OAuth2 może wyglądać:

"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 sesji

Nazwa Typ Opis
Parametry zapytań Słownik<string, object> Opcjonalny. Lista parametrów zapytania w formacie serializowanym dictionary<string, string> :

{'<attr_name>': '<val>', '<attr_name>': '<val>'... }
IsPostPayloadJson Boolean Opcjonalny. Określa, czy parametry zapytania są w formacie JSON.
nagłówków Ciąg słownika<, obiekt> Opcjonalny. Definiuje nagłówek używany podczas wywoływania punktu końcowego w celu pobrania identyfikatora sesji oraz podczas wywoływania interfejsu API punktu końcowego.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, string> : {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
SessionTimeoutInMinutes Sznurek Opcjonalny. Definiuje limit czasu sesji w minutach.
SessionIdName Sznurek Opcjonalny. Definiuje nazwę identyfikatora sesji.
SessionLoginRequestUri Sznurek Opcjonalny. Definiuje URI dla żądania logowania do sesji.

Konfiguracja żądania

Sekcja request konfiguracji pollingConfig zawiera następujące parametry:

Nazwa Typ Opis
apiEndpoint Sznurek Obowiązkowy. Definiuje punkt końcowy do ściągania danych.
httpMethod Sznurek Obowiązkowy. Definiuje metodę interfejsu API: GET lub POST
queryTimeFormat Łańcuch znaków lub UnixTimestamp lub UnixTimestampInMills Obowiązkowy. Definiuje format używany do definiowania czasu zapytania.

Ta wartość może być ciągiem lub w formacie UnixTimestamp lub UnixTimestampInMills , aby wskazać czas rozpoczęcia i zakończenia zapytania w pliku UnixTimestamp.
startTimeAttributeName Sznurek Opcjonalny. Definiuje nazwę atrybutu definiującego czas rozpoczęcia zapytania.
endTimeAttributeName Sznurek Opcjonalny. Definiuje nazwę atrybutu definiującego czas zakończenia zapytania.
queryTimeIntervalAttributeName Sznurek Opcjonalny. Definiuje nazwę atrybutu definiującego interwał czasu zapytania.
queryTimeIntervalDelimiter Sznurek Opcjonalny. Definiuje ogranicznik interwału czasu zapytania.
queryWindowInMin Integer Opcjonalny. Definiuje dostępne okno zapytania w minutach.

Wartość minimalna: 5
queryParameters Słownik<ciąg, obiekt> Opcjonalny. Definiuje parametry przekazywane w zapytaniu w ścieżce eventsJsonPaths .

Zdefiniuj ciąg w formacie serializowanym dictionary<string, string> : {'<attr_name>': '<val>', '<attr_name>': '<val>'... }.
szablonParametrówZapytania Sznurek Opcjonalny. Definiuje szablon parametrów zapytania do użycia podczas przekazywania parametrów zapytania w zaawansowanych scenariuszach.

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

{_QueryWindowStartTime} i {_QueryWindowEndTime} są obsługiwane tylko w parametrach queryParameters i queryParametersTemplate żądania.

{_APIKeyName} i {_APIKey} są obsługiwane tylko w parametrze queryParametersTemplate żądania.
isPostPayloadJson Boolean Opcjonalny. Określa, czy ładunek POST jest w formacie JSON.
rateLimitQPS Podwójny Opcjonalny. Definiuje liczbę wywołań lub zapytań dozwolonych w ciągu sekundy.
timeoutInSeconds Integer Opcjonalny. Definiuje limit czasu żądania w sekundach.
retryCount Integer Opcjonalny. Definiuje liczbę ponownych prób żądania, jeśli zajdzie potrzeba.
Nagłówki Ciąg słownika<, obiekt> Opcjonalny. Definiuje wartość nagłówka żądania w formacie serializowanym dictionary<string, object> : {'<attr_name>': '<serialized val>', '<attr_name>': '<serialized val>'... }

Konfiguracja odpowiedzi

Sekcja response konfiguracji pollingConfig zawiera następujące parametry:

Nazwa Typ Opis
eventsJsonPaths Lista ciągów Obowiązkowy. Definiuje ścieżkę do komunikatu w odpowiedzi JSON.

Wyrażenie ścieżki JSON określa ścieżkę do elementu lub zestawu elementów w strukturze JSON
successStatusJsonPath Sznurek Opcjonalny. Definiuje ścieżkę do komunikatu o powodzeniu w odpowiedzi JSON.
successStatusValue Sznurek Opcjonalny. Definiuje ścieżkę do wartości komunikatu sukcesu w odpowiedzi JSON
isGzipCompressed Boolean Opcjonalny. Określa, czy odpowiedź jest kompresowana w pliku gzip.

Poniższy kod przedstawia przykład wartości eventsJsonPaths dla komunikatu najwyższego poziomu:

"eventsJsonPaths": [
              "$"
            ]

Konfiguracja paginacji

Sekcja paging konfiguracji pollingConfig zawiera następujące parametry:

Nazwa Typ Opis
pagingType Sznurek Obowiązkowy. Określa typ stronicowania do użycia w wynikach jako jedną z następujących wartości: None, , LinkHeaderNextPageToken, NextPageUrlOffset
linkHeaderTokenJsonPath Sznurek Opcjonalny. Definiuje ścieżkę JSON prowadzącą do nagłówka linku w odpowiedzi JSON, gdy element LinkHeader nie został zdefiniowany w nagłówku odpowiedzi.
nextPageTokenJsonPath Sznurek Opcjonalny. Definiuje ścieżkę do następnego tokenu strony JSON.
hasNextFlagJsonPath Sznurek Opcjonalny. Definiuje ścieżkę do atrybutu flagi HasNextPage .
nextPageTokenResponseHeader Sznurek Opcjonalny. Definiuje nazwę nagłówka tokenu następnej strony w odpowiedzi.
nextPageParaName Sznurek Opcjonalny. Określa nazwę następnej strony w żądaniu.
nextPageRequestHeader Sznurek Opcjonalny. Określa nazwę nagłówka następnej strony w żądaniu.
nextPageUrl Sznurek Opcjonalny. Określa adres URL następnej strony , jeśli różni się on od początkowego adresu URL żądania.
parametry zapytania następnej strony URL Sznurek Opcjonalny. Określa parametry zapytania adresu URL następnej strony , jeśli różnią się one od adresu URL początkowego żądania.

Zdefiniuj ciąg w formacie serializowanym dictionary<string, object> : {'<attr_name>': <val>, '<attr_name>': <val>... }
offsetParaName Sznurek Opcjonalny. Definiuje nazwę parametru przesunięcia.
pageSizeParaName Sznurek Opcjonalny. Definiuje nazwę parametru rozmiaru strony.
Pagesize Integer Definiuje rozmiar stronicowania.

Przykładowy kod pollingConfig

Poniższy kod przedstawia przykład sekcji pollingConfig pliku konfiguracji CCP:

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

Wdróż łącznik w usłudze Microsoft Sentinel i rozpocznij importowanie danych

Po utworzeniu pliku konfiguracji JSON, w tym zarówno interfejsu użytkownika , jak i konfiguracji sondowania , wdróż łącznik w obszarze roboczym usługi Microsoft Sentinel.

  1. Użyj jednej z następujących opcji, aby wdrożyć łącznik danych.

    Wskazówka

    Zaletą wdrażania za pośrednictwem szablonu usługi Azure Resource Manager (ARM) jest to, że kilka wartości jest wbudowanych w szablon i nie trzeba ich definiować ręcznie w wywołaniu interfejsu API.

    Zawijaj kolekcje konfiguracji JSON w szablonie ARM, aby wdrożyć łącznik. Aby upewnić się, że łącznik danych zostanie wdrożony w prawidłowym obszarze roboczym, pamiętaj, aby zdefiniować obszar roboczy w szablonie usługi ARM lub wybrać obszar roboczy podczas wdrażania szablonu usługi ARM.

    1. Przygotuj plik JSON szablonu ARM dla łącznika. Zobacz na przykład następujące pliki JSON szablonu ARM:

    2. W witrynie Azure Portal wyszukaj pozycję Wdróż szablon niestandardowy.

    3. Na stronie Wdrożenie niestandardowe wybierz pozycję Skompiluj własny szablon w edytorze>Załaduj plik. Przejdź do lokalnego szablonu usługi ARM i wybierz go, a następnie zapisz zmiany.

    4. Wybierz subskrypcję i grupę zasobów, a następnie wprowadź obszar roboczy usługi Log Analytics, w którym chcesz wdrożyć łącznik niestandardowy.

    5. Wybierz pozycję Przegląd i utwórz, aby wdrożyć łącznik niestandardowy w usłudze Microsoft Sentinel.

    6. W usłudze Microsoft Sentinel przejdź do strony Łączniki danych , wyszukaj nowy łącznik. Skonfiguruj je, aby rozpocząć pozyskiwanie danych.

    Aby uzyskać więcej informacji, zobacz Wdrażanie szablonu lokalnego w dokumentacji usługi Azure Resource Manager.

  2. Skonfiguruj łącznik danych, aby połączyć źródło danych i rozpocząć pozyskiwanie danych do usługi Microsoft Sentinel. Możesz nawiązać połączenie ze źródłem danych za pośrednictwem portalu, tak jak w przypadku wbudowanych łączników danych lub za pośrednictwem interfejsu API.

    Gdy łączysz się przy użyciu witryny Azure Portal, dane użytkownika są wysyłane automatycznie. Podczas nawiązywania połączenia za pośrednictwem interfejsu API należy wysłać odpowiednie parametry uwierzytelniania w wywołaniu interfejsu API.

    Na stronie łącznika danych usługi Microsoft Sentinel postępuj zgodnie z podanymi instrukcjami, aby nawiązać połączenie z łącznikiem danych.

    Strona łącznika danych w usłudze Microsoft Sentinel jest kontrolowana przez konfigurację InstrukcjeKros w connectorUiConfig elemekcie pliku konfiguracji JSON PROTOKOŁU KPI . Jeśli masz problemy z połączeniem interfejsu użytkownika, upewnij się, że masz poprawną konfigurację dla typu uwierzytelniania.

  3. W usłudze Microsoft Sentinel przejdź do strony Dzienniki i sprawdź, czy dzienniki z twojego źródła danych przepływają do obszaru roboczego.

Jeśli nie widzisz danych przesyłanych do usługi Microsoft Sentinel, sprawdź dokumentację źródła danych i zasoby rozwiązywania problemów, sprawdź szczegóły konfiguracji i sprawdź łączność. Aby uzyskać więcej informacji, zobacz Monitorowanie kondycji łączników danych.

Odłączanie łącznika

Jeśli nie potrzebujesz już danych łącznika, odłącz łącznik, aby zatrzymać przepływ danych.

Użyj jednej z poniższych metod:

  • Azure Portal: na stronie łącznika danych usługi Microsoft Sentinel wybierz pozycję Rozłącz.

  • Interfejs API: użyj interfejsu API DISCONNECT , aby wysłać wywołanie PUT z pustą treścią do następującego 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
    

Dalsze kroki

Jeśli jeszcze tego nie zrobiłeś, udostępnij nowy łącznik danych bez kodu społeczności usługi Microsoft Sentinel. Utwórz rozwiązanie dla łącznika danych i udostępnij je w witrynie Microsoft Sentinel Marketplace.

Aby uzyskać więcej informacji, zobacz