Elastic Outlook 连接器参考
编辑Elastic Outlook 连接器参考
编辑Elastic Outlook 连接器是使用 Elastic 连接器框架构建的,并作为 自管理连接器 提供。
Elastic 托管连接器参考
编辑查看 Elastic 托管连接器 参考
可用性和先决条件
编辑此连接器在 Elastic Cloud 中作为 托管连接器(托管服务)提供。
此连接器与 Elastic 版本 8.13.0+ 兼容。
要使用此连接器,请满足所有 托管连接器要求。
创建 Outlook 连接器
编辑使用 UI
编辑要创建新的 Outlook 连接器
- 在 Kibana UI 中,从主菜单导航到 搜索 → 内容 → 连接器 页面,或使用 全局搜索字段。
- 按照说明创建新的原生 Outlook 连接器。
有关其他操作,请参阅 Kibana 中的连接器 UI。
使用 API
编辑您可以使用 Elasticsearch 创建连接器 API 创建新的原生 Outlook 连接器。
例如
resp = client.connector.put( connector_id="my-{service-name-stub}-connector", index_name="my-elasticsearch-index", name="Content synced from {service-name}", service_type="{service-name-stub}", is_native=True, ) print(resp)
const response = await client.connector.put({ connector_id: "my-{service-name-stub}-connector", index_name: "my-elasticsearch-index", name: "Content synced from {service-name}", service_type: "{service-name-stub}", is_native: true, }); console.log(response);
PUT _connector/my-outlook-connector { "index_name": "my-elasticsearch-index", "name": "Content synced from Outlook", "service_type": "outlook", "is_native": true }
您还需要 创建 API 密钥 供连接器使用。
用户需要集群权限 manage_api_key
、manage_connector
和 write_connector_secrets
以以编程方式生成 API 密钥。
要为连接器创建 API 密钥
-
运行以下命令,替换指示位置的值。请注意响应中返回的
id
和encoded
值resp = client.security.create_api_key( name="my-connector-api-key", role_descriptors={ "my-connector-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": False } ] } }, ) print(resp)
const response = await client.security.createApiKey({ name: "my-connector-api-key", role_descriptors: { "my-connector-connector-role": { cluster: ["monitor", "manage_connector"], indices: [ { names: [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*", ], privileges: ["all"], allow_restricted_indices: false, }, ], }, }, }); console.log(response);
POST /_security/api_key { "name": "my-connector-api-key", "role_descriptors": { "my-connector-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": false } ] } } }
-
使用
encoded
值存储连接器密钥,并记下此响应中返回的id
值resp = client.connector.secret_post( body={ "value": "encoded_api_key" }, ) print(resp)
const response = await client.connector.secretPost({ body: { value: "encoded_api_key", }, }); console.log(response);
POST _connector/_secret { "value": "encoded_api_key" }
-
使用 API 密钥
id
和连接器密钥id
更新连接器resp = client.connector.update_api_key_id( connector_id="my_connector_id>", api_key_id="API key_id", api_key_secret_id="secret_id", ) print(resp)
const response = await client.connector.updateApiKeyId({ connector_id: "my_connector_id>", api_key_id: "API key_id", api_key_secret_id: "secret_id", }); console.log(response);
PUT /_connector/my_connector_id>/_api_key_id { "api_key_id": "API key_id", "api_key_secret_id": "secret_id" }
有关所有可用连接器 API 的详细信息,请参阅 Elasticsearch API 文档。
用法
编辑要在 Elastic Cloud 中将此连接器用作托管连接器,请使用 Kibana UI 中的 连接器 工作流程。
要创建新的 Outlook 连接器
- 导航到 Kibana UI 中的 搜索 → 连接器 页面。
- 选择 新建原生连接器 按钮。
- 选择 Outlook 连接器。
有关其他操作,请参阅 Kibana 中的连接器 UI。
连接到 Outlook
编辑Outlook 连接器同时支持云(Office365 Outlook)和本地(Exchange Server)平台。
连接到 Exchange Server
编辑为了连接到 Exchange 服务器,连接器会借助 ldap3
python 库获取 Active Directory 用户。
连接到 Office365 Outlook(Outlook 云)
编辑要使用 Azure 集成 Outlook 连接器,请按照以下步骤创建和配置 Azure 应用程序
- 导航到 Azure 门户 并使用您的凭据登录。
- 单击 应用程序注册 以注册新的应用程序。
- 导航到 概述 选项卡。记下
客户端 ID
和租户 ID
。 - 单击 证书和机密 选项卡并创建一个新的客户端机密。请妥善保管此机密。
-
转到 API 权限 选项卡。
- 单击“添加权限”。
- 选择“我的组织使用的 API”。
- 搜索并选择“Office 365 Exchange Online”。
- 添加
full_access_as_app
应用程序权限。
您现在可以使用已记下的客户端 ID、租户 ID 和客户端机密来配置 Outlook 连接器。
配置
编辑- Outlook 数据源(必需)
- 下拉菜单以确定 Outlook 平台类型:
outlook_cloud
或outlook_server
。默认值为outlook_cloud
。 - 租户 ID
- 如果数据源为
outlook_cloud
,则为必需。托管 Outlook 实例的 Azure 帐户的租户 ID。 - 客户端 ID
- 如果数据源为
outlook_cloud
,则为必需。用于对 Outlook 实例进行身份验证的客户端 ID。 - 客户端机密值
- 如果数据源为
outlook_cloud
,则为必需。用于对 Outlook 实例进行身份验证的客户端机密值。 - Exchange 服务器
- 如果数据源为
outlook_server
,则为必需。用于连接 Exchange 服务器的 IP 地址。例如:127.0.0.1
- Active Directory 服务器
- 如果数据源为
outlook_server
,则为必需。用于从 Exchange Active Directory 获取用户以获取数据的 IP 地址。例如:127.0.0.1
- Exchange 服务器用户名
- 如果数据源为
outlook_server
,则为必需。用于对 Exchange 服务器进行身份验证的用户名。 - Exchange 服务器密码
- 如果数据源为
outlook_server
,则为必需。用于对 Exchange 服务器进行身份验证的密码。 - Exchange 服务器域名
- 如果数据源为
outlook_server
,则为必需。Exchange 服务器用户的域名,例如gmail.com
或exchange.local
。 - 启用 SSL
- 是否启用 SSL 验证。默认值为
False
。注意: 此配置仅适用于Outlook Server
。 - SSL 证书
-
如果启用了 ssl,则为必需。SSL 证书的内容。示例证书
-----BEGIN CERTIFICATE----- MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT ... 7RhLQyWn2u00L7/9Omw= -----END CERTIFICATE-----
注意: 此配置仅适用于
Outlook Server
。 - 文档级安全性
-
切换以启用 文档级安全性 (DLS)。启用后
- 完全同步将获取每个文档的访问控制列表,并将其存储在
_allow_access_control
字段中。 - 访问控制同步获取用户的访问控制列表,并将其存储在单独的索引中。
- 完全同步将获取每个文档的访问控制列表,并将其存储在
内容提取
编辑请参阅 内容提取。
文档和同步
编辑连接器同步以下对象和实体
-
邮件
- 收件箱邮件
- 已发送邮件
- 存档邮件
- 垃圾邮件
- 联系人
- 日历事件
- 任务
-
附件
- 邮件附件
- 任务附件
- 日历附件
- 大于 10 MB 的文件中的内容将不会被提取。(自管理连接器可以使用 自管理本地提取服务 处理更大的二进制文件。)
- 权限不会同步。所有文档 索引到 Elastic 部署中将对 所有具有访问权限的用户 可见,这些用户可以访问该 Elastic 部署。
同步类型
编辑默认情况下,所有连接器都支持 完全同步。
此连接器还支持 增量同步。
文档级安全性
编辑文档级安全性 (DLS) 使您能够根据用户的权限限制对文档的访问。请参阅本页面上的 配置,了解如何为该连接器启用 DLS。
请参阅 搜索应用程序中的 DLS,了解在构建搜索应用程序时如何从启用了 DLS 的连接器摄取数据。此示例使用 SharePoint Online 作为数据源,但相同的步骤适用于每个连接器。
同步规则
编辑基本同步规则 对所有连接器都相同,并且默认情况下可用。
高级同步规则
编辑当前版本中此连接器不支持高级同步规则。
连接器客户端操作
编辑端到端测试
编辑注意: 当前版本的连接器中不提供端到端测试。
已知问题
编辑此连接器目前没有已知问题。请参阅 已知问题,了解所有连接器的已知问题列表。
故障排除
编辑请参阅故障排除。
安全
编辑请参阅安全。
框架和源代码
编辑此连接器使用 Elastic 连接器框架 以 Python 编写。
查看此连接器的源代码(分支8.16,与 Elastic 8.16 兼容)。
自管理连接器参考
编辑查看自管理连接器参考
可用性和先决条件
编辑此连接器作为自管理自管理连接器提供。要使用此连接器,请满足所有自管理连接器先决条件。
创建 Outlook 连接器
编辑使用 UI
编辑要创建新的 Outlook 连接器
- 在 Kibana UI 中,从主菜单导航到 搜索 → 内容 → 连接器 页面,或使用 全局搜索字段。
- 按照说明创建新的Outlook 自管理连接器。
使用 API
编辑您可以使用 Elasticsearch 创建连接器 API 创建新的自管理 Outlook 自管理连接器。
例如
resp = client.connector.put( connector_id="my-{service-name-stub}-connector", index_name="my-elasticsearch-index", name="Content synced from {service-name}", service_type="{service-name-stub}", ) print(resp)
const response = await client.connector.put({ connector_id: "my-{service-name-stub}-connector", index_name: "my-elasticsearch-index", name: "Content synced from {service-name}", service_type: "{service-name-stub}", }); console.log(response);
PUT _connector/my-outlook-connector { "index_name": "my-elasticsearch-index", "name": "Content synced from Outlook", "service_type": "outlook" }
您还需要 创建 API 密钥 供连接器使用。
用户需要集群权限 manage_api_key
、manage_connector
和 write_connector_secrets
以以编程方式生成 API 密钥。
要为连接器创建 API 密钥
-
运行以下命令,替换指示的值。请注意响应中的
encoded
返回值resp = client.security.create_api_key( name="connector_name-connector-api-key", role_descriptors={ "connector_name-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "index_name", ".search-acl-filter-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": False } ] } }, ) print(resp)
const response = await client.security.createApiKey({ name: "connector_name-connector-api-key", role_descriptors: { "connector_name-connector-role": { cluster: ["monitor", "manage_connector"], indices: [ { names: [ "index_name", ".search-acl-filter-index_name", ".elastic-connectors*", ], privileges: ["all"], allow_restricted_indices: false, }, ], }, }, }); console.log(response);
POST /_security/api_key { "name": "connector_name-connector-api-key", "role_descriptors": { "connector_name-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "index_name", ".search-acl-filter-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": false } ] } } }
- 使用 API 密钥
encoded
值更新您的config.yml
文件。
有关所有可用连接器 API 的详细信息,请参阅 Elasticsearch API 文档。
使用
编辑要将此连接器用作自管理连接器,请使用连接器列表中的Outlook 磁贴或自定义连接器工作流程。
有关其他操作,请参阅 Kibana 中的连接器 UI。
连接到 Outlook
编辑Outlook 连接器同时支持云(Office365 Outlook)和本地(Exchange Server)平台。
连接到 Exchange Server
编辑为了连接到 Exchange 服务器,连接器会借助 ldap3
python 库获取 Active Directory 用户。
连接到 Office365 Outlook(Outlook 云)
编辑要使用 Azure 集成 Outlook 连接器,请按照以下步骤创建和配置 Azure 应用程序
- 导航到 Azure 门户 并使用您的凭据登录。
- 单击 应用程序注册 以注册新的应用程序。
- 导航到 概述 选项卡。记下
客户端 ID
和租户 ID
。 - 单击 证书和机密 选项卡并创建一个新的客户端机密。请妥善保管此机密。
-
转到 API 权限 选项卡。
- 单击“添加权限”。
- 选择“我的组织使用的 API”。
- 搜索并选择“Office 365 Exchange Online”。
- 添加
full_access_as_app
应用程序权限。
您现在可以使用已记下的客户端 ID、租户 ID 和客户端机密来配置 Outlook 连接器。
配置
编辑-
data_source
- (必填)下拉菜单,用于确定 Outlook 平台类型:
outlook_cloud
或outlook_server
。默认值为outlook_cloud
。 -
tenant_id
- (如果数据源为 outlook_cloud,则为必填)托管 Outlook 实例的 Azure 帐户的租户 ID。
-
client_id
- (如果数据源为 outlook_cloud,则为必填)用于对 Outlook 实例进行身份验证的客户端 ID。
-
client_secret
- (如果数据源为 outlook_cloud,则为必填)用于对 Outlook 实例进行身份验证的客户端密钥值。
-
exchange_server
- (如果数据源为 outlook_server,则为必填)用于连接 Exchange 服务器的 IP 地址。例如:
127.0.0.1
-
active_directory_server
- (如果数据源为 outlook_server,则为必填)用于从 Exchange Active Directory 获取用户以获取数据的 IP 地址。例如:
127.0.0.1
-
username
- (如果数据源为 outlook_server,则为必填)用于对 Exchange 服务器进行身份验证的用户名。
-
password
- (如果数据源为 outlook_server,则为必填)用于对 Exchange 服务器进行身份验证的密码。
-
domain
- (如果数据源为 outlook_server,则为必填)Exchange 服务器用户的域名,例如
gmail.com
或exchange.local
。 -
ssl_enabled
- 是否启用 SSL 验证。默认值为
False
。注意: 此配置仅适用于Outlook Server
。 -
ssl_ca
-
(如果启用了 ssl,则为必填)SSL 证书的内容。示例证书
-----BEGIN CERTIFICATE----- MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT ... 7RhLQyWn2u00L7/9Omw= -----END CERTIFICATE-----
-
use_text_extraction_service
- 使用自托管内容提取服务。默认值为
False
。 -
document_level_security
-
切换以启用 文档级安全性 (DLS)。启用后
- 完全同步将获取每个文档的访问控制列表,并将其存储在
_allow_access_control
字段中。 - 访问控制同步获取用户的访问控制列表,并将其存储在单独的索引中。
- 完全同步将获取每个文档的访问控制列表,并将其存储在
注意: 此配置仅适用于 Outlook Server
。
使用 Docker 部署
编辑您可以使用 Docker 将 Outlook 连接器部署为自管理连接器。请按照以下说明操作。
步骤 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
如果您针对 Elasticsearch 和 Kibana 的 Dockerized 版本运行连接器服务,则您的配置文件将如下所示
# 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: outlook 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/integrations/elastic-connectors:8.16.0.0 \ /app/bin/elastic-ingest \ -c /config/config.yml
有关更多详细信息,请参阅elastic/connectors
存储库中的DOCKER.md
。
在官方注册表中查找所有可用的 Docker 镜像。
我们还提供了一个使用 Docker Compose 的快速入门自管理选项,因此您可以立即启动所有必需的服务:Elasticsearch、Kibana 和连接器服务。有关更多信息,请参阅elastic/connectors
存储库中的此自述文件。
内容提取
编辑请参阅 内容提取。
文档和同步
编辑连接器同步以下对象和实体
-
邮件
- 收件箱邮件
- 已发送邮件
- 存档邮件
- 垃圾邮件
- 联系人
- 日历事件
- 任务
-
附件
- 邮件附件
- 任务附件
- 日历附件
- 默认情况下,不会提取大于 10 MB 的文件中的内容。您可以使用自托管本地提取服务 处理更大的二进制文件。
- 权限不会同步。所有文档 索引到 Elastic 部署中将对 所有具有访问权限的用户 可见,这些用户可以访问该 Elastic 部署。
同步类型
编辑默认情况下,所有连接器都支持 完全同步。
此连接器还支持 增量同步。
文档级安全性
编辑文档级安全性 (DLS) 使您能够根据用户的权限限制对文档的访问。有关如何为此连接器启用 DLS 的信息,请参阅此页面上的配置。
请参阅 搜索应用程序中的 DLS,了解在构建搜索应用程序时如何从启用了 DLS 的连接器摄取数据。此示例使用 SharePoint Online 作为数据源,但相同的步骤适用于每个连接器。
同步规则
编辑基本同步规则 对所有连接器都相同,并且默认情况下可用。
高级同步规则
编辑当前版本中此连接器不支持高级同步规则。
连接器客户端操作
编辑端到端测试
编辑注意: 当前版本的连接器中不提供端到端测试。
已知问题
编辑此连接器目前没有已知问题。请参阅 已知问题,了解所有连接器的已知问题列表。
故障排除
编辑请参阅故障排除。
安全
编辑请参阅安全。
框架和源代码
编辑此连接器包含在Elastic 连接器框架中。
查看此连接器的源代码(分支8.16,与 Elastic 8.16 兼容)。