Управляемые подключения Elasticsearch
Управляемые коннекторы Elastic доступны непосредственно в вашей развертённой среде Elastic Cloud. Дополнительная инфраструктура не требуется.
Управляемые коннекторы синхронизируют источники данных напрямую с индексами Elasticsearch. Создавайте эти индексы, используя рабочие процессы Коннектора в Kibana.
Следующие коннекторы доступны как управляемые коннекторы Elastic. Обратитесь к каждой ссылке на документацию коннектора для дополнительной информации, специфичной для каждого коннектора.
- Хранилище Azure Blob
- Box
- Confluence (включая Confluence Data Center)
- Dropbox
- GitHub
- Gmail
- Google Cloud Storage
- Google Drive
- Jira (включая Jira Data Center)
- Microsoft SQL
- MongoDB
- MySQL
- Сеть Диск
- Notion
- OneDrive
- Oracle
- Outlook
- PostgreSQL
- Amazon S3
- Salesforce
- ServiceNow
- SharePoint Online
- SharePoint Server
- Slack
- Microsoft Teams
- Zoom
Доступность и предварительные требования
Управляемые коннекторы были представлены в версии Elastic 8.5.0.
Ваша развертённая среда Elastic Cloud должна включать следующие сервисы Elastic:
- Elasticsearch
- Kibana
- Enterprise Search
Обратитесь к разделу Native Integrations на странице подписок Elastic (Elastic subscriptions page) в разделе Elastic Search для требований к лицензированию управляемых коннекторов.
Использование в пользовательском интерфейсе Kibana
Следуйте рабочему процессу Коннектора в Kibana, чтобы выбрать метод ввода Коннектора. Выберите источник данных, создайте индекс Elasticsearch и настройте управляемый коннектор для управления индексом.
Выберите коннектор
Выберите источник данных из доступных вариантов и выберите Продолжить.
Создать индекс
Создайте новый индекс, который будет управляться коннектором:
- Назовите ваш индекс и, по желанию, измените анализатор языка, чтобы он соответствовал человеческому языку вашего источника данных. (Имя индекса будет автоматически префикс с
search-.) - Выберите Создать индекс.
Индекс создан и готов к настройке.
Эта операция требует:
- Доступ к Kibana
- Разрешение на создание или управление индексом
-
writeправа на индексы для индекса.elastic-connectors -
manage_api_keyправа кластера для создания ключа API -
write_connector_secretsправа кластера для хранения ключа API в качестве секрета
Настроить коннектор
Создайте новый индекс, который будет управляться коннектором.
Продолжайте отсюда или перейдите к следующему расположению в пользовательском интерфейсе Kibana:
Поиск > Контент > Индексы Elasticsearch из основного меню или используйте поле глобального поиска.
Выберите индекс для настройки, а затем выберите вкладку Настройка.
Настройте коннектор:
- Измените имя и описание коннектора. Ваша команда может использовать эту информацию, чтобы отличить этот индекс от других индексов коннекторов. (Эти поля описывают коннектор и независимы от имени индекса Elasticsearch.)
- Сохраните изменения.
- Измените конфигурацию источника данных. Поля здесь различаются в зависимости от коннектора. Обратитесь к документации каждого коннектора за подробностями (см. список управляемых коннекторов Elastic выше). Обратитесь к Безопасности для рассмотрения вопросов безопасности.
- Сохраните изменения.
Необязательно выберите Изменить расписание синхронизации, чтобы начать управление коннектором.
Эта операция требует:
- Доступ к Kibana
- Разрешение на создание или управление индексом
-
writeправа на индексы для индекса.elastic-connectors -
manage_api_keyправа кластера для создания ключа API -
write_connector_secretsправа кластера для хранения ключа API в качестве секрета
Управление коннектором
Для управления документами, синхронизациями, правилами синхронизации, конвейерами ввода и другими функциями коннектора, обратитесь к Пользовательский интерфейс коннекторов в Kibana.
Управление ключами API
Ключи API для управляемых коннекторов Elastic были представлены в версии Elastic 8.13.0. Управляемые коннекторы, созданные в более ранних версиях, не будут автоматически использовать ключи API при обновлении до 8.13.0. Обратитесь к включению ключей API для получения дополнительной информации.
Управляемые коннекторы взаимодействуют с Elasticsearch с помощью ключей API. При управлении управляемым коннектором через страницу «Коннекторы» в пользовательском интерфейсе Kibana, управление ключами API происходит автоматически. Ключи API для управляемых коннекторов Elastic имеют право manage на три индекса:
- Прикрепленный индекс
- Индекс управления доступом (ACL), используемый для безопасности на уровне документа
- Внутренний индекс
.elastic-connectors.
Изменение прикрепленного индекса через Kibana автоматически аннулирует существующий API-ключ и сгенерирует новый. Если вы хотите обновить существующий API-ключ, перейдите на вкладку Настройка. Прокрутите вниз до Управление API-ключами и выберите Сгенерировать API-ключ. Это действие аннулирует предыдущий API-ключ, создаст новый API-ключ и обновит секрет коннектора.
API-ключи для управляемых коннекторов Elastic хранятся во внутреннем системном индексе под названием .connector-secrets. Доступ к этому индексу для записи возможен только через API-запросы от пользователей с правом доступа write_connector-secrets к кластеру. Только экземпляр Enterprise Search имеет разрешение на чтение из этого индекса.
Пользователям, управляющим управляемыми коннекторами Elastic, необходимо назначить право доступа write_connector_secrets к кластеру в их роли. Обратитесь к разделу Безопасность для информации о соображениях безопасности.
Управление API-ключами программно
Вы также можете создавать и хранить 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-ключей для обновленных коннекторов
Управляемые коннекторы, созданные до версии 8.13.0, не имеют API-ключей при обновлении. Прикрепленные индексы этих коннекторов нельзя изменить, пока коннектор не будет переведен на использование API-ключа.
Развернуть следующий раздел для шагов по включению API-ключей для обновленных управляемых коннекторов Elastic.
-
Выполните следующую команду в Инструментах разработчика для включения API-ключей для коннектора, заменив значения там, где это необходимо.
resp = client.update( index=".elastic-connectors", id="connector_id", doc={ "features": { "native_connector_api_keys": { "enabled": True } } }, ) print(resp)const response = await client.update({ index: ".elastic-connectors", id: "connector_id", doc: { features: { native_connector_api_keys: { enabled: true, }, }, }, }); console.log(response);POST .elastic-connectors/_update/connector_id { "doc": { "features": { "native_connector_api_keys": { "enabled": true } } } } - Вернитесь на страницу коннекторов и перейдите на вкладку Настройка.
- Прокрутите вниз до Управление API-ключами и выберите Сгенерировать API-ключ.
Ваш управляемый коннектор теперь использует API-ключи для авторизации загрузки в Elasticsearch.
Использование через API
В версии 8.12 мы представили набор API коннекторов для создания и управления коннекторами Elastic и задачами синхронизации, а также инструмент CLI. Используйте эти инструменты, если вы хотите работать с коннекторами и заданиями синхронизации программно.
Пример полного цикла
Следующий пример демонстрирует, как использовать управляемый коннектор в Elastic Cloud: Обучающее пособие по управляемому коннектору (MongoDB).
Преобразование управляемого коннектора
Вы можете преобразовать управляемый коннектор в самостоятельно управляемый коннектор, который будет выполняться на вашей инфраструктуре. Инструкции вы найдете в интерфейсе на странице обзора индекса коннектора.
Преобразование управляемого коннектора в самостоятельно управляемый является необратимой операцией!
© 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-native-connectors.html