Справочная информация по подключению сетевого накопителя Elastic
Подключатель сетевого накопителя Elastic — это подключение для источников данных сетевых накопителей. Этот подключитель написан на Python с использованием фреймворка подключений Elastic.
Просмотрите исходный код для этого подключения (ветвь 8.17, совместимая с Elastic 8.17).
Ссылка на управляемое подключение Elastic
Просмотреть ссылку на управляемое подключение Elastic
Доступность и предварительные требования
Это подключение доступно как управляемое подключение в Elastic Cloud, начиная с версии 8.9.1.
Чтобы использовать это подключение напрямую в Elastic Cloud, выполните все требования к управляемым подключениям.
Использование
Чтобы использовать это подключение напрямую в Elastic Cloud, см. Управляемые подключения Elastic.
Настройка
Для настройки подключения требуется указать следующие поля конфигурации:
- Имя пользователя
- Имя пользователя учетной записи для сетевого накопителя. Пользователь должен иметь как минимум права на чтение для указанного пути к папке.
- Пароль
- Пароль учетной записи, используемой для сканирования сетевого накопителя.
- IP-адрес
- IP-адрес сервера, на котором размещен сетевой накопитель. Значение по умолчанию —
127.0.0.1. - Порт
- Порт сервера, на котором доступна служба сетевого накопителя. Значение по умолчанию —
445. - Путь
-
- Путь к сетевому накопителю, который подключитель будет сканировать для извлечения файлов. Это имя папки, предоставленной через SMB. Подключение использует библиотеку Python
smbprotocol, которая поддерживает как SMB v2, так и v3. - Принимает только один путь — могут быть указаны родительские папки для расширения области.
-
Путь к диску должен использовать слеши (/) в качестве разделителей путей. Пример:
-
admin/bin
-
- Путь к сетевому накопителю, который подключитель будет сканировать для извлечения файлов. Это имя папки, предоставленной через SMB. Подключение использует библиотеку Python
- Включить безопасность уровня документа
-
Переключатель для включения безопасности уровня документа (DLS). При включении:
- Полные синхронизации будут извлекать списки управления доступом для каждого документа и хранить их в поле
_allow_access_control. -
Синхронизации управления доступом будут извлекать списки управления доступом пользователей и хранить их в отдельном индексе. Значение по умолчанию —
false.Для получения дополнительной информации, включая предварительные требования и ограничения, обратитесь к Безопасности уровня документа.
- Полные синхронизации будут извлекать списки управления доступом для каждого документа и хранить их в поле
- Сопоставления идентификаторов
-
Путь к CSV-файлу, содержащему SID пользователей и групп (для сетевого накопителя Linux).
Файл должен иметь следующий формат:
- Поля разделены точкой с запятой (
;) - Три поля в строке:
Username;User-SID;Group-SIDs -
SID групп являются необязательными, разделенными запятыми.
Пример с одним именем пользователя, SID пользователя и без групп:
user1;S-1;
Пример с одним именем пользователя, SID пользователя и двумя группами:
user1;S-1;S-11,S-22
- Поля разделены точкой с запятой (
Документы и синхронизации
Подключение синхронизирует папки как отдельные документы в Elasticsearch. Для типа документа folder будут добавлены следующие поля:
-
create_time -
title -
path -
modified -
time -
id
- Содержимое файлов размером более 10 МБ не будет извлекаться. (Автономные подключения могут использовать локальную службу извлечения для обработки больших двоичных файлов.)
- Разрешения не синхронизируются по умолчанию. Сначала необходимо включить DLS. В противном случае все индексируемые документы в развертывании Elastic будут видны всем пользователям с доступом к этому развертыванию.
Типы синхронизации
Полные синхронизации поддерживаются по умолчанию для всех подключений.
Это подключение также поддерживает инкрементные синхронизации.
Безопасность уровня документа
Безопасность уровня документа (DLS) позволяет ограничивать доступ к документам на основе разрешений пользователя. DLS обеспечивает синхронизацию разрешений папок и файлов, включая разрешения на уровне пользователей и групп.
Примечание: Обратитесь к DLS в приложениях поиска, чтобы узнать, как искать данные с включенной DLS при создании приложения поиска.
Доступность
- Нынешняя версия подключения Network Drive предлагает поддержку DLS только для сетевых дисков Windows.
- Чтобы извлечь пользователей и группы в сетевом диске Windows, учетные данные, добавленные в конфигурацию подключения, должны иметь доступ к Powershell сервера Windows, на котором размещен сетевой диск.
Правила синхронизации
Основные правила синхронизации одинаковы для всех подключений и доступны по умолчанию.
Расширенные правила синхронизации
Для применения расширенных правил синхронизации требуется полная синхронизация.
Расширенные правила синхронизации определяются с помощью фрагмента JSON DSL, специфичного для источника. Расширенные правила синхронизации для этого подключения используют шаблоны glob.
- Каждое правило должно содержать шаблон glob. Затем этот шаблон сопоставляется со всеми доступными путями к папкам внутри указанного пути к диску.
- Шаблон должен начинаться с поля
drive_path, настроенного в подключении. - Если шаблон соответствует каким-либо доступным путям к папкам, содержимое непосредственно внутри этих папок будет извлечено.
В следующих разделах приведены примеры расширенных правил синхронизации для этого подключения.
Индексирование файлов и папок рекурсивно внутри папок
[
{
"pattern": "Folder-shared/a/mock/**"
},
{
"pattern": "Folder-shared/b/alpha/**"
}
] Индексирование файлов и папок непосредственно внутри папки
[
{
"pattern": "Folder-shared/a/b/test"
}
] Индексирование файлов и папок непосредственно внутри набора папок
[
{
"pattern": "Folder-shared/org/*/all-tests/test[135]"
}
] Исключение файлов и папок, соответствующих шаблону
[
{
"pattern": "Folder-shared/**/all-tests/test[!7]"
}
] Извлечение содержимого
Известные проблемы
Известные проблемы для этого подключения отсутствуют.
См. Известные проблемы для проблем, влияющих на все подключения.
Устранение неполадок
См. Устранение неполадок.
Безопасность
См. Безопасность.
Автономное подключение
Просмотр справки по самоуправляемому коннектору
Доступность и предварительные требования
Этот коннектор доступен в качестве самоуправляемого самоуправляемого коннектора. Этот самоуправляемый коннектор совместим с версиями Elastic 8.6.0+.
Для использования этого коннектора выполните все требования к самоуправляемому коннектору.
Использование
Чтобы использовать этот коннектор в качестве самоуправляемого коннектора, см. Самоуправляемые коннекторы. Для дополнительных операций с использованием см. Интерфейс коннекторов в Kibana.
Настройка
При использовании процесса самоуправляемого коннектора, изначально эти поля будут использовать настройки по умолчанию, установленные в исходном коде коннектора. Они заданы в определении функции get_default_configuration.
Эти настраиваемые поля будут отображаться с соответствующими метками в интерфейсе Kibana. После подключения вы сможете обновить эти значения в Kibana.
Для настройки коннектора требуются следующие поля конфигурации:
-
username - Имя пользователя учетной записи для сетевого диска. Пользователь должен иметь как минимум права на чтение для предоставленного пути к папке.
-
password - Пароль учетной записи, используемой для сканирования сетевого диска.
-
server_ip - IP-адрес сервера, на котором размещен сетевой диск. Значение по умолчанию —
127.0.0.1. -
server_port - Порт сервера, на котором доступна служба сетевого диска. Значение по умолчанию —
445. -
drive_path -
- Путь к сетевому диску, который коннектор будет сканировать для извлечения файлов. Это имя папки, предоставленной через SMB. Коннектор использует библиотеку Python
smbprotocol, которая поддерживает оба SMB v2 и v3. - Принимает только один путь — можно указать родительские папки, чтобы расширить область поиска.
-
Путь к диску должен использовать слеши / в качестве разделителей пути. Пример:
-
admin/bin
-
- Путь к сетевому диску, который коннектор будет сканировать для извлечения файлов. Это имя папки, предоставленной через SMB. Коннектор использует библиотеку Python
-
use_document_level_security -
Переключатель для включения защиты на уровне документа (DLS). При включении:
- Полные синхронизации будут извлекать списки управления доступом для каждого документа и сохранять их в поле
_allow_access_control. -
Синхронизации управления доступом будут извлекать списки управления доступом пользователей и сохранять их в отдельном индексе.
Для получения дополнительной информации, включая предварительные требования и ограничения, см. Защита на уровне документов.
- Полные синхронизации будут извлекать списки управления доступом для каждого документа и сохранять их в поле
-
drive_type -
Тип сетевого диска для сканирования. Доступны следующие варианты:
-
Windows -
Linux
-
-
identity_mappings -
Путь к CSV-файлу, содержащему идентификаторы безопасности пользователей и групп (для сетевого диска Linux).
Файл должен быть отформатирован следующим образом:
- Поля разделены точкой с запятой (
;) - Три поля в строке:
Username;User-SID;Group-SIDs -
Идентификаторы безопасности групп разделяются запятыми и являются необязательными.
Пример с одним именем пользователя, идентификатором пользователя и без групп:
user1;S-1;
Пример с одним именем пользователя, идентификатором пользователя и двумя группами:
user1;S-1;S-11,S-22
- Поля разделены точкой с запятой (
Развертывание с помощью Docker
Вы можете развернуть коннектор сетевого диска в качестве самоуправляемого коннектора с помощью Docker. Следуйте этим инструкциям.
Шаг 1: Загрузка образца файла конфигурации
Загрузите образец файла конфигурации. Вы можете сделать это вручную или выполнить следующую команду:
curl https://raw.githubusercontent.com/elastic/connectors/main/config.yml.example --output ~/connectors-config/config.yml
Не забудьте обновить значение аргумента --output, если имя вашей директории отличается или вы хотите использовать другое имя файла конфигурации.
Шаг 2: Обновление файла конфигурации для вашего самоуправляемого коннектора
Обновите файл конфигурации с указанными ниже параметрами, чтобы он соответствовал вашей среде:
-
elasticsearch.host -
elasticsearch.api_key -
connectors
Если вы запускаете службу коннектора в Docker контейнере с Elasticsearch и Kibana, файл конфигурации будет выглядеть так:
# When connecting to your cloud deployment you should edit the host value
elasticsearch.host: http://host.docker.internal:9200
elasticsearch.api_key: <ELASTICSEARCH_API_KEY>
connectors:
-
connector_id: <CONNECTOR_ID_FROM_KIBANA>
service_type: network_drive
api_key: <CONNECTOR_API_KEY_FROM_KIBANA> # Optional. If not provided, the connector will use the elasticsearch.api_key instead Использование elasticsearch.api_key является рекомендуемым методом аутентификации. Однако вы также можете использовать elasticsearch.username и elasticsearch.password для аутентификации с вашим экземпляром Elasticsearch.
Примечание: Вы можете изменить другие значения по умолчанию, просто раскомментировав определенные настройки в файле конфигурации и изменив их значения.
Шаг 3: Запуск Docker образа
Запустите Docker образ со службой коннектора, используя следующую команду:
docker run \ -v ~/connectors-config:/config \ --network "elastic" \ --tty \ --rm \ docker.elastic.co/enterprise-search/elastic-connectors:8.17.3 \ /app/bin/elastic-ingest \ -c /config/config.yml
Для получения более подробной информации обратитесь к DOCKER.md в репозитории elastic/connectors.
Все доступные Docker образы находятся в официальном репозитории.
У нас также есть ускоренный вариант самоуправления с помощью Docker Compose, позволяющий одновременно запустить все необходимые службы: Elasticsearch, Kibana и службу коннекторов. Для получения дополнительной информации обратитесь к этому README в репозитории elastic/connectors.
Документы и синхронизации
Коннектор синхронизирует папки как отдельные документы в Elasticsearch. Для типа документа folder будут добавлены следующие поля:
-
create_time -
title -
path -
modified -
time -
id
- Содержимое файлов размером более 10 МБ не будет извлечено.
- Разрешения по умолчанию не синхронизируются. Сначала необходимо включить DLS. В противном случае, все индексированные документы в развертывании Elastic будут видны всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации
Полные синхронизации поддерживаются по умолчанию для всех коннекторов.
Этот коннектор также поддерживает инкрементные синхронизации.
Защита на уровне документов
Защита на уровне документа (DLS) позволяет ограничивать доступ к документам на основе разрешений пользователя. DLS обеспечивает синхронизацию разрешений на папки и файлы, включая разрешения на уровне пользователей и групп.
Примечание: Обратитесь к DLS в приложениях поиска, чтобы узнать, как искать данные с включенной DLS при создании приложения поиска.
Доступность
- Самоуправляемый коннектор сетевого диска поддерживает DLS для сетевых дисков Windows и Linux.
- Для извлечения пользователей и групп на сетевом диске Windows учетные данные, добавленные в конфигурацию коннектора, должны иметь доступ к Powershell сервера Windows, на котором размещен сетевой диск.
Правила синхронизации
Основные правила синхронизации идентичны для всех коннекторов и доступны по умолчанию.
Расширенные правила синхронизации
Необходима полная синхронизация для того, чтобы правила расширенной синхронизации вступили в силу.
Правила расширенной синхронизации определяются с помощью JSON-фрагмента DSL, специфичного для источника. Правила расширенной синхронизации для этого коннектора используют шаблоны glob.
- Каждое правило должно содержать шаблон glob. Этот шаблон затем сопоставляется со всеми доступными путями к папкам внутри настроенного пути к диску.
- Шаблон должен начинаться с поля
drive_path, настроенного в коннекторе. - Если шаблон соответствует какому-либо доступному пути к папке, содержимое непосредственно внутри этих папок будет извлечено.
В следующих разделах приведены примеры правил расширенной синхронизации для этого коннектора.
Рекурсивный индексирование файлов и папок внутри папок
[
{
"pattern": "Folder-shared/a/mock/**"
},
{
"pattern": "Folder-shared/b/alpha/**"
}
] Индексирование файлов и папок непосредственно внутри папки
[
{
"pattern": "Folder-shared/a/b/test"
}
] Индексирование файлов и папок непосредственно внутри набора папок
[
{
"pattern": "Folder-shared/org/*/all-tests/test[135]"
}
] Исключение файлов и папок, соответствующих шаблону
[
{
"pattern": "Folder-shared/**/all-tests/test[!7]"
}
] Извлечение содержимого
Тестирование «от края до края»
Структура коннекторов позволяет операторам запускать функциональные тесты против реального источника данных. Подробную информацию см. в разделе Тестирование коннекторов.
Для выполнения функционального теста для коннектора Network Drive с самостоятельным управлением запустите следующую команду:
$ make ftest NAME=network_drive
По умолчанию будет использоваться набор данных среднего размера. Для более быстрых тестов добавьте флаг DATA_SIZE=small:
make ftest NAME=network_drive DATA_SIZE=small
Известные проблемы
Известные проблемы для этого коннектора отсутствуют.
См. Известные проблемы для проблем, затрагивающих все коннекторы.
Устранение неполадок
См. Устранение неполадок.
Безопасность
См. Безопасность.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/es-connectors-network-drive.html