Azure informazioni di riferimento sul connettore dati BLOB di archiviazione per codeless Connector Framework

Per creare un connettore di dati blob di archiviazione Azure con Codeless Connector Framework (CCF), usare questo riferimento oltre all'articolo Microsoft Sentinel API REST per connettori dati.

Ogni dataConnector rappresenta una connessione specifica di un connettore dati Microsoft Sentinel. Un connettore dati potrebbe avere più connessioni, che recuperano dati da endpoint diversi. La configurazione JSON creata usando questo documento di riferimento viene usata per completare il modello di distribuzione per il connettore dati CCF.

Per altre informazioni, vedere Creare un connettore senza codice per Microsoft Sentinel.

Compilare il connettore dati CCF del BLOB di archiviazione Azure

Semplificare lo sviluppo della connessione dell'origine dati blob di archiviazione Azure con un modello di distribuzione del connettore di dati CCF del BLOB di archiviazione di esempio. Per altre informazioni, vedere Modello CCF Connector StorageBlob.

Con la maggior parte delle sezioni del modello di distribuzione compilate, è sufficiente compilare solo i primi due componenti, la tabella di output e il DCR. Per altre informazioni, vedere le sezioni Definizione tabella di output e Regola raccolta dati (DCR).

Connettori dati - Creare o aggiornare

Fare riferimento all'operazione Di creazione o aggiornamento nella documentazione dell'API REST per trovare la versione più recente dell'API stabile o di anteprima. La differenza tra l'operazione di creazione e aggiornamento è che l'aggiornamento richiede il valore etag .

Metodo PUT

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

Parametri URI

Per altre informazioni sulla versione più recente dell'API, vedere Connettori dati - Creare o aggiornare parametri URI.

Nome Descrizione
dataConnectorId L'ID del connettore dati deve essere un nome univoco ed è uguale al name parametro nel corpo della richiesta.
resourceGroupName Nome del gruppo di risorse, senza distinzione tra maiuscole e minuscole.
Subscriptionid ID della sottoscrizione di destinazione.
workspaceName Nome dell'area di lavoro, non ID.
Modello regex: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
api-version Versione dell'API da usare per questa operazione.

Corpo della richiesta

Il corpo della richiesta per un StorageAccountBlobContainer connettore dati CCF ha la struttura seguente:

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

StorageAccountBlobContainer

StorageAccountBlobContainer rappresenta un connettore dati CCF in cui sono già stati configurati i payload di risposta previsti per l'origine dati blob di archiviazione Azure. La configurazione del producer per l'invio dei dati al BLOB di archiviazione deve essere eseguita separatamente.

Nome Obbligatorio Tipo Descrizione
Nome True stringa Nome univoco della connessione corrispondente al parametro URI
gentile True stringa Deve essere StorageAccountBlobContainer
Etag GUID Lasciare vuoto per la creazione di nuovi connettori. Per le operazioni di aggiornamento, l'etag deve corrispondere all'etag (GUID) del connettore esistente.
Proprietà. connectorDefinitionName stringa Nome della risorsa DataConnectorDefinition che definisce la configurazione dell'interfaccia utente del connettore dati. Per altre informazioni, vedere Definizione del connettore dati.
Proprietà. Auth Vero JSON annidato Descrive le credenziali per l'inserimento di dati blob di archiviazione Azure. Per altre informazioni, vedere Configurazione dell'autenticazione.
Proprietà. Richiesta Vero JSON annidato Descrive le code di archiviazione Azure che ricevono eventi creati dal BLOB nell'ambito. Per altre informazioni, vedere Configurazione delle richieste.
Proprietà. dcrConfig JSON annidato Parametri obbligatori quando i dati vengono inviati a una regola di raccolta dati ( DCR). Per altre informazioni, vedere Configurazione di DCR.
Proprietà. Risposta Vero JSON annidato Descrive l'oggetto risposta e il messaggio annidato restituito dall'API durante il pull dei dati. Per altre informazioni, vedere Configurazione della risposta.

Configurazione dell'autenticazione

Il connettore BLOB di archiviazione Azure si basa su un'entità servizio creata nel tenant associata a un'applicazione multi-tenant gestita da Microsoft (progetto dell'entità servizio). L'amministratore del tenant deve concedere il consenso per creare questa entità servizio. Il modello arm offre la possibilità di verificare se l'entità servizio associata all'applicazione esiste già nel tenant e, in caso contrario, offre un'opzione per creare l'entità servizio con il consenso dell'utente.

L'esempio di modello arm include operazioni per applicare tutti gli accessi in base al ruolo necessari all'account di archiviazione per leggere i BLOB e contribuire alle code. Assicurarsi che il modello e le entità servizio usate siano associati all'applicazione per l'ambiente e che sia stato concesso il consenso dell'amministratore del tenant.

Nella tabella seguente sono elencati gli ID applicazione per ogni ambiente Azure:

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

Esempio di autenticazione StorageAccountBlobContainer:

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

Configurazione della richiesta

La sezione della richiesta descrive le code di archiviazione Azure che ricevono messaggi di evento creati dal BLOB.

Campo Obbligatorio Tipo Descrizione
QueueUri Vero Stringa URI della coda di archiviazione Azure che riceve gli eventi creati dal BLOB.
DlqUri Vero Stringa URI della coda di messaggi non recapitabili per i messaggi non riusciti.

Esempio di richiesta StorageAccountBlobContainer:

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

Configurazione della risposta

Definire la gestione della risposta del connettore dati con i parametri seguenti:

Campo Obbligatorio Tipo Descrizione
EventiJsonPaths Vero Elenco di stringhe Definisce il percorso del messaggio nella risposta JSON. Un'espressione di percorso JSON specifica un percorso di un elemento, o un set di elementi, in una struttura JSON.
IsGzipCompressed Booleano Determina se la risposta è compressa in un file gzip.
Formato Vero Stringa json, csv, xml, o parquet
CompressionAlgo Stringa Algoritmo di compressione, multi-gzip o deflate. Per la compressione gzip, configurare IsGzipCompressed su True anziché impostare un valore per questo parametro.
CsvDelimiter Stringa Se il formato della risposta è CSV e si vuole modificare il delimitatore CSV predefinito di ,.
HasCsvBoundary Booleano Indica se i dati CSV hanno un limite.
HasCsvHeader Booleano Indica se i dati CSV hanno un'intestazione. Il valore predefinito è: True.
CsvEscape Stringa Carattere di escape per un limite di campo. Il valore predefinito è: ". Ad esempio, un csv con intestazioni id,name,avg e una riga di dati contenenti spazi come 1,"my name",5.5 richiede il limite del " campo.

Nota

Il tipo di formato CSV viene analizzato in base alla specifica RFC 4180 .

Esempi di configurazione della risposta

JSON non compresso:

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

CSV compresso:

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

Parquet (la compressione può essere dedotta):

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

Configurazione DCR

Campo Obbligatorio Tipo Descrizione
DataCollectionEndpoint Vero Stringa DCE (Endpoint raccolta dati), ad esempio: https://example.ingest.monitor.azure.com.
DataCollectionRuleImmutableId Vero Stringa ID non modificabile DCR. Trovarlo visualizzando la risposta di creazione DCR o usando l'API DCR.
Streamname True stringa Questo valore è definito streamDeclaration nel DCR (il prefisso deve iniziare con Custom-).

Esempio di connettore dati CCF

Ecco un esempio di tutti i componenti del StorageAccountBlobContainer connettore dati CCF JSON insieme.

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

Per altre informazioni, vedere Creare un esempio di API REST del connettore dati.