Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para crear un conector de datos de Azure Storage Blob con Codeless Connector Framework (CCF), use esta referencia además del artículo Microsoft Sentinel API REST para conectores de datos.
Cada uno dataConnector representa una conexión específica de un conector de datos de Microsoft Sentinel. Un conector de datos puede tener varias conexiones, que capturan datos de distintos puntos de conexión. La configuración JSON compilada con este documento de referencia se usa para completar la plantilla de implementación para el conector de datos CCF.
Para obtener más información, consulte Creación de un conector sin código para Microsoft Sentinel.
Compilación del conector de datos de Azure Storage Blob CCF
Simplifique el desarrollo de la conexión del origen de datos Azure Storage Blob con una plantilla de implementación de conector de datos CCF de Storage Blob de ejemplo. Para obtener más información, vea Connector StorageBlob CCF template (Almacenamiento del conectorBlob CCF template).
Con la mayoría de las secciones de plantilla de implementación rellenadas, solo es necesario compilar los dos primeros componentes, la tabla de salida y la DCR. Para obtener más información, vea las secciones Definición de tabla de salida y Regla de recopilación de datos (DCR).
Conectores de datos: creación o actualización
Haga referencia a la operación crear o actualizar en los documentos de la API REST para encontrar la versión más reciente de la API estable o en versión preliminar. La diferencia entre la operación de creación y actualización es que la actualización requiere el valor etag .
Método PUT
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
Parámetros de URI
Para obtener más información sobre la versión más reciente de la API, consulte Conectores de datos: creación o actualización de parámetros de URI.
| Nombre | Descripción |
|---|---|
| dataConnectorId | El identificador del conector de datos debe ser un nombre único y es el mismo que el name parámetro en el cuerpo de la solicitud. |
| resourceGroupName | Nombre del grupo de recursos, no distingue mayúsculas de minúsculas. |
| subscriptionId | Identificador de la suscripción de destino. |
| workspaceName | El nombre del área de trabajo, no el identificador. Patrón Regex: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
| api-version | Versión de API que se va a usar para esta operación. |
Cuerpo de la solicitud
El cuerpo de la solicitud para un StorageAccountBlobContainer conector de datos CCF tiene la siguiente estructura:
{
"name": "{{dataConnectorId}}",
"kind": "StorageAccountBlobContainer",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"dcrConfig": {},
"response": {}
}
}
StorageAccountBlobContainer
StorageAccountBlobContainer representa un conector de datos CCF donde ya se han configurado las cargas de respuesta esperadas para el origen de datos Azure Storage Blob. La configuración del productor para enviar datos a Storage Blob debe realizarse por separado.
| Nombre | Obligatorio | Tipo | Descripción |
|---|---|---|---|
| name | True | string | Nombre único de la conexión que coincide con el parámetro URI |
| kind | True | string | Debe ser StorageAccountBlobContainer |
| etag | GUID | Deje vacío para la creación de nuevos conectores. Para las operaciones de actualización, el etag debe coincidir con el etag (GUID) del conector existente. | |
| propiedades. connectorDefinitionName | string | Nombre del recurso DataConnectorDefinition que define la configuración de la interfaz de usuario del conector de datos. Para obtener más información, vea Definición del conector de datos. | |
| propiedades. autenticación | Verdadero | JSON anidado | Describe las credenciales para ingerir Azure datos de Storage Blob. Para obtener más información, consulte configuración de autenticación. |
| propiedades. solicitud | Verdadero | JSON anidado | Describe las colas de Azure Storage que reciben eventos creados de blobs en el ámbito. Para obtener más información, consulte configuración de solicitudes. |
| propiedades. dcrConfig | JSON anidado | Parámetros necesarios cuando los datos se envían a una regla de recopilación de datos (DCR). Para obtener más información, consulte Configuración de DCR. | |
| propiedades. respuesta | Verdadero | JSON anidado | Describe el objeto de respuesta y el mensaje anidado devueltos desde la API al extraer los datos. Para obtener más información, vea Configuración de respuesta. |
Configuración de autenticación
El conector de Azure Storage Blob se basa en una entidad de servicio creada en el inquilino asociada a una aplicación multiinquilino administrada por Microsoft (plano técnico de entidad de servicio). El administrador de inquilinos debe conceder consentimiento para crear esta entidad de servicio. La plantilla de ARM proporciona la capacidad de confirmar si la entidad de servicio asociada a la aplicación ya existe en el inquilino y, en caso contrario, proporciona una opción para crear la entidad de servicio con el consentimiento del usuario.
El ejemplo de plantilla de ARM incluye operaciones para aplicar todo el acceso basado en rol necesario en la cuenta de almacenamiento para leer blobs y contribuir a las colas. Asegúrese de que la plantilla y las entidades de servicio usadas están asociadas a la aplicación para su entorno y que se ha concedido el consentimiento del administrador de inquilinos.
En la tabla siguiente se enumeran los identificadores de aplicación por entorno de Azure:
| entorno de Azure | ApplicationId |
|---|---|
| AzureCloud | 4f05ce56-95b6-4612-9d98-a45c8cc33f9f |
Ejemplo de autenticación de StorageAccountBlobContainer:
"auth": {
"type": "ServicePrincipal"
}
Configuración de la solicitud
En la sección de solicitud se describen las colas de Azure Storage que reciben mensajes de evento creados por blobs.
| Campo | Obligatorio | Tipo | Description |
|---|---|---|---|
| QueueUri | Verdadero | Cadena | URI de la cola de Azure Storage que recibe eventos creados por blobs. |
| DlqUri | Verdadero | Cadena | URI de la cola de mensajes fallidos para los mensajes con errores. |
Ejemplo de solicitud StorageAccountBlobContainer:
"request": {
"QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
"DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}
Configuración de respuesta
Defina el control de respuesta del conector de datos con los parámetros siguientes:
| Campo | Obligatorio | Tipo | Description |
|---|---|---|---|
| EventsJsonPaths | Verdadero | Lista de cadenas | Define la ruta de acceso al mensaje en el JSON de respuesta. Una expresión de ruta de acceso JSON especifica una ruta de acceso a un elemento, o un conjunto de elementos, en una estructura JSON. |
| IsGzipCompressed | Booleano | Determina si la respuesta se comprime en un archivo gzip. | |
| format | Verdadero | Cadena |
json, csv, xmlo parquet |
| CompressionAlgo | Cadena | Algoritmo de compresión, ya sea multi-gzip o deflate. Para la compresión gzip, configure IsGzipCompressed en True en lugar de establecer un valor para este parámetro. |
|
| CsvDelimiter | Cadena | Si el formato de respuesta es CSV y desea cambiar el delimitador CSV predeterminado de ,. |
|
| HasCsvBoundary | Booleano | Indica si los datos CSV tienen un límite. | |
| HasCsvHeader | Booleano | Indica si los datos CSV tienen un encabezado. El valor predeterminado es : True. |
|
| CsvEscape | Cadena | Carácter de escape para un límite de campo. El valor predeterminado es : ". Por ejemplo, un ARCHIVO CSV con encabezados id,name,avg y una fila de datos que contienen espacios como 1,"my name",5.5 requiere el límite de " campo. |
Nota:
El tipo de formato CSV se analiza mediante la especificación RFC 4180 .
Ejemplos de configuración de respuesta
JSON sin comprimir:
"response": {
"EventsJsonPaths": ["$"],
"format": "json"
}
CSV comprimido:
"response": {
"EventsJsonPaths": ["$"],
"format": "csv",
"IsGzipCompressed": true
}
Parquet (la compresión se puede inferir):
"response": {
"EventsJsonPaths": ["$"],
"format": "parquet"
}
Configuración de DCR
| Campo | Obligatorio | Tipo | Description |
|---|---|---|---|
| DataCollectionEndpoint | Verdadero | Cadena | DCE (punto de conexión de recopilación de datos), por ejemplo: https://example.ingest.monitor.azure.com. |
| DataCollectionRuleImmutableId | Verdadero | Cadena | Identificador inmutable de DCR. Para encontrarlo, consulte la respuesta de creación de DCR o use la API de DCR. |
| StreamName | True | string | Este valor es el streamDeclaration definido en dcr (el prefijo debe comenzar por Custom-). |
Conector de datos CCF de ejemplo
Este es un ejemplo de todos los componentes del StorageAccountBlobContainer json del conector de datos CCF juntos.
{
"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'))]"
}
}
}
Para obtener más información, consulte El ejemplo de API REST para crear conectores de datos.