Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um einen Azure Storage Blob-Datenconnector mit dem Codeless Connector Framework (CCF) zu erstellen, verwenden Sie diesen Verweis zusätzlich zum Artikel Microsoft Sentinel REST-API für Datenconnectors.
Jede dataConnector stellt eine bestimmte Verbindung eines Microsoft Sentinel-Datenconnectors dar. Ein Datenconnector kann über mehrere Verbindungen verfügen, die Daten von verschiedenen Endpunkten abrufen. Die mithilfe dieses Referenzdokuments erstellte JSON-Konfiguration wird verwendet, um die Bereitstellungsvorlage für den CCF-Datenconnector abzuschließen.
Weitere Informationen finden Sie unter Erstellen eines Connectors ohne Code für Microsoft Sentinel.
Erstellen des Azure Storage Blob CCF-Datenconnectors
Vereinfachen Sie die Entwicklung der Verbindung Ihrer Azure Storage Blob-Datenquelle mit einer Beispielvorlage für den Storage Blob CCF-Datenconnector. Weitere Informationen finden Sie unter Connector StorageBlob CCF-Vorlage.
Da die meisten Bereitstellungsvorlagenabschnitte ausgefüllt sind, müssen Sie nur die ersten beiden Komponenten erstellen, die Ausgabetabelle und den DCR. Weitere Informationen finden Sie in den Abschnitten Ausgabetabellendefinition und Datensammlungsregel (Data Collection Rule, DCR).
Datenconnectors: Erstellen oder Aktualisieren
Verweisen Sie auf den Vorgang Erstellen oder Aktualisieren in der REST-API-Dokumentation, um die neueste stabile oder Vorschauversion der API zu finden. Der Unterschied zwischen dem Erstellungs - und dem Aktualisierungsvorgang besteht darin, dass das Update den etag-Wert erfordert.
PUT-Methode
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
URI-Parameter
Weitere Informationen zur neuesten API-Version finden Sie unter Datenconnectors – Erstellen oder Aktualisieren von URI-Parametern.
| Name | Beschreibung |
|---|---|
| dataConnectorId | Die Datenconnector-ID muss ein eindeutiger Name sein und entspricht dem name Parameter im Anforderungstext. |
| resourceGroupName | Der Name der Ressourcengruppe, wobei die Groß-/Kleinschreibung nicht beachtet wird. |
| subscriptionId | Die ID des Zielabonnements. |
| workspaceName | Der Name des Arbeitsbereichs, nicht die ID. RegEx-Muster: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
| API-Version | Die API-Version, die für diesen Vorgang verwendet werden soll. |
Anforderungstext
Der Anforderungstext für einen StorageAccountBlobContainer CCF-Datenconnector weist die folgende Struktur auf:
{
"name": "{{dataConnectorId}}",
"kind": "StorageAccountBlobContainer",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"dcrConfig": {},
"response": {}
}
}
StorageAccountBlobContainer
StorageAccountBlobContainer stellt einen CCF-Datenconnector dar, bei dem die erwarteten Antwortnutzlasten für Ihre Azure Storage Blob-Datenquelle bereits konfiguriert wurden. Die Konfiguration Ihres Producers zum Senden von Daten an Storage Blob muss separat erfolgen.
| Name | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| name | True | Zeichenfolge | Der eindeutige Name der Verbindung, die dem URI-Parameter entspricht |
| Art | True | Zeichenfolge | Muss StorageAccountBlobContainer sein. |
| etag | GUID | Lassen Sie zum Erstellen neuer Connectors leer. Für Updatevorgänge muss das eTag mit dem etag (GUID) des vorhandenen Connectors übereinstimmen. | |
| Eigenschaften. connectorDefinitionName | string | Der Name der DataConnectorDefinition-Ressource, die die Ui-Konfiguration des Datenconnectors definiert. Weitere Informationen finden Sie unter Datenconnectordefinition. | |
| Eigenschaften. Auth | Wahr | Geschachtelter JSON-Code | Beschreibt die Anmeldeinformationen für die Erfassung Azure Storage-Blobdaten. Weitere Informationen finden Sie unter Authentifizierungskonfiguration. |
| Eigenschaften. Anfrage | Wahr | Geschachtelter JSON-Code | Beschreibt die Azure Storage-Warteschlangen, die im Gültigkeitsbereich erstellte Blobereignisse empfangen. Weitere Informationen finden Sie unter Anforderungskonfiguration. |
| Eigenschaften. dcrConfig | Geschachtelter JSON-Code | Erforderliche Parameter, wenn die Daten an eine Datensammlungsregel (Data Collection Rule, DCR) gesendet werden. Weitere Informationen finden Sie unter DCR-Konfiguration. | |
| Eigenschaften. Antwort | Wahr | Geschachtelter JSON-Code | Beschreibt das Antwortobjekt und die geschachtelte Nachricht, die beim Pullen der Daten von der API zurückgegeben werden. Weitere Informationen finden Sie unter Antwortkonfiguration. |
Authentifizierungskonfiguration
Der Azure Storage Blob-Connector basiert auf einem Dienstprinzipal, der in Ihrem Mandanten erstellt wurde, der einer von Microsoft verwalteten mehrinstanzenfähigen Anwendung (Dienstprinzipal-Blaupause) zugeordnet ist. Der Mandantenadministrator muss die Zustimmung zum Erstellen dieses Dienstprinzipals erteilen. Die ARM-Vorlage bietet die Möglichkeit, zu bestätigen, ob der der Anwendung zugeordnete Dienstprinzipal bereits in Ihrem Mandanten vorhanden ist. Andernfalls bietet sie die Möglichkeit, den Dienstprinzipal mit der Zustimmung des Benutzers zu erstellen.
Das ARM-Vorlagenbeispiel enthält Vorgänge zum Anwenden des gesamten erforderlichen rollenbasierten Zugriffs auf das Speicherkonto, um Blobs zu lesen und an Warteschlangen mitzuwirken. Stellen Sie sicher, dass die Vorlage und die verwendeten Dienstprinzipale der Anwendung für Ihre Umgebung zugeordnet sind und dass die Zustimmung des Mandantenadministrators erteilt wurde.
In der folgenden Tabelle sind die Anwendungs-IDs pro Azure Umgebung aufgeführt:
| Azure Umgebung | ApplicationId |
|---|---|
| AzureCloud | 4f05ce56-95b6-4612-9d98-a45c8cc33f9f |
Beispiel für die StorageAccountBlobContainer-Authentifizierung:
"auth": {
"type": "ServicePrincipal"
}
Anforderungskonfiguration
Im Anforderungsabschnitt werden die Azure Storage-Warteschlangen beschrieben, die Blob-erstellte Ereignismeldungen empfangen.
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| QueueUri | Wahr | Zeichenfolge | Der URI der Azure Storage-Warteschlange, die blob-erstellte Ereignisse empfängt. |
| DlqUri | Wahr | Zeichenfolge | Der URI der Warteschlange für unzustellbare Nachrichten für fehlerhafte Nachrichten. |
StorageAccountBlobContainer-Anforderungsbeispiel:
"request": {
"QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
"DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}
Antwortkonfiguration
Definieren Sie die Antwortbehandlung Ihres Datenconnectors mit den folgenden Parametern:
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| EventsJsonPaths | Wahr | Liste der Zeichenfolgen | Definiert den Pfad zur Nachricht im ANTWORT-JSON-Code. Ein JSON-Pfadausdruck gibt einen Pfad zu einem Element oder einer Gruppe von Elementen in einer JSON-Struktur an. |
| IsGzipCompressed | Boolean | Bestimmt, ob die Antwort in einer gzip-Datei komprimiert wird. | |
| format | Wahr | Zeichenfolge |
json, csv, xmloder parquet |
| CompressionAlgo | Zeichenfolge | Der Komprimierungsalgorithmus, entweder multi-gzip oder deflate. Konfigurieren Sie für die gzip-Komprimierung IsGzipCompressed auf True , anstatt einen Wert für diesen Parameter festzulegen. |
|
| CsvDelimiter | Zeichenfolge | Wenn das Antwortformat CSV ist und Sie das CSV-Standardtrennzeichen von ,ändern möchten. |
|
| HasCsvBoundary | Boolean | Gibt an, ob die CSV-Daten eine Grenze haben. | |
| HasCsvHeader | Boolean | Gibt an, ob die CSV-Daten über einen Header verfügen. Standardwert: True. |
|
| CsvEscape | Zeichenfolge | Escapezeichen für eine Feldgrenze. Standardwert: ". Beispielsweise erfordert eine CSV-Datei mit Kopfzeilen id,name,avg und einer Datenzeile, die Leerzeichen wie 1,"my name",5.5 enthält, die " Feldgrenze. |
Hinweis
Der CSV-Formattyp wird von der RFC 4180-Spezifikation analysiert.
Antwortkonfigurationsbeispiele
Nicht komprimierter JSON-Code:
"response": {
"EventsJsonPaths": ["$"],
"format": "json"
}
Komprimierte CSV-Datei:
"response": {
"EventsJsonPaths": ["$"],
"format": "csv",
"IsGzipCompressed": true
}
Parquet (Komprimierung kann abgeleitet werden):
"response": {
"EventsJsonPaths": ["$"],
"format": "parquet"
}
DCR-Konfiguration
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
| DataCollectionEndpoint | Wahr | Zeichenfolge | DCE (Datensammlungsendpunkt), z. B.: https://example.ingest.monitor.azure.com. |
| DataCollectionRuleImmutableId | Wahr | Zeichenfolge | Die unveränderliche DCR-ID. Suchen Sie sie, indem Sie die Antwort zur DCR-Erstellung anzeigen oder die DCR-API verwenden. |
| StreamName | True | Zeichenfolge | Dieser Wert ist der streamDeclaration in der DCR definierte Wert (Präfix muss mit Custom-beginnen). |
Beispiel für einen CCF-Datenconnector
Hier sehen Sie ein Beispiel für alle Komponenten des JSON-Codes des StorageAccountBlobContainer CCF-Datenconnectors.
{
"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'))]"
}
}
}
Weitere Informationen finden Sie unter Create data connector REST API example( Create data connector REST API example).