Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.