Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para criar um conector de dados do Azure Blob de Armazenamento com o Codeless Connector Framework (CCF), utilize esta referência para além do artigo Microsoft Sentinel API REST para Conectores de Dados.
Cada dataConnector um representa uma ligação específica de um conector de dados Microsoft Sentinel. Um conector de dados pode ter várias ligações, que obtêm dados de diferentes pontos finais. A configuração JSON criada com este documento de referência é utilizada para concluir o modelo de implementação do conector de dados CCF.
Para obter mais informações, veja Criar um conector sem código para Microsoft Sentinel.
Criar o conector de dados CCF do Blob de Armazenamento Azure
Simplifique o desenvolvimento da ligação da sua origem de dados do Blob de Armazenamento Azure com um modelo de implementação de conector de dados CCF de Blob de Armazenamento de exemplo. Para obter mais informações, veja Connector StorageBlob CCF template (Modelo Do Conector StorageBlob CCF).
Com a maioria das secções do modelo de implementação preenchidas, só precisa de criar os dois primeiros componentes, a tabela de saída e o DCR. Para obter mais informações, veja as secções Definição da tabela de saída e Regra de Recolha de Dados (DCR).
Conectores de Dados – Criar ou atualizar
Veja a operação Criar ou Atualizar nos documentos da API REST para encontrar a versão mais recente da API estável ou de pré-visualização. A diferença entre a operação de criação e atualização é que a atualização requer o valor de 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 obter mais informações sobre a versão mais recente da API, veja Conectores de Dados – Criar ou Atualizar Parâmetros de URI.
| Nome | Descrição |
|---|---|
| dataConnectorId | O ID do conector de dados tem de ser um nome exclusivo e é o mesmo que o name parâmetro no corpo do pedido. |
| resourceGroupName | O nome do grupo de recursos, não sensível a maiúsculas e minúsculas. |
| subscriptionId | O ID da subscrição de destino. |
| workspaceName | O nome da área de trabalho, não o ID. Padrão Regex: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
| versão da API | A versão da API a utilizar para esta operação. |
Corpo da solicitação
O corpo do pedido para um StorageAccountBlobContainer conector de dados CCF tem a seguinte estrutura:
{
"name": "{{dataConnectorId}}",
"kind": "StorageAccountBlobContainer",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"dcrConfig": {},
"response": {}
}
}
StorageAccountBlobContainer
StorageAccountBlobContainer representa um conector de dados CCF onde já foram configurados os payloads de resposta esperados para a sua origem de dados do Blob de Armazenamento Azure. A configuração do produtor para enviar dados para o Blob de Armazenamento tem de ser feita separadamente.
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | True | string | O nome exclusivo da ligação que corresponde ao parâmetro URI |
| kind | True | string | Deve ser StorageAccountBlobContainer |
| etag | GUID | Deixe vazio para a criação de novos conectores. Para operações de atualização, a etag tem de corresponder à etag (GUID) do conector existente. | |
| propriedades. connectorDefinitionName | string | O nome do recurso DataConnectorDefinition que define a configuração da IU do conector de dados. Para obter mais informações, veja Definição do Conector de Dados. | |
| propriedades. autenticação | Verdadeiro | JSON Aninhado | Descreve as credenciais para ingerir Azure dados do Blob de Armazenamento. Para obter mais informações, veja Configuração da autenticação. |
| propriedades. pedido | Verdadeiro | JSON Aninhado | Descreve o Azure filas de Armazenamento que recebem eventos criados pelo blob no âmbito. Para obter mais informações, veja Configuração do pedido. |
| propriedades. dcrConfig | JSON Aninhado | Parâmetros necessários quando os dados são enviados para uma Regra de Recolha de Dados (DCR). Para obter mais informações, veja Configuração do DCR. | |
| propriedades. resposta | Verdadeiro | JSON Aninhado | Descreve o objeto de resposta e a mensagem aninhada devolvida da API ao extrair os dados. Para obter mais informações, veja Configuração da resposta. |
Configuração da autenticação
O conector Azure Blob de Armazenamento baseia-se num principal de serviço criado no seu inquilino associado a uma aplicação multi-inquilino gerida pela Microsoft (esquema do principal de serviço). O administrador de inquilinos tem de conceder consentimento para criar este principal de serviço. O modelo do ARM permite confirmar se o principal de serviço associado à aplicação já existe no seu inquilino e, caso contrário, fornece uma opção para criar o principal de serviço com o consentimento do utilizador.
O exemplo de modelo do ARM inclui operações para aplicar todo o acesso baseado em funções necessário na conta de armazenamento para ler blobs e contribuir para as filas. Certifique-se de que o modelo e os principais de serviço utilizados estão associados à aplicação para o seu ambiente e que foi concedido o consentimento do administrador do inquilino.
A tabela seguinte lista os IDs da aplicação por ambiente Azure:
| Ambiente de Azure | ApplicationId |
|---|---|
| AzureCloud | 4f05ce56-95b6-4612-9d98-a45c8cc33f9f |
Exemplo de autenticação StorageAccountBlobContainer:
"auth": {
"type": "ServicePrincipal"
}
Configuração do pedido
A secção de pedido descreve as filas de armazenamento Azure que recebem mensagens de eventos criadas pelo blob.
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| QueueUri | Verdadeiro | Cadeia de caracteres | O URI da fila de Armazenamento Azure que recebe eventos criados por blobs. |
| DlqUri | Verdadeiro | Cadeia de caracteres | O URI da fila de mensagens não entregues para mensagens falhadas. |
Exemplo de pedido StorageAccountBlobContainer:
"request": {
"QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
"DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}
Configuração da resposta
Defina o processamento de respostas do conector de dados com os seguintes parâmetros:
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| EventsJsonPaths | Verdadeiro | Lista de Cadeias | Define o caminho para a mensagem no JSON de resposta. Uma expressão de caminho JSON especifica um caminho para um elemento, ou um conjunto de elementos, numa estrutura JSON. |
| IsGzipCompressed | Booliano | Determina se a resposta é comprimida num ficheiro gzip. | |
| format | Verdadeiro | Cadeia de caracteres |
json, , csvxmlouparquet |
| CompressionAlgo | Cadeia de caracteres | O algoritmo de compressão, ou multi-gzipdeflate. Para compressão gzip, configure IsGzipCompressed para True em vez de definir um valor para este parâmetro. |
|
| CsvDelimiter | Cadeia de caracteres | Se o formato de resposta for CSV e quiser alterar o delimitador CSV predefinido de ,. |
|
| HasCsvBoundary | Booliano | Indica se os dados CSV têm um limite. | |
| HasCsvHeader | Booliano | Indica se os dados CSV têm um cabeçalho. A predefinição é: True. |
|
| CsvEscape | Cadeia de caracteres | Caráter de escape para um limite de campo. A predefinição é: ". Por exemplo, um CSV com cabeçalhos id,name,avg e uma linha de dados que contenham espaços como 1,"my name",5.5 requer o limite do " campo. |
Observação
O tipo de formato CSV é analisado pela especificação RFC 4180 .
Exemplos de configuração de resposta
JSON não comprimido:
"response": {
"EventsJsonPaths": ["$"],
"format": "json"
}
CSV comprimido:
"response": {
"EventsJsonPaths": ["$"],
"format": "csv",
"IsGzipCompressed": true
}
Parquet (a compressão pode ser inferida):
"response": {
"EventsJsonPaths": ["$"],
"format": "parquet"
}
Configuração do DCR
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| DataCollectionEndpoint | Verdadeiro | Cadeia de caracteres | DCE (Ponto Final de Recolha de Dados), por exemplo: https://example.ingest.monitor.azure.com. |
| DataCollectionRuleImmutableId | Verdadeiro | Cadeia de caracteres | O ID imutável do DCR. Localize-a ao ver a resposta de criação do DCR ou através da API DCR. |
| StreamName | True | string | Este valor é o streamDeclaration definido no DCR (o prefixo tem de começar por Personalizado-). |
Conector de dados CCF de exemplo
Eis um exemplo de todos os componentes do JSON do StorageAccountBlobContainer conector de dados CCF em conjunto.
{
"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 obter mais informações, veja Create data connector REST API example (Exemplo de API REST do conector de dados).