Azure Referenz zum Speicherblob-Datenconnector für das Codeless Connector Framework

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