Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby utworzyć łącznik danych z programem Codeless Connector Framework (CCF), użyj tego dokumentu jako dodatku do dokumentacji interfejsu API REST Microsoft Sentinel dla definicji łącznika danych. W szczególności ten dokument referencyjny jest rozwijany w następującej sekcji:
-
connectorUiConfig— definiuje elementy wizualizacji i tekst wyświetlany na stronie łącznika danych w Microsoft Sentinel.
Aby uzyskać więcej informacji, zobacz Tworzenie łącznika bez kodu.
Definicje łącznika danych — tworzenie lub aktualizowanie
Zapoznaj się z operacją Tworzenie lub aktualizowanie w dokumentacji interfejsu API REST, aby znaleźć najnowszą stabilną wersję interfejsu API lub wersję zapoznawczą.
update Tylko operacja wymaga etag wartości.
PUT , metoda
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{{dataConnectorDefinitionName}}?api-version={{apiVersion}}
Parametry identyfikatora URI
Aby uzyskać więcej informacji na temat najnowszej wersji interfejsu API, zobacz Definicje łącznika danych — Tworzenie lub aktualizowanie parametrów identyfikatora URI
| Name (Nazwa) | Opis |
|---|---|
| dataConnectorDefinitionName | Definicja łącznika danych musi być unikatową nazwą i jest taka sama jak name parametr w treści żądania. |
| resourceGroupName | Nazwa grupy zasobów, a nie uwzględnia wielkość liter. |
| Subscriptionid | Identyfikator subskrypcji docelowej. |
| nazwa obszaru roboczego |
Nazwa obszaru roboczego, a nie identyfikator. Wzorzec regex: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
| wersja interfejsu API | Wersja interfejsu API do użycia dla tej operacji. |
Treść żądania
Treść żądania dotycząca tworzenia definicji łącznika danych CCF przy użyciu interfejsu API ma następującą strukturę:
{
"kind": "Customizable",
"properties": {
"connectorUIConfig": {}
}
}
DataConnectorDefinition ma następujące właściwości:
| Name (Nazwa) | Wymagany | Typ | Opis |
|---|---|---|---|
| Rodzaju | True | Ciąg |
Customizable dla łącznika danych sondowania interfejsu API lub Static w inny sposób |
| Właściwości. connectorUiConfig | True | Zagnieżdżony kod JSON connectorUiConfig |
Właściwości konfiguracji interfejsu użytkownika łącznika danych |
Konfigurowanie interfejsu użytkownika łącznika
W tej sekcji opisano dostępne opcje konfiguracji w celu dostosowania interfejsu użytkownika strony łącznika danych.
Poniższy zrzut ekranu przedstawia przykładową stronę łącznika danych z wyróżnionymi liczbami odpowiadającymi istotnym obszarom interfejsu użytkownika.
Każdy z następujących elementów sekcji potrzebnych connectorUiConfig do skonfigurowania interfejsu użytkownika odpowiada części CustomizableConnectorUiConfig interfejsu API.
| Pole | Wymagany | Typ | Opis | Zrzut ekranu przedstawiający istotny obszar # |
|---|---|---|---|---|
| Tytuł | True | ciąg | Tytuł wyświetlany na stronie łącznika danych | 1 |
| id | ciąg | Ustawia niestandardowy identyfikator łącznika dla użycia wewnętrznego | ||
| Logo | ciąg | Ścieżka do pliku obrazu w formacie SVG. Jeśli żadna wartość nie jest skonfigurowana, używane jest logo domyślne. | 2 | |
| Wydawca | True | ciąg | Dostawca łącznika | 3 |
| descriptionMarkdown | True | ciąg w języku markdown | Opis łącznika z możliwością dodawania języka markdown w celu jego ulepszenia. | 4 |
| sampleQueries | True | Zagnieżdżony kod JSON sampleQueries |
Wysyła zapytanie do klienta, aby dowiedzieć się, jak znaleźć dane w dzienniku zdarzeń. | |
| GraphQueries | True | Zagnieżdżony kod JSON GraphQueries |
Zapytania przedstawiające pozyskiwanie danych w ciągu ostatnich dwóch tygodni. Podaj jedno zapytanie dla wszystkich typów danych łącznika danych lub inne zapytanie dla każdego typu danych. |
5 |
| graphQueriesTableName | Ustawia nazwę tabeli, do którego łącznik wstawia dane. Tej nazwy można używać w innych zapytaniach, określając {{graphQueriesTableName}} symbol zastępczy i graphQuerieslastDataReceivedQuery wartości. |
|||
| dataTypes | True | Zagnieżdżony kod JSON dataTypes |
Lista wszystkich typów danych dla łącznika i zapytanie umożliwiające pobranie czasu ostatniego zdarzenia dla każdego typu danych. | 6 |
| łącznośćCriteria | True | Zagnieżdżony kod JSON łącznośćCriteria |
Obiekt definiujący sposób sprawdzania, czy łącznik jest połączony. | 7 |
| Dostępność | Zagnieżdżony kod JSON Dostępność |
Obiekt definiujący stan dostępności łącznika. | ||
| Uprawnienia | True | Zagnieżdżony kod JSON Uprawnienia |
Informacje wyświetlane w sekcji Wymagania wstępne interfejsu użytkownika, która zawiera listę uprawnień wymaganych do włączenia lub wyłączenia łącznika. | 8 |
| instructionSteps | True | Zagnieżdżony kod JSON Instrukcje |
Tablica części widżetów, które wyjaśniają sposób instalowania łącznika, oraz kontrolki z możliwością działania wyświetlane na karcie Instrukcje . | 9 |
| isConnectivityCriteriasMatchSome | logiczny | Wartość logiczna wskazująca, czy należy używać wartości "OR" (NIEKTÓRE) lub "AND" między elementami ConnectivityCriteria. |
łącznośćCriteria
| Pole | Wymagany | Typ | Opis |
|---|---|---|---|
| Typ | True | Ciąg | Jedna z dwóch następujących opcji: HasDataConnectors — ta wartość jest najlepsza dla łączników danych sondowania interfejsu API, takich jak CCF. Łącznik jest uznawany za połączony z co najmniej jednym aktywnym połączeniem.isConnectedQuery — ta wartość jest najlepsza w przypadku innych typów łączników danych. Łącznik jest traktowany jako połączony, gdy podane zapytanie zwraca dane. |
| Value | Prawda, gdy typ jest isConnectedQuery |
Ciąg | Zapytanie określające, czy dane są odbierane w określonym okresie. Przykład: CommonSecurityLog | where DeviceVendor == \"Vectra Networks\"\n| where DeviceProduct == \"X Series\"\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(7d)" |
dataTypes
| Wartość tablicy | Typ | Opis |
|---|---|---|
| Nazwa | Ciąg | Opis zrozumiały dla zmiennejlastDataReceivedQuery, w tym obsługa zmiennej graphQueriesTableName . Przykład: {{graphQueriesTableName}} |
| lastDataReceivedQuery | Ciąg | Zapytanie KQL zwracające jeden wiersz i wskazujące czas ostatniego odebrania danych lub brak danych, jeśli nie ma wyników. 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.
Podaj jedno zapytanie dla wszystkich typów danych łącznika danych lub inne zapytanie dla każdego typu danych.
| Wartość tablicy | Typ | Opis |
|---|---|---|
| metricName | Ciąg | Znacząca nazwa grafu. Przykład: Total data received |
| Legendy | Ciąg | Ciąg wyświetlany w legendzie po prawej stronie wykresu, w tym odwołanie do zmiennej. Przykład: {{graphQueriesTableName}} |
| baseQuery | Ciąg | Zapytanie, które filtruje odpowiednie zdarzenia, w tym odwołanie do zmiennej. Przykład: TableName_CL | where ProviderName == "myprovider" lub {{graphQueriesTableName}} |
Dostępność
| Pole | Wymagany | Typ | Opis |
|---|---|---|---|
| Stan | Liczba całkowita | Stan dostępności łącznika. Dostępne = 1 Flaga funkcji = 2 Wkrótce = 3 Wewnętrzny = 4 |
|
| isPreview | logiczny | Wartość logiczna wskazująca, czy łącznik jest w trybie podglądu. |
uprawnienia
| Wartość tablicy | Typ | Opis |
|---|---|---|
| Celnej | Ciąg | Opis wszelkich uprawnień niestandardowych wymaganych dla połączenia danych w następującej składni: {"name":ciąg,"description":ciąg} Przykład: Wartość celna jest wyświetlana w sekcji Microsoft Sentinel Wymagania wstępne z niebieską ikoną informacyjną. W przykładzie usługi GitHub ta wartość jest skorelowana z wierszem Klucz osobistego tokenu interfejsu API usługi GitHub: potrzebny jest dostęp do osobistego tokenu usługi GitHub... |
| Licencje | ENUM | Definiuje wymagane licencje jako jedną z następujących wartości: OfficeIRM,OfficeATP, , Office365, AadP1P2Mcas, , Aatp, Mdatp, , MtpIoT Przykład: wartość licencji jest wyświetlana w Microsoft Sentinel jako: Licencja: Wymagane Azure AD — wersja Premium P2 |
| resourceProvider | resourceProvider | Opisuje wszelkie wymagania wstępne dotyczące zasobu Azure. Przykład: wartość resourceProvider jest wyświetlana w sekcji Microsoft Sentinel Wymagania wstępne jako: Obszar roboczy: wymagane jest uprawnienie do odczytu i zapisu. Klucze: wymagane są uprawnienia do odczytu kluczy udostępnionych dla obszaru roboczego. |
| Dzierżawy | 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: Wymaga Global Administrator lub Security Administrator w dzierżawie obszaru roboczego |
Ważna
Firma Microsoft rekomenduje używanie ról z najmniejszą liczbą uprawnień. Pomaga to zwiększyć bezpieczeństwo organizacji. Administrator globalny to rola o wysokim poziomie uprawnień, która powinna być ograniczona do scenariuszy awaryjnych, gdy nie można użyć istniejącej roli.
resourceProvider
| wartość tablicy podrzędnej | 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 | Ciąg | Element listy w obszarze Wymagania wstępne , który wyświetla czerwony znacznik wyboru "x" lub zielony, gdy wymaganePermissions są weryfikowane na stronie łącznika. Przykład "Workspace" |
| permissionsDisplayText | Ciąg | Wyświetlanie tekstu dla uprawnień odczytu, zapisu lub odczytu i zapisu , które powinny odpowiadać wartościom skonfigurowanym w parametrach requiredPermissions |
| requiredPermissions | {"action":Wartość logiczna,"delete":Wartość logiczna,"read":Wartość logiczna,"write":Wartość logiczna} |
W tym artykule opisano minimalne uprawnienia wymagane dla łącznika. |
| Zakres | ENUM | Opisuje zakres łącznika danych jako jedną z następujących wartości: "Subscription", , "ResourceGroup""Workspace" |
sampleQueries
| wartość tablicy | Typ | Opis |
|---|---|---|
| Opis | Ciąg | Opis opisu przykładowego zapytania. Przykład: Top 10 vulnerabilities detected |
| Kwerendy | Ciąg | Przykładowe zapytanie używane do pobierania danych typu danych. Przykład: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10 |
Konfigurowanie innych opcji linku
Aby zdefiniować link wbudowany przy użyciu języka markdown, użyj następującego przykładu.
{
"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 usługi ARM, skorzystaj z następującego przykładu jako przewodnika:
{
"title": "Azure Resource Manager (ARM) template",
"description": "1. Click the **Deploy to Azure** button below.\n\n\t[]({URL to custom ARM template})"
}
instructionSteps
Ta sekcja zawiera parametry definiujące zestaw instrukcji, które są wyświetlane na stronie łącznika danych w Microsoft Sentinel i mają następującą strukturę:
"instructionSteps": [
{
"title": "",
"description": "",
"instructions": [
{
"type": "",
"parameters": {}
}
],
"innerSteps": {}
}
]
| Właściwość tablicy | Wymagany | Typ | Opis |
|---|---|---|---|
| Tytuł | Ciąg | Definiuje tytuł instrukcji. | |
| Opis | Ciąg | Definiuje zrozumiały opis instrukcji. | |
| innerSteps | Tablicy | Definiuje tablicę wewnętrznych kroków instrukcji. | |
| Instrukcje | True | Tablica instrukcji | Definiuje tablicę instrukcji określonego typu parametru. |
Instrukcje
Wyświetla grupę instrukcji z różnymi parametrami i możliwością zagnieżdżania większej liczby instrukcjiKroki w grupach. Parametry zdefiniowane tutaj odpowiadają
| Typ | Właściwość Array | Opis |
|---|---|---|
| OAuthForm | OAuthForm | Nawiązywanie połączenia za pomocą uwierzytelniania OAuth |
| Textbox | Textbox | Ta funkcja jest parą z elementem ConnectionToggleButton. Dostępne są 4 typy:passwordtextnumberemail |
| ConnectionToggleButton | ConnectionToggleButton | Wyzwól wdrożenie dcr na podstawie informacji o połączeniu dostarczonych za pośrednictwem parametrów symbolu zastępczego. Obsługiwane są następujące parametry:name :ObowiązkowedisabledisPrimaryconnectLabeldisconnectLabel |
| CopyableLabel | CopyableLabel | Pokazuje pole tekstowe z przyciskiem kopiowania na końcu. Po wybraniu przycisku wartość pola jest kopiowana. |
| Rozwijanego | Rozwijanego | Wyświetla listę rozwijaną opcji do wyboru przez użytkownika. |
| Markdown | Markdown | Wyświetla sekcję tekstu sformatowaną przy użyciu języka Markdown. |
| DataConnectorsGrid | DataConnectorsGrid | Wyświetla siatkę łączników danych. |
| KontekstPane | KontekstPane | Wyświetla okienko informacji kontekstowych. |
| Infomessage | Infomessage | Definiuje wbudowany komunikat informacyjny. |
| InstructionStepsGroup | InstructionStepsGroup | Wyświetla grupę instrukcji, opcjonalnie rozwinięta lub zwijana, w osobnej sekcji instrukcji. |
| InstallAgent | InstallAgent | Wyświetla link do innych części Azure w celu spełnienia różnych wymagań dotyczących instalacji. |
OAuthForm
Ten składnik wymaga, aby OAuth2 typ był obecny we auth właściwości szablonu łącznika danych.
"instructions": [
{
"type": "OAuthForm",
"parameters": {
"clientIdLabel": "Client ID",
"clientSecretLabel": "Client Secret",
"connectButtonLabel": "Connect",
"disconnectButtonLabel": "Disconnect"
}
}
]
Textbox
Oto kilka przykładów Textbox typu. Te przykłady odpowiadają parametrom używanym w przykładowej auth sekcji w dokumentacji łączników danych dla struktury łączników bez kodu. Dla każdego z 4 typów każdy z nich ma labelwartości , placeholderi name.
"instructions": [
{
"type": "Textbox",
"parameters": {
{
"label": "User name",
"placeholder": "User name",
"type": "text",
"name": "username"
}
}
},
{
"type": "Textbox",
"parameters": {
"label": "Secret",
"placeholder": "Secret",
"type": "password",
"name": "password"
}
}
]
ConnectionToggleButton
"instructions": [
{
"type": "ConnectionToggleButton",
"parameters": {
"connectLabel": "toggle",
"name": "toggle"
}
}
]
CopyableLabel
Przykład:
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 | Wymagany | Typ | Opis |
|---|---|---|---|
| fillWith | ENUM | Tablica zmiennych środowiskowych używanych do wypełniania symbolu zastępczego. Rozdziel wiele symboli zastępczych przecinkami. Przykład: {0},{1} Obsługiwane wartości: workspaceId, workspaceName, primaryKey, , MicrosoftAwsAccountsubscriptionId |
|
| Etykiety | True | Ciąg | Definiuje tekst etykiety powyżej pola tekstowego. |
| Wartość | True | Ciąg | Definiuje wartość, która ma być obecna w polu tekstowym, obsługuje symbole zastępcze. |
| Wierszy | Wierszy | Definiuje wiersze w obszarze interfejsu użytkownika. Domyślnie ustaw wartość 1. | |
| wideLabel | logiczny | Określa szeroką etykietę dla długich ciągów. Domyślnie ustaw wartość .false |
Rozwijanego
{
"parameters": {
"label": "Select an option",
"name": "dropdown",
"options": [
{
"key": "Option 1",
"text": "option1"
},
{
"key": "Option 2",
"text": "option2"
}
],
"placeholder": "Select an option",
"isMultiSelect": false,
"required": true,
"defaultAllSelected": false
},
"type": "Dropdown"
}
| Pole | Wymagany | Typ | Opis |
|---|---|---|---|
| Etykiety | True | Ciąg | Definiuje tekst etykiety powyżej listy rozwijanej. |
| Nazwa | True | Ciąg | Definiuje unikatową nazwę listy rozwijanej. Jest to używane w konfiguracji sondowania. |
| Opcje | True | Tablicy | Definiuje listę opcji listy rozwijanej. |
| Symbol zastępczy | Ciąg | Definiuje tekst zastępczy listy rozwijanej. | |
| isMultiSelect | logiczny | Określa, czy można wybrać wiele opcji. Domyślnie ustaw wartość .false |
|
| Wymagane | logiczny | Jeśli truelista rozwijana jest wymagana do wypełnienia. |
|
| defaultAllSelected | logiczny | Jeśli truewszystkie opcje są domyślnie zaznaczone. |
Markdown
{
"parameters": {
"content": "## This is a Markdown section\n\nYou can use **bold** text, _italic_ text, and even [links](https://www.example.com)."
},
"type": "Markdown"
}
DataConnectorsGrid
{
"type": "DataConnectorsGrid",
"parameters": {
"mapping": [
{
"columnName": "Column 1",
"columnValue": "Value 1"
},
{
"columnName": "Column 2",
"columnValue": "Value 2"
}
],
"menuItems": [
"MyConnector"
]
}
}
| Pole | Wymagany | Typ | Opis |
|---|---|---|---|
| Mapowania | True | Tablicy | Definiuje mapowanie kolumn w siatce. |
| Menuitems | Tablicy | Definiuje elementy menu dla siatki. |
KontekstPane
{
"type": "ContextPane",
"parameters": {
"isPrimary": true,
"label": "Add Account",
"title": "Add Account",
"subtitle": "Add Account",
"contextPaneType": "DataConnectorsContextPane",
"instructionSteps": [
{
"instructions": [
{
"type": "Textbox",
"parameters": {
"label": "Snowflake Account Identifier",
"placeholder": "Enter Snowflake Account Identifier",
"type": "text",
"name": "accountId",
"validations": {
"required": true
}
}
},
{
"type": "Textbox",
"parameters": {
"label": "Snowflake PAT",
"placeholder": "Enter Snowflake PAT",
"type": "password",
"name": "apikey",
"validations": {
"required": true
}
}
}
]
}
]
}
}
| Pole | Wymagany | Typ | Opis |
|---|---|---|---|
| Tytuł | True | Ciąg | Tytuł okienka kontekstu. |
| Napisów | True | Ciąg | Podtytuł okienka kontekstu. |
| contextPaneType | True | Ciąg | Typ okienka kontekstu. |
| instructionSteps | True | Tablicy instructionSteps |
Kroki instrukcji dla okienka kontekstu. |
| Etykiety | Ciąg | Etykieta okienka kontekstu. | |
| isPrimary | logiczny | Wskazuje, czy jest to podstawowe okienko kontekstu. |
Infomessage
Oto przykład wbudowanego komunikatu informacyjnego:
Z kolei na poniższej ilustracji przedstawiono komunikat informacyjny, który nie jest wbudowany:
| Wartość tablicy | Typ | Opis |
|---|---|---|
| Tekst | Ciąg | Zdefiniuj tekst do wyświetlenia w wiadomości. |
| Widoczne | logiczny | Określa, czy komunikat jest wyświetlany. |
| Wbudowany | logiczny | Określa sposób wyświetlania komunikatu informacyjnego. - true: (Zalecane) Wyświetla komunikat informacyjny osadzony w instrukcjach. - false: dodaje niebieskie tło. |
InstructionStepsGroup
Oto przykład rozszerzalnej grupy instrukcji:
| Wartość tablicy | Wymagany | Typ | Opis |
|---|---|---|---|
| Tytuł | True | Ciąg | Definiuje tytuł kroku instrukcji. |
| Opis | Ciąg | Opcjonalny tekst opisowy. | |
| canCollapseAllSections | logiczny | Określa, czy sekcja jest składanym akordeonem, czy nie. | |
| noFxPadding | logiczny | Jeśli trueprogram zmniejsza dopełnienie wysokości w celu zaoszczędzenia miejsca. |
|
| Rozszerzony | logiczny | Jeśli truewartość , domyślnie jest wyświetlana jako rozwinięta. |
Aby uzyskać szczegółowy przykład, zobacz kod JSON konfiguracji łącznika DNS systemu Windows.
InstallAgent
Niektóre typy InstallAgent są wyświetlane jako przycisk, inne są wyświetlane jako link. Oto przykłady obu tych elementów:
| Wartości tablicy | Wymagany | Typ | Opis |
|---|---|---|---|
| linkType | True | ENUM | Określa typ łącza jako jedną z następujących wartości: InstallAgentOnWindowsVirtualMachineInstallAgentOnWindowsNonAzureInstallAgentOnLinuxVirtualMachineInstallAgentOnLinuxNonAzureOpenSyslogSettingsOpenCustomLogsSettingsOpenWafOpenAzureFirewall
OpenMicrosoftAzureMonitoring
OpenFrontDoors OpenCdnProfile AutomaticDeploymentCEF OpenAzureInformationProtection OpenAzureActivityLog OpenIotPricingModel OpenPolicyAssignment OpenAllAssignmentsBlade OpenCreateDataCollectionRule |
| policyDefinitionGuid | Wartość true w przypadku korzystania z elementu OpenPolicyAssignment linkType. |
Ciąg | W przypadku łączników opartych na zasadach definiuje identyfikator GUID wbudowanej definicji zasad. |
| assignMode | ENUM | W przypadku łączników opartych na zasadach definiuje tryb przypisywania jako jedną z następujących wartości: Initiative, Policy |
|
| dataCollectionRuleType | ENUM | W przypadku łączników opartych na modelu DCR definiuje typ reguły zbierania danych jako SecurityEvent, lub ForwardEvent. |
Przykładowa definicja łącznika danych
Poniższy przykład łączy niektóre składniki zdefiniowane w tym artykule jako format treści JSON do użycia z interfejsem API definicji łącznika danych Create or Update.
Aby uzyskać więcej przykładów connectorUiConfig przeglądu innych łączników danych CCF. Nawet łączniki korzystające ze starszego pliku CCF mają prawidłowe przykłady tworzenia interfejsu użytkownika.
{
"kind": "Customizable",
"properties": {
"connectorUiConfig": {
"title": "Example CCF Data Connector",
"publisher": "My Company",
"descriptionMarkdown": "This is an example of data connector",
"graphQueriesTableName": "ExampleConnectorAlerts_CL",
"graphQueries": [
{
"metricName": "Alerts received",
"legend": "My data connector alerts",
"baseQuery": "{{graphQueriesTableName}}"
},
{
"metricName": "Events received",
"legend": "My data connector events",
"baseQuery": "ASIMFileEventLogs"
}
],
"sampleQueries": [
{
"description": "All alert logs",
"query": "{{graphQueriesTableName}} \n | take 10"
}
],
"dataTypes": [
{
"name": "{{graphQueriesTableName}}",
"lastDataReceivedQuery": "{{graphQueriesTableName}} \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)"
},
{
"name": "ASIMFileEventLogs",
"lastDataReceivedQuery": "ASIMFileEventLogs \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)"
}
],
"connectivityCriteria": [
{
"type": "HasDataConnectors"
}
],
"permissions": {
"resourceProvider": [
{
"provider": "Microsoft.OperationalInsights/workspaces",
"permissionsDisplayText": "Read and Write permissions are required.",
"providerDisplayName": "Workspace",
"scope": "Workspace",
"requiredPermissions": {
"write": true,
"read": true,
"delete": true
}
},
],
"customs": [
{
"name": "Example Connector API Key",
"description": "The connector API key username and password is required"
}
]
},
"instructionSteps": [
{
"title": "Connect My Connector to Microsoft Sentinel",
"description": "To enable the connector provide the required information below and click on Connect.\n>",
"instructions": [
{
"type": "Textbox",
"parameters": {
"label": "User name",
"placeholder": "User name",
"type": "text",
"name": "username"
}
},
{
"type": "Textbox",
"parameters": {
"label": "Secret",
"placeholder": "Secret",
"type": "password",
"name": "password"
}
},
{
"type": "ConnectionToggleButton",
"parameters": {
"connectLabel": "toggle",
"name": "toggle"
}
}
]
}
]
}
}
}