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