referencia del conector de datos de Azure Storage Blob para Codeless Connector Framework

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.