弹性网络驱动器连接器参考

编辑

弹性网络驱动器连接器 是一个用于网络驱动器数据源的连接器。此连接器使用 Elastic 连接器框架用 Python 编写。

查看此连接器的源代码(分支 8.17,与 Elastic 8.17 兼容)。

Elastic 托管连接器参考

编辑
查看 Elastic 托管连接器 参考
可用性和先决条件
编辑

此连接器从 8.9.1 版本开始,在 Elastic Cloud 上作为托管连接器提供。

要在 Elastic Cloud 中本地使用此连接器,请满足所有托管连接器要求

使用方法
编辑

要在 Elastic Cloud 中本地使用此连接器,请参阅Elastic 托管连接器

配置
编辑

设置连接器需要以下配置字段

用户名
网络驱动器帐户的用户名。该用户必须对提供的文件夹路径至少具有读取权限。
密码
用于爬取网络驱动器的帐户密码。
IP 地址
托管网络驱动器的服务器 IP 地址。默认值为 127.0.0.1
端口
网络驱动器服务可用的服务器端口。默认值为 445
路径
  • 连接器将爬取以获取文件的网络驱动器路径。这是通过 SMB 共享的文件夹的名称。连接器使用 Python smbprotocol 库,该库同时支持 SMB v2v3
  • 仅接受一个路径 — 可以指定父文件夹以扩大范围。
  • 驱动器路径应使用正斜杠作为路径分隔符。示例

    • admin/bin
启用文档级安全性

切换以启用文档级安全性 (DLS)。启用后

  • 完全同步将获取每个文档的访问控制列表,并将其存储在 _allow_access_control 字段中。
  • 访问控制同步将获取用户的访问控制列表,并将其存储在单独的索引中。默认值为 false

    有关更多信息,包括先决条件和限制,请参阅文档级安全性

身份映射

包含用户和组 SID 的 CSV 文件路径(适用于 Linux 网络驱动器)。

文件应按如下格式格式化

  • 字段用分号 (;) 分隔
  • 每行三个字段:用户名;用户 SID;组 SID
  • 组 SID 是逗号分隔的,并且是可选的。

    示例,其中包含一个用户名、用户 SID 和无组

    user1;S-1;

    示例,其中包含一个用户名、用户 SID 和两个组

    user1;S-1;S-11,S-22
文档和同步
编辑

连接器将文件夹作为单独的文档同步到 Elasticsearch 中。以下字段将添加到文档类型 folder

  • create_time
  • title
  • path
  • modified
  • time
  • id
  • 不会提取大于 10 MB 的文件的内容。(自托管连接器可以使用自托管本地提取服务来处理较大的二进制文件。)
  • 默认情况下不同步权限。您必须先启用DLS。否则,索引到 Elastic 部署中的所有文档所有有权访问该 Elastic 部署的用户可见。
同步类型
编辑

默认情况下,所有连接器都支持完全同步

此连接器还支持增量同步

文档级安全性
编辑

文档级安全性 (DLS) 使您能够根据用户的权限限制对文档的访问。DLS 有助于同步文件夹和文件权限,包括用户和组级别权限。

注意: 要了解如何在构建搜索应用程序时搜索启用 DLS 的数据,请参阅搜索应用程序中的 DLS

可用性
编辑
  • 当前版本的网络驱动器连接器仅为 Windows 网络驱动器提供 DLS 支持。
  • 要在 Windows 网络驱动器中获取用户和组,在连接器配置中添加的帐户凭据应有权访问托管网络驱动器的 Windows 服务器的 Powershell。
同步规则
编辑

基本同步规则对于所有连接器都是相同的,并且默认可用。

高级同步规则
编辑

高级同步规则需要完全同步才能生效。

高级同步规则通过特定于源的 DSL JSON 片段定义。此连接器的高级同步规则使用glob 模式

  1. 每个规则必须包含一个 glob 模式。然后,此模式将与配置的驱动器路径内的所有可用文件夹路径进行匹配。
  2. 该模式必须以连接器中配置的 drive_path 字段开头。
  3. 如果该模式匹配任何可用的文件夹路径,则将获取这些文件夹内的内容。

以下部分提供了此连接器的高级同步规则示例。

在文件夹内递归索引文件和文件夹

[
  {
    "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 中的连接器 UI

配置
编辑

使用自托管连接器工作流时,这些字段最初将使用连接器源代码中设置的默认配置。这些在 get_default_configuration 函数定义中设置。

这些可配置字段将与它们各自的标签一起在 Kibana UI 中呈现。连接后,您将能够在 Kibana 中更新这些值。

设置连接器需要以下配置字段

用户名
网络驱动器帐户的用户名。该用户必须对提供的文件夹路径至少具有读取权限。
密码
用于爬取网络驱动器的帐户密码。
服务器 IP
托管网络驱动器的服务器 IP 地址。默认值为 127.0.0.1
服务器端口
网络驱动器服务可用的服务器端口。默认值为 445
驱动器路径
  • 连接器将爬取以获取文件的网络驱动器路径。这是通过 SMB 共享的文件夹的名称。连接器使用 Python smbprotocol 库,该库同时支持 SMB v2v3
  • 仅接受一个路径 — 可以指定父文件夹以扩大范围。
  • 驱动器路径应使用正斜杠作为路径分隔符。示例

    • admin/bin
use_document_level_security

切换以启用文档级安全性 (DLS)。启用后

  • 完全同步将获取每个文档的访问控制列表,并将其存储在 _allow_access_control 字段中。
  • 访问控制同步将获取用户的访问控制列表,并将其存储在单独的索引中。

    有关更多信息,包括先决条件和限制,请参阅文档级安全性

驱动器类型

要爬取的网络驱动器的类型。以下选项可用

  • Windows
  • Linux
identity_mappings

包含用户和组 SID 的 CSV 文件路径(适用于 Linux 网络驱动器)。

文件应按如下格式格式化

  • 字段用分号 (;) 分隔
  • 每行三个字段:用户名;用户 SID;组 SID
  • 组 SID 是逗号分隔的,并且是可选的。

    示例,其中包含一个用户名、用户 SID 和无组

    user1;S-1;

    示例,其中包含一个用户名、用户 SID 和两个组

    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.usernameelasticsearch.password 来验证您的 Elasticsearch 实例。

注意:您可以通过简单地取消注释配置文件中的特定设置并修改其值来更改其他默认配置。

步骤 3:运行 Docker 镜像

使用以下命令运行带有连接器服务的 Docker 镜像

docker run \
-v ~/connectors-config:/config \
--network "elastic" \
--tty \
--rm \
docker.elastic.co/enterprise-search/elastic-connectors:8.17.0.0 \
/app/bin/elastic-ingest \
-c /config/config.yml

有关更多详细信息,请参阅 elastic/connectors 存储库中的 DOCKER.md

官方注册表 中查找所有可用的 Docker 镜像。

我们还有一个使用 Docker Compose 的自管理快速入门选项,因此您可以一次启动所有必需的服务:Elasticsearch、Kibana 和连接器服务。有关更多信息,请参阅 elastic/connectors 存储库中的此 README

文档和同步
编辑

连接器将文件夹作为单独的文档同步到 Elasticsearch 中。以下字段将添加到文档类型 folder

  • create_time
  • title
  • path
  • modified
  • time
  • id
  • 不会提取大于 10 MB 的文件的内容
  • 默认情况下不同步权限。您必须先启用DLS。否则,索引到 Elastic 部署中的所有文档所有有权访问该 Elastic 部署的用户可见。
同步类型
编辑

默认情况下,所有连接器都支持完全同步

此连接器还支持增量同步

文档级安全
编辑

文档级安全性 (DLS) 使您能够根据用户的权限限制对文档的访问。DLS 有助于同步文件夹和文件权限,包括用户和组级别权限。

注意: 要了解如何在构建搜索应用程序时搜索启用 DLS 的数据,请参阅搜索应用程序中的 DLS

可用性
编辑
  • 网络驱动器自管理连接器为 Windows 和 Linux 网络驱动器提供 DLS 支持。
  • 要在 Windows 网络驱动器中获取用户和组,在连接器配置中添加的帐户凭据应有权访问托管网络驱动器的 Windows 服务器的 Powershell。
同步规则
编辑

基本同步规则对于所有连接器都是相同的,并且默认可用。

高级同步规则
编辑

高级同步规则需要完全同步才能生效。

高级同步规则通过特定于源的 DSL JSON 片段定义。此连接器的高级同步规则使用glob 模式

  1. 每个规则必须包含一个 glob 模式。然后,此模式将与配置的驱动器路径内的所有可用文件夹路径进行匹配。
  2. 该模式必须以连接器中配置的 drive_path 字段开头。
  3. 如果该模式匹配任何可用的文件夹路径,则将获取这些文件夹内的内容。

以下部分提供了此连接器的高级同步规则示例。

在文件夹内递归索引文件和文件夹

[
  {
    "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]"
  }
]
内容提取
编辑

请参阅内容提取

端到端测试
编辑

连接器框架使操作员能够针对真实数据源运行功能测试。有关更多详细信息,请参阅连接器测试

要对网络驱动器自管理连接器执行功能测试,请运行以下命令

$ make ftest NAME=network_drive

默认情况下,这将使用中等大小的数据集。要进行更快的测试,请添加 DATA_SIZE=small 标志

make ftest NAME=network_drive DATA_SIZE=small
已知问题
编辑

此连接器没有已知问题。

请参阅已知问题以了解影响所有连接器的任何问题。

故障排除
编辑

请参阅故障排除

安全
编辑

请参阅安全性