Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Обработка контента с помощью соединителей Elastic ›Справочные данные соединителей

Справочник по соединителю Elastic Google Drive

Соединитель Elastic Google Drive — это соединитель для Google Диск. Этот соединитель написан на Python с использованием фреймворка соединителей Elastic.

Посмотреть исходный код для этого соединителя (ветка 8.17, совместимая с Elastic 8.17).

Выберите справочник по соединителю

Вы используете управляемый соединитель в Elastic Cloud или самостоятельный соединитель? Разверните документацию в зависимости от метода развертывания.

Справочник по управляемому соединителю Elastic

Просмотр справки управляемого коннектора Elastic
Доступность и предварительные требования

Этот коннектор доступен в качестве управляемого коннектора начиная с версии Elastic 8.11.0.

Чтобы использовать этот коннектор напрямую в Elastic Cloud, выполните все требования к управляемым коннекторам.

Использование

Чтобы использовать этот коннектор напрямую в Elastic Cloud, см. управляемые коннекторы Elastic.

Для дополнительных операций см. Интерфейс коннекторов в Kibana.

Предварительные требования к аутентификации коннектора

Перед синхронизацией данных из Google Диска необходимо создать учетную запись службы с соответствующим доступом к API Google Диска.

Для начала войдите в Google Cloud Platform и перейдите к Console.

  1. Создать проект Google Cloud. Присвойте проекту имя, измените идентификатор проекта и нажмите кнопку Создать.
  2. Включить Google API. В левом меню выберите «API и службы» и нажмите на Enable APIs and Services. Вам необходимо включить API Диска.
  3. Создать учетную запись службы. В разделе APIs & Services, нажмите на Credentials и нажмите на Create credentials, чтобы создать учетную запись службы. Присвойте вашей учетной записи службы имя и идентификатор учетной записи службы. Это как электронный адрес, который будет использоваться для идентификации вашей учетной записи службы в будущем. Нажмите Done, чтобы завершить создание учетной записи службы. Ваша учетная запись службы должна иметь доступ по крайней мере к следующему разрешению:

    • https://www.googleapis.com/auth/drive.readonly
  4. Создать файл ключей.

    • В Консоли Google Cloud перейдите к IAM and Admin > Service accounts странице.
    • Щелкните адрес электронной почты учетной записи службы, для которой вы хотите создать ключ.
    • Щелкните вкладку Keys. Щелкните раскрывающееся меню Add key, затем выберите Create new key.
    • Выберите JSON в качестве типа ключа, а затем нажмите Create. Это загрузит файл JSON, который будет содержать учетные данные учетной записи службы.
  5. [Необязательно] Поделиться папками Google Диска. Если вы используете делегирование на уровне домена для синхронизации данных, вы можете пропустить этот шаг. Перейдите в свой Google Диск. Щелкните правой кнопкой мыши папку или общий диск, выберите Share и добавьте адрес электронной почты учетной записи службы, созданной на шаге 3, как зрителя в эту папку.

Когда вы предоставляете учетной записи службы доступ к определенной папке или общему диску в Google Диске, важно отметить, что разрешения распространяются на все элементы внутри этой папки или диска. Это означает, что все папки или файлы, содержащиеся в предоставленной папке или диске, унаследуют те же права доступа, что и родительский элемент.

Дополнительные предварительные требования к аутентификации для делегирования на уровне домена

Этот шаг требуется, когда Использовать делегирование на уровне домена для синхронизации данных или Включить безопасность на уровне документа опция конфигурации включена.

  1. Включить Google API.

    В левом меню выберите «API и службы» и нажмите на Enable APIs and Services. Вам необходимо включить API Admin SDK и API Диска.

  2. Делегирование полномочий на уровне домена Google Workspace.

    Для доступа к данным диска и пользователям в домене Google Workspace созданная учетная запись службы должна получить доступ от суперадминистратора домена. Вы можете следовать официальной документации для выполнения делегирования полномочий на уровне домена Google Workspace.

    Вы должны предоставить следующую OAuth-разрешения вашей учетной записи службы:

    • https://www.googleapis.com/auth/admin.directory.group.readonly
    • https://www.googleapis.com/auth/admin.directory.user.readonly
    • https://www.googleapis.com/auth/drive.readonly
    • https://www.googleapis.com/auth/drive.metadata.readonly

    Этот шаг позволяет коннектору:

    • получить доступ к данным пользователей и членству в группах в организации Google Workspace
    • получить доступ к данным Google Диска в дисках, связанных с участниками Google Workspace
Настройка

Требуются следующие поля конфигурации:

Файл JSON учетной записи службы Google Диска
Учетные данные учетной записи службы, сгенерированные из Google Cloud Platform (строка JSON). Для получения дополнительной информации обратитесь к документации Google Cloud.
Включить безопасность на уровне документа

Переключатель для включения безопасности на уровне документа (DLS). DLS поддерживается для коннектора Google Диска. При включении:

  • Полные синхронизации будут получать списки управления доступом для каждого документа и сохранять их в поле _allow_access_control.
  • Синхронизации управления доступом будут получать списки управления доступом пользователей и сохранять их в отдельном индексе.
Электронный адрес администратора Google Workspace
Электронный адрес администратора Google Workspace. Требуется для включения безопасности на уровне документа (DLS) или делегирования на уровне домена для синхронизации данных. Учетная запись службы с делегированными полномочиями может подменять администратора с разрешениями для доступа к данным пользователей Google Workspace и их членству в группах. Для получения дополнительной информации обратитесь к документации Google Cloud.
Документы и синхронизации

Коннектор получит все файлы и папки, к которым имеет доступ учетная запись службы.

Он попытается извлечь содержимое из документов Google Suite (Google Docs, Google Sheets и Google Slides) и обычных файлов.

  • Содержимое файлов размером более 10 МБ не будет извлечено. (Управляемые коннекторы могут использовать локальный сервис извлечения для обработки больших двоичных файлов.)
  • Разрешения по умолчанию не синхронизируются. Сначала необходимо включить DLS. В противном случае все документы, индексированные в развертывании Elastic, будут видны всем пользователям с доступом к этому развертыванию.
Типы синхронизации

Полные синхронизации поддерживаются по умолчанию для всех коннекторов.

Этот коннектор также поддерживает инкрементные синхронизации.

Правила синхронизации

Основные правила синхронизации одинаковы для всех коннекторов и доступны по умолчанию.

Расширенные правила синхронизации недоступны для этого коннектора в текущей версии. В настоящее время фильтрация контролируется через конвейеры поглощения.

Безопасность на уровне документа

Безопасность на уровне документа (DLS) позволяет ограничивать доступ к документам на основе разрешений пользователя. Обратитесь к настройке на этой странице, чтобы узнать, как включить DLS для этого коннектора.

Обратитесь к DLS в приложениях поиска, чтобы узнать, как получать данные из коннектора с включенной DLS при создании приложения поиска. Пример использует SharePoint Online в качестве источника данных, но те же шаги применимы к каждому коннектору.

Извлечение содержимого

См. Извлечение содержимого для получения дополнительной информации.

Известные проблемы

В настоящее время для этого коннектора нет известных проблем.

Устранение неполадок

См. Устранение неполадок.

Безопасность

См. Безопасность.

Управляемый коннектор

Ссылка на самостоятельно управляемый коннектор
Доступность и предварительные требования

Этот коннектор доступен в качестве самостоятельно управляемого самостоятельно управляемого коннектора. Для использования этого коннектора необходимо выполнить все требования к самостоятельно управляемому коннектору.

Использование

Чтобы использовать этот коннектор как самостоятельно управляемый коннектор, см. Самостоятельно управляемые коннекторы. Для дополнительных операций с использованием см. Интерфейс коннекторов в Kibana.

Предварительные требования к аутентификации коннектора

Перед синхронизацией любых данных из Google Диска необходимо создать учетную запись сервиса с соответствующим доступом к API Google Диска.

Для начала войдите в Google Cloud Platform и перейдите к Console.

  1. Создать проект Google Cloud. Присвойте проекту имя, измените идентификатор проекта и нажмите кнопку Создать.
  2. Включить API Google. Выберите «API и службы» в левом меню и нажмите на Enable APIs and Services. Вам необходимо включить API Диска.
  3. Создать учетную запись сервиса. В разделе APIs & Services нажмите на Credentials и нажмите на Create credentials, чтобы создать учетную запись сервиса. Присвойте вашей учетной записи сервиса имя и идентификатор учетной записи сервиса. Это как адрес электронной почты и будет использоваться для идентификации вашей учетной записи сервиса в будущем. Нажмите Done, чтобы завершить создание учетной записи сервиса. Вашей учетной записи сервиса нужен доступ по крайней мере к следующему объёму:

    • https://www.googleapis.com/auth/drive.readonly
  4. Создать файл ключа.

    • В Консоли Google Cloud перейдите в IAM and Admin > Service accounts страницу.
    • Щелкните адрес электронной почты учетной записи сервиса, для которой вы хотите создать ключ.
    • Щелкните вкладку Keys. Щелкните раскрывающееся меню Add key, затем выберите Create new key.
    • Выберите JSON в качестве типа ключа, а затем нажмите Create. Это загрузит файл JSON, который будет содержать учетные данные учетной записи сервиса.
  5. [Необязательно] Разделить папки Google Диска. Если вы используете делегирование на уровне домена для синхронизации данных, вы можете пропустить этот шаг. Перейдите в свой Google Диск. Щелкните правой кнопкой мыши папку или общий диск, выберите Share и добавьте адрес электронной почты учетной записи сервиса, созданной на шаге 3. в качестве просмотрщика в эту папку.

Когда вы предоставляете учетной записи сервиса доступ к определенной папке или общему диску в Google Диске, важно отметить, что разрешения распространяются на все элементы внутри этой папки или диска. Это означает, что все папки и файлы, содержащиеся в предоставленной папке или диске, наследуют те же права доступа, что и родительский элемент.

Дополнительные предварительные требования к аутентификации для делегирования на уровне домена

Этот шаг обязателен, когда Использовать делегирование на уровне домена для синхронизации данных или Включить безопасность на уровне документа опция конфигурации включена.

  1. Включить Google API.

    Выберите «API и службы» в левом меню и нажмите на Enable APIs and Services. Вам нужно включить API администратора и API Диска.

  2. Делегирование полномочий на уровне домена Google Workspace.

    Для доступа к данным диска и пользователям в домене Google Workspace созданная учетная запись сервиса должна получить доступ от супер-администратора домена. Вы можете следовать официальной документации, чтобы выполнить делегирование полномочий на уровне домена Google Workspace.

    Вам необходимо предоставить следующие OAuth-разрешения вашей учетной записи сервиса:

    • https://www.googleapis.com/auth/admin.directory.group.readonly
    • https://www.googleapis.com/auth/admin.directory.user.readonly
    • https://www.googleapis.com/auth/drive.readonly
    • https://www.googleapis.com/auth/drive.metadata.readonly

    Этот шаг позволяет коннектору:

    • получить доступ к данным пользователя и их принадлежности к группам в организации Google Workspace
    • получить доступ к данным Google Диска в дисках, связанных с членами Google Workspace
Конфигурация

При использовании потока работы самостоятельно управляемого коннектора изначально эти поля будут использовать значения по умолчанию, установленные в коде источника коннектора. Они заданы в определении функции get_default_configuration.

Эти настраиваемые поля будут отображены с соответствующими метками в пользовательском интерфейсе Kibana. После подключения вы сможете обновить эти значения в Kibana.

Требуются следующие поля конфигурации:

service_account_credentials
Учетные данные учетной записи сервиса, сгенерированные из Google Cloud Platform (строка JSON). Для получения дополнительной информации см. документацию Google Cloud.
use_domain_wide_delegation_for_sync
Используйте делегирование на уровне домена, чтобы автоматически синхронизировать содержимое со всех общих и личных дисков в Google Workspace. Это устраняет необходимость в ручном предоставлении доступа к данным Google Диска вашей учетной записи сервиса, хотя это может увеличить время синхронизации. Если отключено, будут синхронизированы только те элементы и папки, которые вручную предоставлены учетной записи сервиса.
google_workspace_admin_email_for_data_sync
Требуется при включении делегирования на уровне домена для синхронизации данных. Этот адрес электронной почты используется для обнаружения и синхронизации общих дисков. Синхронизируются только те общие диски, к которым у этого пользователя есть доступ.
google_workspace_email_for_shared_drives_sync
Требуется при включении делегирования на уровне домена для синхронизации данных. Укажите адрес электронной почты пользователя Google Workspace для обнаружения и синхронизации общих дисков. Будут синхронизированы только общие диски, к которым у этого пользователя есть доступ.
use_document_level_security

Переключатель для включения безопасности на уровне документа (DLS). DLS поддерживается для коннектора Google Диска. При включении:

  • Полные синхронизации получат списки управления доступом для каждого документа и сохранят их в поле _allow_access_control.
  • Синхронизации управления доступом получат списки управления доступом пользователей и сохранят их в отдельном индексе.
google_workspace_admin_email
Электронная почта администратора Google Workspace. Требуется для включения безопасности на уровне документа (DLS) или делегирования на уровне домена для синхронизации данных. Учетная запись сервиса с делегированными полномочиями может имитировать пользователя-администратора с разрешениями для доступа к данным пользователей Google Workspace и их принадлежности к группам. Для получения дополнительной информации см. документацию Google Cloud.
max_concurrency
Максимальное количество одновременных HTTP-запросов к API Google Диска. Увеличение этого значения может ускорить получение данных, но также может создать большие требования к системным ресурсам и пропускной способности сети.
use_text_extraction_service
Требует отдельного развертывания Услуги Elastic Text Extraction Service. Требуется, чтобы настройки конвейера отключали извлечение текста. Значение по умолчанию – False.
Развертывание с помощью Docker

Вы можете развернуть коннектор Google Диска как самостоятельно управляемый коннектор с помощью 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

Если вы используете службу коннектора с контейнеризованной версией 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: google_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 для получения дополнительной информации.

Документы и синхронизация

Коннектор получит все файлы и папки, к которым имеет доступ учетная запись службы.

Он попытается извлечь содержимое документов Google Suite (Google Docs, Google Sheets и Google Slides), а также обычных файлов.

  • Содержимое файлов размером более 10 МБ не будет извлечено
  • Разрешения не синхронизируются по умолчанию. Сначала необходимо включить DLS. В противном случае, все документы, индексированные в Elastic-развертывании, будут видны всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации

Полные синхронизации поддерживаются по умолчанию для всех коннекторов.

Этот коннектор также поддерживает инкрементные синхронизации.

Правила синхронизации

Основные правила синхронизации одинаковы для всех коннекторов и доступны по умолчанию.

Расширенные правила синхронизации недоступны для этого коннектора в текущей версии. В настоящее время фильтрация контролируется через конвейеры инжеста.

Безопасность на уровне документа

Безопасность на уровне документа (DLS) позволяет ограничивать доступ к документам на основе разрешений пользователя. Обратитесь к настройкам на этой странице, чтобы узнать, как включить DLS для этого коннектора.

Обратитесь к DLS в приложениях поиска, чтобы узнать, как импортировать данные из коннектора с включенной DLS при создании приложения поиска. В примере используется SharePoint Online в качестве источника данных, но шаги аналогичны для каждого коннектора.

Извлечение содержимого

См. Извлечение содержимого для получения дополнительной информации.

Конечное тестирование

Структура коннектора позволяет операторам выполнять функциональное тестирование с использованием реального источника данных. Обратитесь к тестированию коннекторов для получения более подробной информации.

Для выполнения конечного тестирования для коннектора Google Диск выполните следующую команду:

make ftest NAME=google_drive

Для более быстрого тестирования добавьте флаг DATA_SIZE=small:

make ftest NAME=google_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-google-drive.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API