Справочник по коннектору Elastic Outlook
Подключение Elastic Outlook создано на основе фреймворка Elastic connector и доступно как самостоятельно управляемое подключение.
Справочник по управляемому подключению Elastic
Просмотреть справочник по управляемому подключению Elastic
Доступность и предварительные условия
Это подключение доступно в виде управляемого подключения (управляемая служба) в Elastic Cloud.
Это подключение совместимо с версиями Elastic 8.13.0+.
Чтобы использовать это подключение, выполните все требования к управляемым подключениям.
Создать подключение Outlook
Использование пользовательского интерфейса
Чтобы создать новое подключение Outlook:
- В пользовательском интерфейсе Kibana перейдите на страницу Поиск → Содержание → Подключения из главного меню или используйте поле глобального поиска.
- Следуйте инструкциям для создания нового подключение к Outlook.
Для дополнительных операций см. Пользовательский интерфейс подключений в Kibana.
Использование 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.perform_request( "POST", "/_connector/_secret", headers={"Content-Type": "application/json"}, body={ "value": "encoded_api_key" }, ) print(resp)const response = await client.transport.request({ method: "POST", path: "/_connector/_secret", 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 для подключения см. в документации API Elasticsearch.
Использование
Чтобы использовать это подключение как управляемое подключение в Elastic Cloud, воспользуйтесь рабочим процессом Подключения в пользовательском интерфейсе Kibana.
Чтобы создать новое подключение Outlook:
- Перейдите на страницу Поиск → Подключения в пользовательском интерфейсе Kibana.
- Нажмите кнопку Создать подключение.
- Выберите подключение Outlook.
Для дополнительных операций см. Пользовательский интерфейс подключений в Kibana.
Подключение к Outlook
Подключение Outlook поддерживает как облачные (Office365 Outlook), так и локальные (Exchange Server) платформы.
Подключение к Exchange Server
Для подключения к Exchange Server подключение извлекает пользователей Active Directory с помощью библиотеки python ldap3.
Подключение к Office365 Outlook (облачный Outlook)
Для интеграции с подключением Outlook с помощью Azure, выполните следующие шаги для создания и настройки приложения Azure:
- Перейдите в портал Azure и войдите в систему, используя свои учетные данные.
- Нажмите на Регистрация приложений для регистрации нового приложения.
- Перейдите на вкладку Обзор. Запишите
Client IDиTenant ID. - Нажмите на вкладку Сертификаты и секреты и создайте новый секрет клиента. Сохраните этот секрет.
-
Перейдите на вкладку Разрешения API.
- Нажмите "Добавить разрешения".
- Выберите "API, используемые моей организацией".
- Найдите и выберите "Office 365 Exchange Online".
- Добавьте разрешение приложения
full_access_as_app.
Теперь вы можете использовать полученные Client ID, Tenant ID и Client Secret для настройки подключения Outlook.
Настройка
- Источник данных Outlook (обязательно)
- Выпадающий список для определения типа платформы Outlook:
outlook_cloudилиoutlook_server. Значение по умолчанию —outlook_cloud. - Tenant ID
- Требуется, если источник данных —
outlook_cloud. Tenant ID учетной записи Azure, на которой размещен экземпляр Outlook. - Client ID
- Требуется, если источник данных —
outlook_cloud. Client ID для аутентификации с экземпляром Outlook. - Значение Client Secret
- Требуется, если источник данных —
outlook_cloud. Значение Client Secret для аутентификации с экземпляром Outlook. - Exchange Server
- Требуется, если источник данных —
outlook_server. IP-адрес для подключения к Exchange Server. Пример:127.0.0.1 - Сервер Active Directory
- Требуется, если источник данных —
outlook_server. IP-адрес для извлечения пользователей из Exchange Active Directory для извлечения данных. Пример:127.0.0.1 - Имя пользователя Exchange Server
- Требуется, если источник данных —
outlook_server. Имя пользователя для аутентификации с Exchange Server. - Пароль Exchange Server
- Требуется, если источник данных —
outlook_server. Пароль для аутентификации с Exchange Server. - Доменное имя Exchange Server
- Требуется, если источник данных —
outlook_server. Доменное имя для пользователей Exchange Server, например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 МБ не будет извлечен. (Самоуправляемые коннекторы могут использовать локальную службу извлечения самообслуживания для обработки больших бинарных файлов.)
- Разрешения не синхронизируются. Все документы, индексированные в развертывании Elastic, будут видны всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации
По умолчанию для всех коннекторов поддерживаются полные синхронизации.
Этот коннектор также поддерживает инкрементальные синхронизации.
Безопасность на уровне документов
Безопасность на уровне документов (DLS) позволяет ограничить доступ к документам на основе разрешений пользователя. Обратитесь к настройкам на этой странице, чтобы узнать, как включить DLS для этого коннектора.
Обратитесь к DLS в приложениях поиска, чтобы узнать, как импортировать данные из коннектора с включенной DLS при создании приложения поиска. В примере используется SharePoint Online в качестве источника данных, но те же шаги применимы ко всем коннекторам.
Правила синхронизации
Основные правила синхронизации одинаковы для всех коннекторов и доступны по умолчанию.
Расширенные правила синхронизации
Расширенные правила синхронизации недоступны для этого коннектора в текущей версии.
Операции клиента коннектора
Конечное тестирование
Примечание: Конечное тестирование недоступно в текущей версии коннектора.
Известные проблемы
В настоящее время для этого коннектора нет известных проблем. Обратитесь к Известным проблемам для получения списка известных проблем для всех коннекторов.
Устранение неполадок
См. Устранение неполадок.
Безопасность
См. Безопасность.
Фреймворк и исходный код
Этот коннектор написан на Python с использованием фреймворка Elastic connector.
Просмотреть исходный код этого коннектора (ветка 8.17, совместимая с Elastic 8.17).
Справочник по самоуправляемому коннектору
Просмотреть справочник по самоуправляемому коннектору
Доступность и предварительные требования
Этот коннектор доступен как самостоятельный самостоятельный коннектор. Для использования этого коннектора выполните все предварительные требования к самостоятельному коннектору.
Создать коннектор Outlook
Использование пользовательского интерфейса
Чтобы создать новый коннектор Outlook:
- В пользовательском интерфейсе Kibana перейдите на страницу Поиск → Содержание → Коннекторы из основного меню или используйте поле глобального поиска.
- Следуйте инструкциям для создания нового коннектора 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 } ] } } } - Обновите свой файл
config.ymlсо значением ключа APIencoded.
Подробные сведения обо всех доступных API коннекторов см. в документации API Elasticsearch.
Использование
Для использования этого коннектора как самостоятельного коннектора используйте плитку Outlook из списка коннекторов ИЛИ рабочие процессы настроенного коннектора.
Дополнительные операции см. в Пользовательском интерфейсе коннекторов в Kibana.
Подключение к Outlook
Коннектор Outlook поддерживает как облачные (Office365 Outlook), так и локальные (Exchange Server) платформы.
Подключение к Exchange Server
Для подключения к серверу Exchange коннектор извлекает пользователей Active Directory с помощью библиотеки Python ldap3.
Подключение к Office365 Outlook (облачный Outlook)
Для интеграции с коннектором Outlook с помощью Azure выполните эти шаги для создания и настройки приложения Azure:
- Перейдите в Портал Azure и выполните вход с помощью своих учетных данных.
- Нажмите Регистрации приложений, чтобы зарегистрировать новое приложение.
- Перейдите на вкладку Обзор. Запишите
Client IDиTenant ID. - Перейдите на вкладку Сертификаты и секреты и создайте новый секрет клиента. Сохраните этот секрет.
-
Перейдите на вкладку Разрешения API.
- Нажмите «Добавить разрешения».
- Выберите «API, используемые моей организацией».
- Найдите и выберите «Office 365 Exchange Online».
- Добавьте разрешение приложения
full_access_as_app.
Теперь вы можете использовать идентификатор клиента, идентификатор клиента и секрет клиента, которые вы записали, для настройки коннектора Outlook.
Настройка
-
data_source - (обязательно) Выпадающий список для определения типа платформы Outlook:
outlook_cloudилиoutlook_server. Значение по умолчанию —outlook_cloud. -
tenant_id - (обязательно, если источник данных — outlook_cloud) Идентификатор клиента Azure, на котором размещен экземпляр Outlook.
-
client_id - (обязательно, если источник данных — outlook_cloud) Идентификатор клиента для аутентификации с экземпляром Outlook.
-
client_secret - (обязательно, если источник данных — outlook_cloud) Значение секрета клиента для аутентификации с экземпляром Outlook.
-
exchange_server - (обязательно, если источник данных — outlook_server) IP-адрес для подключения к серверу Exchange. Пример:
127.0.0.1 -
active_directory_server - (обязательно, если источник данных — outlook_server) IP-адрес для извлечения пользователей из Exchange Active Directory для извлечения данных. Пример:
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
Вы можете развернуть коннектор Outlook как самостоятельный коннектор с помощью 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: 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/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.
Извлечение содержимого
Документы и синхронизация
Коннектор синхронизирует следующие объекты и сущности:
-
Почтовые сообщения
- Входящие сообщения
- Отправленные сообщения
- Архивированные сообщения
- Спам-сообщения
- Контакты
- События календаря
- Задачи
-
Вложения
- Вложения к почтовым сообщениям
- Вложения к задачам
- Вложения к событиям календаря
- Содержимое файлов размером более 10 МБ по умолчанию не будет извлекаться. Вы можете использовать локальную службу извлечения содержимого, чтобы обработать большие двоичные файлы.
- Разрешения не синхронизируются. Все документы, индексированные в развертывании Elastic, будут видны всем пользователям с доступом к этому развертыванию.
Типы синхронизации
Полные синхронизации поддерживаются по умолчанию для всех коннекторов.
Этот коннектор также поддерживает инкрементные синхронизации.
Безопасность на уровне документа
Безопасность на уровне документа (DLS) позволяет ограничивать доступ к документам на основе разрешений пользователя. Обратитесь к настройкам на этой странице, чтобы включить DLS для этого коннектора.
Обратитесь к DLS в приложениях поиска, чтобы узнать, как импортировать данные из коннектора с включенной DLS при создании приложения поиска. В примере используется SharePoint Online в качестве источника данных, но те же шаги применимы ко всем коннекторам.
Правила синхронизации
Основные правила синхронизации одинаковы для всех коннекторов и доступны по умолчанию.
Расширенные правила синхронизации
Расширенные правила синхронизации недоступны для этого коннектора в текущей версии.
Операции клиента коннектора
Конечные тесты
Примечание: Конечные тесты недоступны в текущей версии коннектора.
Известные проблемы
В настоящее время для этого коннектора нет известных проблем. Обратитесь к Известным проблемам для получения списка известных проблем для всех коннекторов.
Отладка
См. Отладку.
Безопасность
См. Безопасность.
Фреймворк и исходный код
Этот коннектор входит в фреймворк коннекторов Elastic.
Просмотреть исходный код этого коннектора (ветка 8.17, совместимая с Elastic 8.17).
© 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-outlook.html