Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы создать соединитель данных BLOB-объектов службы хранилища Azure с помощью CCF, используйте эту ссылку в дополнение к REST API Microsoft Sentinel для соединителей данных .
Каждый dataConnector представляет собой определенное соединение соединителя данных Microsoft Sentinel. Один соединитель данных может иметь несколько подключений, которые извлекает данные из разных конечных точек. Конфигурация JSON, созданная с помощью этого справочного документа, используется для завершения шаблона развертывания для соединителя данных CCF.
Дополнительные сведения см. в статье Создание соединителя без кода для Microsoft Sentinel.
Создание соединителя данных CCF хранилища Azure
Упрощение разработки подключения источника данных BLOB-объектов службы хранилища Azure с помощью примера шаблона развертывания соединителя данных CCF хранилища BLOB-объектов. Дополнительные сведения см. в шаблоне CCF для хранилища соединителей.
При заполнении большинства разделов шаблона развертывания необходимо создать только первые два компонента, выходную таблицу и DCR. Дополнительные сведения см. в разделах определения выходной таблицы и правила сбора данных (DCR).
Соединители данных — создание или обновление
Чтобы найти последнюю стабильную или предварительную версию API, см. инструкцию по созданию или обновлению в документации по REST API. Разница между созданием и операцией обновления заключается в том, что обновление требует значения etag.
Метод PUT
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
Параметры URI
Дополнительные сведения о последней версии API см. в разделе "Соединители данных" — создание или обновление ПАРАМЕТРОВ URI.
Текст запроса
Текст запроса для StorageAccountBlobContainer соединителя данных CCF имеет следующую структуру:
{
"name": "{{dataConnectorId}}",
"kind": "StorageAccountBlobContainer",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"dcrConfig": {},
"response": {}
}
}
StorageAccountBlobContainer
StorageAccountBlobContainer представляет соединитель данных CCF, где уже настроены ожидаемые полезные данные ответа для источника данных BLOB-объектов службы хранилища Azure. Настройка производителя для отправки данных в BLOB-объект хранилища должна выполняться отдельно.
| Имя | Обязательный | Тип | Описание |
|---|---|---|---|
| name | True | струна | Уникальное имя подключения, соответствующего параметру URI |
| добрый | True | струна | Должен содержать значение StorageAccountBlobContainer. |
| etag | ГУИД | Оставьте пустым для создания новых соединителей. Для операций обновления etag должен соответствовать тегу etag существующего соединителя (GUID). | |
| Вариантов размещения. connectorDefinitionName | струна | Имя ресурса DataConnectorDefinition, определяющего конфигурацию пользовательского интерфейса соединителя данных. Дополнительные сведения см. в разделе "Определение соединителя данных". | |
| свойства.auth | True | Вложенный массив JSON | Описывает учетные данные для приема данных BLOB-объектов службы хранилища Azure. Дополнительные сведения см . в разделе конфигурации проверки подлинности. |
| свойства.просьба | True | Вложенный массив JSON | Описывает очереди службы хранилища Azure, получающие события, созданные в области. Дополнительные сведения см. в разделе Конфигурация request. |
| свойства.dcrConfig | Вложенный массив JSON | Обязательные параметры при отправке данных в правило сбора данных (DCR). Дополнительные сведения см. в разделе конфигурации DCR. | |
| свойства.ответ | True | Вложенный массив JSON | Описывает объект ответа и вложенное сообщение, возвращенное API при извлечении данных. Дополнительные сведения см. в разделе Конфигурация response. |
Конфигурация проверки подлинности
Соединитель BLOB-объектов службы хранилища Azure использует субъект-службу, созданный в клиенте, связанном с мультитенантным приложением, управляемым Корпорацией Майкрософт (схема субъекта-службы). Администратор клиента должен предоставить согласие на создание этого субъекта-службы. Шаблон ARM предоставляет возможность подтвердить, существует ли субъект-служба, связанный с приложением, уже существует в клиенте, и, если нет, предоставляет возможность создать субъект-службу с согласием пользователя.
Пример шаблона ARM включает операции для применения всех необходимых ролей доступа к учетной записи хранения для чтения БОЛЬШИХ двоичных объектов и участия в очередях. Убедитесь, что шаблон и используемые субъекты-службы связаны с приложением для вашей среды и предоставлено согласие администратора клиента.
В следующей таблице перечислены идентификаторы приложений для каждой среды Azure:
| Среда Azure | ApplicationId |
|---|---|
| AzureCloud | 4f05ce56-95b6-4612-9d98-a45c8cc33f9f |
Пример проверки подлинности StorageAccountBlobContainer:
"auth": {
"type": "ServicePrincipal"
}
Конфигурация запроса
В разделе запроса описываются очереди службы хранилища Azure, получающие сообщения о событиях, созданных BLOB-объектами.
| Поле | Обязательный | Тип | Описание |
|---|---|---|---|
| QueueUri | True | String | Универсальный код ресурса (URI) очереди службы хранилища Azure, получающей события создания BLOB-объектов. |
| DlqUri | True | String | Универсальный код ресурса (URI) очереди недоставленных сообщений. |
Пример запроса StorageAccountBlobContainer:
"request": {
"QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
"DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}
Конфигурация response
Определите обработку ответов соединителя данных со следующими параметрами:
| Поле | Обязательный | Тип | Описание |
|---|---|---|---|
| EventsJsonPaths | True | Список строк | Определяет путь к сообщению в ответе JSON. Выражение пути JSON указывает путь к элементу или набору элементов в структуре JSON. |
| IsGzipCompressed | Boolean | Определяет, сжимается ли ответ в gzip-файле. | |
| формат | True | String |
json, csv, xmlили parquet |
| CompressionAlgo | String | Алгоритм сжатия либо multi-gzipdeflate. Для сжатия gzip настройте IsGzipCompressed вместо True задания значения для этого параметра. |
|
| CsvDelimiter | String | Если формат ответа — CSV, и вы хотите изменить разделитель ,CSV по умолчанию. |
|
| HasCsvBoundary | Boolean | Указывает, имеет ли данные CSV границы. | |
| HasCsvHeader | Boolean | Указывает, имеет ли данные CSV заголовок. По умолчанию используется: True. |
|
| CsvEscape | String | Escape-символ для границы поля. По умолчанию используется: ". Например, CSV-файл с заголовками и строкой данных, содержащей пробелы id,name,avg , например 1,"my name",5.5 , требует " границы поля. |
Замечание
Тип формата CSV анализируется спецификацией RFC 4180 .
Примеры конфигурации ответа
Несжатый JSON:
"response": {
"EventsJsonPaths": ["$"],
"format": "json"
}
Сжатый CSV-файл:
"response": {
"EventsJsonPaths": ["$"],
"format": "csv",
"IsGzipCompressed": true
}
Parquet (сжатие можно вывести):
"response": {
"EventsJsonPaths": ["$"],
"format": "parquet"
}
Конфигурация DCR
| Поле | Обязательный | Тип | Описание |
|---|---|---|---|
| DataCollectionEndpoint | True | String | DCE (конечная точка сбора данных), например: https://example.ingest.monitor.azure.com |
| DataCollectionRuleImmutableId | True | String | Неизменяемый идентификатор DCR. Найдите его, просматривая ответ на создание DCR или используя API DCR. |
| StreamName | True | струна | Это значение определяется в DCR (префикс должен начинаться streamDeclaration с Custom-). |
Пример соединителя данных CCF
Ниже приведен пример всех компонентов StorageAccountBlobContainer соединителя данных CCF вместе.
{
"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'))]"
}
}
}
Дополнительные сведения см. в примере REST API соединителя данных.