dokumentacja łącznika danych obiektów blob usługi Azure Storage dla struktury łączników bez kodu

Aby utworzyć łącznik danych obiektu blob usługi Azure Storage przy użyciu struktury łączników bezkodowych (CCF), użyj tego odwołania oprócz artykułu Microsoft Sentinel INTERFEJS API REST dla łączników danych.

W tym wzorcu pobierania producent zapisuje dane do Azure Blob Storage. Azure Event Grid wysyła zdarzenia tworzenia blobów do kolejki Azure Storage, gdzie są one buforowane do czasu ich przetworzenia przez łącznik. Następnie konektor odczytuje te bloby i kieruje ich zawartość przez regułę zbierania danych Azure Monitor (DCR) do tabeli docelowej. Ta trwała konstrukcja oparta na kolejkach wspiera obsługę ciśnienia wstecznego i odporne pobieranie danych dla dużych ilości.

Każdy z nich dataConnector reprezentuje określone połączenie łącznika danych Microsoft Sentinel. Jeden łącznik danych może mieć wiele połączeń, które pobierają dane z różnych punktów końcowych. Konfiguracja JSON utworzona przy użyciu tego dokumentu referencyjnego służy do ukończenia szablonu wdrażania łącznika danych CCF.

Aby uzyskać więcej informacji, zobacz Tworzenie łącznika bez kodu dla Microsoft Sentinel.

Tworzenie łącznika danych Azure Storage Blob CCF

Upraszczanie tworzenia połączenia ze źródłem danych obiektów blob usługi Azure Storage przy użyciu przykładowego szablonu wdrażania łącznika danych ccf usługi Storage Blob. Aby uzyskać więcej informacji, zobacz Connector StorageBlob CCF template (Łącznik StorageBlob— szablon CCF).

Po wypełnieniu większości sekcji szablonu wdrożenia należy utworzyć tylko dwa pierwsze składniki, tabelę wyjściową i funkcję DCR. Aby uzyskać więcej informacji, zobacz sekcje Definicja tabeli danych wyjściowych i Reguła zbierania danych (DCR ).

Łączniki 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ą. Różnica między operacją tworzenia i aktualizacji polega na tym, że aktualizacja wymaga wartości etag .

PUT , metoda

https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}

Parametry identyfikatora URI

Aby uzyskać więcej informacji na temat najnowszej wersji interfejsu API, zobacz Łączniki danych — tworzenie lub aktualizowanie parametrów identyfikatora URI.

Name (Nazwa) Opis
dataConnectorId Identyfikator łącznika danych musi być unikatową nazwą i jest taki sam 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 łącznika StorageAccountBlobContainer danych CCF ma następującą strukturę:

{
   "name": "{{dataConnectorId}}",
   "kind": "StorageAccountBlobContainer",
   "etag": "",
   "properties": {
        "connectorDefinitionName": "",
        "auth": {},
        "request": {},
        "dcrConfig": {},
        "response": {}
   }
}

StorageAccountBlobContainer

StorageAccountBlobContainer reprezentuje łącznik danych CCF, w którym skonfigurowano już oczekiwane ładunki odpowiedzi dla źródła danych obiektu blob usługi Azure Storage. Konfigurowanie producenta do wysyłania danych do obiektu blob usługi Storage należy wykonać oddzielnie.

Name (Nazwa) Wymagany Typ Opis
Nazwa True ciąg Unikatowa nazwa połączenia zgodnego z parametrem URI
Rodzaju True ciąg Musi być StorageAccountBlobContainer
Etag GUID Pozostaw puste miejsce do tworzenia nowych łączników. W przypadku operacji aktualizacji element etag musi być zgodny z tagiem etag (GUID) istniejącego łącznika.
Właściwości. connectorDefinitionName ciąg Nazwa zasobu DataConnectorDefinition, który definiuje konfigurację interfejsu użytkownika łącznika danych. Aby uzyskać więcej informacji, zobacz Definicja łącznika danych.
Właściwości. Auth True Zagnieżdżony kod JSON Opisuje poświadczenia do pozyskiwania danych obiektów blob usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Konfiguracja uwierzytelniania.
Właściwości. Żądanie True Zagnieżdżony kod JSON Opisuje kolejki usługi Azure Storage odbierające zdarzenia utworzone w zakresie obiektu blob. Aby uzyskać więcej informacji, zobacz Konfiguracja żądania.
Właściwości. dcrConfig Zagnieżdżony kod JSON Wymagane parametry, gdy dane są wysyłane do reguły zbierania danych (DCR). Aby uzyskać więcej informacji, zobacz KONFIGURACJA DCR.
Właściwości. Odpowiedzi True Zagnieżdżony kod JSON Opisuje obiekt odpowiedzi i zagnieżdżony komunikat zwrócony z interfejsu API podczas ściągania danych. Aby uzyskać więcej informacji, zobacz Konfiguracja odpowiedzi.

Konfiguracja uwierzytelniania

Łącznik obiektów blob usługi Azure Storage opiera się na jednostce usługi utworzonej w dzierżawie skojarzonej z aplikacją wielodostępną zarządzaną przez firmę Microsoft (strategią jednostki usługi). Administrator dzierżawy musi udzielić zgody na utworzenie tej jednostki usługi. Szablon usługi ARM umożliwia potwierdzenie, czy jednostka usługi skojarzona z aplikacją już istnieje w dzierżawie, a jeśli nie, umożliwia utworzenie jednostki usługi za zgodą użytkownika.

Przykład szablonu usługi ARM obejmuje operacje umożliwiające zastosowanie całego niezbędnego dostępu opartego na rolach na koncie magazynu do odczytywania obiektów blob i współtworzenia kolejek. Upewnij się, że używany szablon i jednostki usługi są skojarzone z aplikacją dla danego środowiska i że udzielono zgody administratora dzierżawy.

W poniższej tabeli wymieniono identyfikatory aplikacji na środowisko Azure:

środowisko Azure Applicationid
AzureCloud 4f05ce56-95b6-4612-9d98-a45c8cc33f9f

Przykład uwierzytelniania StorageAccountBlobContainer:

"auth": {
    "type": "ServicePrincipal"
}

Konfiguracja żądania

W sekcji żądania opisano kolejki usługi Azure Storage odbierające komunikaty o zdarzeniach utworzonych przez obiekt blob.

Zanim skonfigurujesz tę sekcję, stwórz kolejki powiadomień i dead-letter. Skonfiguruj subskrypcję Azure Event Grid na koncie pamięci, aby wysyłać Microsoft.Storage.BlobCreated zdarzenia do kolejki powiadomień określonej przez QueueUri. Więcej informacji można znaleźć w Quickstart: Route Blob storage events to a web endpoint with the Azure portal.

Pole Wymagany Typ Opis
QueueUri True Ciąg Identyfikator URI kolejki usługi Azure Storage odbierający zdarzenia utworzone przez obiekt blob.
Identyfikator DlqUri True Ciąg Identyfikator URI kolejki utraconych wiadomości dla komunikatów zakończonych niepowodzeniem.

Przykład żądania StorageAccountBlobContainer:

"request": {
    "QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
    "DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}

Konfiguracja odpowiedzi

Zdefiniuj obsługę odpowiedzi łącznika danych przy użyciu następujących parametrów:

Pole Wymagany Typ Opis
EventsJsonPaths True Lista ciągów Definiuje ścieżkę do komunikatu w formacie JSON odpowiedzi. Wyrażenie ścieżki JSON określa ścieżkę do elementu lub zestawu elementów w strukturze JSON.
IsGzipCompressed logiczny Określa, czy odpowiedź jest skompresowana w pliku gzip.
Formacie True Ciąg json, , csvxml, lubparquet
CompressionAlgo Ciąg Algorytm kompresji albo multi-gzip lub deflate. W przypadku kompresji gzip skonfiguruj wartość IsGzipCompressed , zamiast ustawiać True wartość dla tego parametru.
CsvDelimiter Ciąg Jeśli format odpowiedzi to CSV i chcesz zmienić domyślny ogranicznik CSV obiektu ,.
HasCsvBoundary logiczny Wskazuje, czy dane CSV mają granicę.
HasCsvHeader logiczny Wskazuje, czy dane CSV mają nagłówek. Wartość domyślna to: True.
Pejzaż CsvEscape Ciąg Znak ucieczki dla granicy pola. Wartość domyślna to: ". Na przykład wolumin CSV z nagłówkami id,name,avg i wierszem danych zawierającymi spacje, takie jak 1,"my name",5.5 , wymaga granicy " pola.

Uwaga

Typ formatu CSV jest analizowany przez specyfikację RFC 4180 .

Przykłady konfiguracji odpowiedzi

Nieskompresowany kod JSON:

"response": {
    "EventsJsonPaths": ["$"],
    "format": "json"
}

Skompresowany plik CSV:

"response": {
    "EventsJsonPaths": ["$"],
    "format": "csv",
    "IsGzipCompressed": true
}

Parquet (kompresja może być wywnioskowana):

"response": {
    "EventsJsonPaths": ["$"],
    "format": "parquet"
}

Konfiguracja dcr

Pole Wymagany Typ Opis
DataCollectionEndpoint True Ciąg DCE (punkt końcowy zbierania danych), na przykład: https://example.ingest.monitor.azure.com.
DataCollectionRuleImmutableId True Ciąg Niezmienny identyfikator DCR. Znajdź ją, wyświetlając odpowiedź tworzenia dcr lub przy użyciu interfejsu API DCR.
StreamName True ciąg Ta wartość jest zdefiniowana streamDeclaration w dcr (prefiks musi zaczynać się od custom-).

Przykładowy łącznik danych CCF

Oto przykład wszystkich składników StorageAccountBlobContainer JSON łącznika danych CCF razem.

{
    "kind": "StorageAccountBlobContainer",
    "properties": {
        "connectorDefinitionName": "[[parameters('connectorDefinitionName')]",
        "dcrConfig": {
            "streamName": "[variables('streamName')]",
            "dataCollectionEndpoint": "[[parameters('dcrConfig').dataCollectionEndpoint]",
            "dataCollectionRuleImmutableId": "[[parameters('dcrConfig').dataCollectionRuleImmutableId]"
        },
        "auth": {
            "type": "ServicePrincipal"
        },
        "request": {
            "QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
            "DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
        }
    }
}

Aby uzyskać więcej informacji, zobacz Przykład tworzenia interfejsu API REST łącznika danych.