Udostępnij przez


Dokumentacja definicji łącznika danych dla struktury łącznika bez kodu

Aby utworzyć łącznik danych za pomocą struktury łącznika bez kodu (CCF), użyj tego dokumentu jako dodatku do dokumentacji referencyjnej interfejsu API REST usługi Microsoft Sentinel dla definicji łącznika danych . W szczególności ten dokument referencyjny rozszerza się w następującej sekcji:

  • connectorUiConfig — definiuje elementy wizualne i tekst wyświetlany na stronie łącznika danych w usłudze 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ą lub zapoznawczą wersję interfejsu API. 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

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ści liter.
subscriptionId Identyfikator subskrypcji docelowej.
workspaceName Nazwa obszaru roboczego, a nie identyfikator.
Wzorzec wyrażenia regularnego: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
wersja API Wersja interfejsu API do użycia dla tej operacji.

Ciało żądania

Treść żądania tworzenia definicji łącznika danych CCF za pomocą interfejsu API ma następującą strukturę:

{
    "kind": "Customizable",
    "properties": {
        "connectorUIConfig": {}
    }
}

Element dataConnectorDefinition ma następujące właściwości:

Nazwa Wymagane Typ Opis
rodzaj Prawda Sznurek Customizable w przypadku łącznika danych sondowania interfejsu API lub Static w inny sposób
Właściwości. connectorUiConfig Prawda 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 opcje konfiguracji dostępne do dostosowania interfejsu użytkownika strony łącznika danych.

Poniższy zrzut ekranu przedstawia 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 z sekcjami oznaczonymi etykietą od 1 do 9.

Każdy z poniższych connectorUiConfig elementów sekcji potrzebnych do skonfigurowania interfejsu użytkownika odpowiada części CustomableConnectorUiConfig interfejsu API.

(No changes needed) Wymagane Typ Opis Zrzut ekranu przedstawiający obszar godny uwagi #
tytuł Prawda ciąg Tytuł wyświetlany na stronie łącznika danych 1
id ciąg Ustawia identyfikator łącznika niestandardowego dla użycia wewnętrznego
logo ciąg Ścieżka do pliku obrazu w formacie SVG. Jeśli żadna wartość nie jest skonfigurowana, zostanie użyte domyślne logo. 2
wydawca Prawda ciąg Dostawca łącznika 3
descriptionMarkdown Prawda ciąg w języku znaczników markdown Opis łącznika z możliwością dodawania języka markdown w celu jego ulepszenia. 4
sampleQueries Prawda Zagnieżdżony kod JSON
sampleQueries
Wysyła zapytanie do klienta, aby zrozumieć, jak znaleźć dane w dzienniku zdarzeń.
graphQueries Prawda 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órych łącznik wstawia dane. Ta nazwa może być używana w innych zapytaniach, określając {{graphQueriesTableName}} symbol zastępczy w graphQueries wartościach i lastDataReceivedQuery .
dataTypes Prawda Zagnieżdżony kod JSON
dataTypes
Lista wszystkich typów danych dla łącznika oraz zapytanie służące do pobierania czasu ostatniego zdarzenia dla każdego typu danych. 6
kryteria łączności Prawda Zagnieżdżony kod JSON
kryteria łączności
Obiekt, który definiuje, jak sprawdzić, czy łącznik jest połączony. 7
dostępność Zagnieżdżony kod JSON
dostępność
Obiekt, który definiuje stan dostępności łącznika.
Uprawnienia Prawda Zagnieżdżony kod JSON
Uprawnienia
Informacje wyświetlane w sekcji Wymagania wstępne interfejsu użytkownika zawierające listę uprawnień wymaganych do włączenia lub wyłączenia łącznika. 8
instrukcjeKroki Prawda Zagnieżdżony kod JSON
instrukcje
Tablica części widżetów wyjaśniających sposób instalowania łącznika i kontrolek z możliwością akcji wyświetlanych na karcie Instrukcje . 9
isConnectivityCriteriasMatchSome logiczny Wartość logiczna wskazująca, czy należy używać elementów "OR"(SOME) lub "AND" między elementami ConnectivityCriteria.

Kryteria łączności

(No changes needed) Wymagane Typ Opis
Typ Prawda Sznurek Jedna z dwóch następujących opcji: HasDataConnectors — ta wartość jest najlepsza w przypadku łą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 dla innych typów łączników danych. Łącznik jest traktowany jako połączony, gdy podane zapytanie zwraca dane.
Wartość Prawda, gdy typ ma wartość isConnectedQuery Sznurek Zapytanie określające, czy dane są odbierane w określonym przedziale czasu. Przykład: CommonSecurityLog | where DeviceVendor == \"Vectra Networks\"\n| where DeviceProduct == \"X Series\"\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(7d)"

typy danych

Wartość tablicy Typ Opis
nazwa Sznurek Opis zrozumiały dla zmiennejlastDataReceivedQuery, w tym obsługa zmiennej graphQueriesTableName .

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

availability

(No changes needed) Wymagane Typ Opis
stan Integer 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
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 ta wartość jest skorelowana z wierszem Klucz osobistego tokenu interfejsu API usługi GitHub: potrzebujesz dostępu do osobistego tokenu usługi GitHub...
Licencje ENUM Definiuje wymagane licencje jako jedną z następujących wartości: OfficeIRM,OfficeATP, Office365, AadP1P2McasAatpMdatp, , , , 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

Ważne

Firma Microsoft rekomenduje używanie ról z najmniejszą liczbą uprawnień. Pomaga to zwiększyć bezpieczeństwo organizacji. Administrator globalny to wysoce uprzywilejowana rola, która powinna być ograniczona do scenariuszy awaryjnych, gdy nie można użyć istniejącej roli.

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 wyświetla czerwony znacznik wyboru "x" lub zielony, gdy wymaganePermissions są weryfikowane 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":Boolowski,
"delete":Boolowski,
"read":Boolowski,
"write":Boolowski
}
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.

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

kroki instrukcji

Ta sekcja zawiera parametry, które definiują zestaw instrukcji wyświetlanych na stronie łącznika danych w usłudze Microsoft Sentinel i mają następującą strukturę:

"instructionSteps": [
    {
        "title": "",
        "description": "",
        "instructions": [
        {
            "type": "",
            "parameters": {}
        }
        ],
        "innerSteps": {}
    }
]
Właściwość tablicy Wymagane Typ Opis
tytuł Sznurek Definiuje tytuł instrukcji.
opis Sznurek Definiuje zrozumiały opis instrukcji.
innerSteps Tablica Definiuje tablicę kroków instrukcji wewnętrznych.
instrukcje Prawda Tablica instrukcji Definiuje tablicę instrukcji określonego typu parametru.

instrukcje

Przedstawia grupę instrukcji z różnymi parametrami i możliwością zagnieżdżania większej liczby instrukcjiKrok w grupach. Parametry zdefiniowane tutaj odpowiadają

Typ Właściwość Array Opis
OAuthForm OAuthForm Nawiązywanie połączenia za pomocą protokołu OAuth
Pole tekstowe Pole tekstowe Ta para z parametrem ConnectionToggleButton. Dostępne są 4 typy:
  • password
  • text
  • number
  • email
  • ConnectionToggleButton ConnectionToggleButton Wyzwól wdrożenie kontrolera domeny na podstawie informacji o połączeniu dostarczonych za pomocą parametrów zastępczych. Obsługiwane są następujące parametry:
  • name :obowiązkowy
  • disabled
  • isPrimary
  • connectLabel
  • disconnectLabel
  • Etykieta do kopiowania Etykieta do kopiowania Pokazuje pole tekstowe z przyciskiem kopiowania na końcu. Po wybraniu przycisku wartość pola zostanie skopiowana.
    Lista rozwijana Lista rozwijana Wyświetla listę rozwijaną opcji do wybrania przez użytkownika.
    Markdown Markdown Wyświetla sekcję tekstu sformatowaną za pomocą języka Markdown.
    DataConnectorsGrid DataConnectorsGrid Wyświetla siatkę łączników danych.
    Kontekstowy przedział czasu Kontekstowy przedział czasu Wyświetla okienko informacji kontekstowych.
    InfoMessage InfoMessage Definiuje wbudowany komunikat informacyjny.
    GrupaKrokówInstrukcji GrupaKrokówInstrukcji 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.
    OAuthForm

    Ten składnik wymaga obecności OAuth2 typu we auth właściwości szablonu łącznika danych.

    "instructions": [
    {
      "type": "OAuthForm",
      "parameters": {
        "clientIdLabel": "Client ID",
        "clientSecretLabel": "Client Secret",
        "connectButtonLabel": "Connect",
        "disconnectButtonLabel": "Disconnect"
      }          
    }
    ]
    
    Pole tekstowe

    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 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"
      }          
    }
    ]
    
    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 Wymagane Typ Opis
    wypełnij ENUM 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, , workspaceNameprimaryKey, , MicrosoftAwsAccountsubscriptionId
    etykieta Prawda Sznurek Definiuje tekst etykiety powyżej pola tekstowego.
    wartość Prawda Sznurek Definiuje wartość, która ma być obecna w polu tekstowym, obsługuje symbole zastępcze.
    Wiersze Wiersze 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.
    {
      "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"
    }
    
    (No changes needed) Wymagane Typ Opis
    etykieta Prawda Sznurek Definiuje tekst etykiety powyżej listy rozwijanej.
    nazwa Prawda Sznurek Definiuje unikatową nazwę listy rozwijanej. Jest to używane w konfiguracji sondowania.
    Opcje Prawda Tablica Definiuje listę opcji listy rozwijanej.
    Symbol zastępczy Sznurek 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"
        ]
      }
    }
    
    
    (No changes needed) Wymagane Typ Opis
    mapowanie Prawda Tablica Definiuje mapowanie kolumn w siatce.
    menuItems Tablica Definiuje elementy menu dla siatki.
    Kontekstowy przedział czasu
    {
      "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
                  }
                }
              }
            ]
          }
        ]
      }
    }
    
    (No changes needed) Wymagane Typ Opis
    tytuł Prawda Sznurek Tytuł okienka kontekstu.
    podtytuł Prawda Sznurek Podtytuł okienka kontekstu.
    contextPaneType Prawda Sznurek Typ okienka kontekstu.
    instrukcjeKroki Prawda Tablica
    instrukcjeKroki
    Instrukcje dotyczące okienka kontekstu.
    etykieta Sznurek Etykieta okienka kontekstu.
    isPrimary logiczny Wskazuje, czy jest to podstawowe okienko kontekstu.
    InfoMessage

    Oto przykład komunikatu informacyjnego wbudowanego:

    Zrzut ekranu przedstawiający wbudowany komunikat informacyjny.

    Z kolei na poniższej ilustracji przedstawiono komunikat informacyjny, który nie jest wbudowany:

    Zrzut ekranu przedstawiający komunikat informacyjny, który nie jest wbudowany.

    Wartość tablicy Typ Opis
    tekst Sznurek Zdefiniuj tekst do wyświetlenia w wiadomości.
    widoczny logiczny Określa, czy komunikat jest wyświetlany.
    w wierszu logiczny 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 Wymagane Typ Opis
    tytuł Prawda Sznurek Definiuje tytuł kroku instrukcji.
    opis Sznurek Opcjonalny tekst opisowy.
    canCollapseAllSections logiczny Określa, czy sekcja ma formę zwijanego akordeonu.
    noFxPadding logiczny Jeśli true, zmniejsza wyściółkę wysokości, aby zaoszczędzić miejsce.
    Rozszerzony logiczny 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 są 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 Wymagane Typ Opis
    linkType Prawda 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 Wartość true w przypadku używania parametru OpenPolicyAssignment linkType. Sznurek Dla łączników opartych na zasadach definiuje identyfikator GUID wbudowanej definicji polityki.
    assignMode ENUM W przypadku łączników opartych na zasadach definiuje tryb przypisywania jako jedną z następujących wartości: Initiative, Policy
    typRegułyZbieraniaDanych ENUM W przypadku łączników opartych na kontrolerze domeny 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 tworzenia lub aktualizowania danych.

    Aby uzyskać więcej przykładów przeglądu connectorUiConfig danych CCF. Nawet łączniki korzystające ze starszej wersji CCF zawierają 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"
                      }
                    }
                  ]
                }
              ]
            }
        }
    }