Развертывание соединителя Microsoft SharePoint Online

Вы можете настроить Google Cloud Search таким образом, чтобы он возвращал результаты из контента SharePoint Online вашей организации в дополнение к контенту Google Workspace. Используйте коннектор Cloud Search для SharePoint Online и настройте его для доступа к определенному источнику данных SharePoint Online.

Важные соображения

Перед развертыванием коннектора SharePoint Online следует учесть следующие моменты.

Учитываются настройки SharePoint

Коннектор всегда учитывает параметр видимости поиска в SharePoint. Для черновиков права доступа пользователя, используемого коннектором для доступа к SharePoint Online, определяют, какие черновики он индексирует и возвращает. Если у учетной записи есть только права на «Полное чтение», коннектор учитывает параметры видимости элементов черновика.

Также вы можете настроить коннектор для ограничения результатов в зависимости от доступа учетной записи пользователя. Для применения фильтрации по признаку безопасности синхронизируйте эти внешние идентификаторы с Google Cloud Directory:

  • Пользователи Office 365 / Azure AD.
  • Группы безопасности Office 365 / Azure AD.
  • Группы SharePoint (с пользователями и группами Office 365 в качестве участников).

Оптимизация поиска

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

Для настройки схемы см. раздел «Создание и регистрация схемы» . При настройке схемы:

  • Коннектор нормализует типы контента SharePoint, приводя их к допустимым именам определений объектов (AZ, az, 0-9). Например, "Новостная статья" становится "Новостной статьей".
  • Если коннектор не может соответствовать определению объекта, он использует резервный тип объекта ( itemMetadata.objectType ). См. Параметры конфигурации метаданных .
  • Этот коннектор сопоставляет имена свойств SharePoint с определениями свойств.
  • Коннектор переопределяет тип носителя для файлов Microsoft Outlook .msg и индексирует их как application/vnd.ms-outlook .

Известные ограничения разъемов

  • Каждый экземпляр коннектора индексирует контент только из одной коллекции сайтов. Для индексации нескольких коллекций сайтов необходимо настроить дополнительные экземпляры.
  • Потребление памяти увеличивается с увеличением количества уникальных пользователей и групп в списках контроля доступа (ACL).
  • Для распространения уведомлений об удалении может потребоваться более 4 часов.

Системные требования

Системные требования
Операционная система Windows Server 2016, Ubuntu, Red Hat Enterprise Linux 5.0 или SUSE Enterprise Linux 10 (64-бит).
Аутентификация Аутентификация в реальном времени.
Программное обеспечение Среда SharePoint Online; Java JRE 1.8.

Разверните коннектор

Выполните следующие действия для развертывания коннектора SharePoint Online.

Предварительные требования

  1. Создайте закрытый ключ Google Workspace. См. раздел «Настройка доступа к API Cloud Search» .
  2. Добавьте источник данных для поиска и запишите его идентификатор. См. раздел «Добавление источника данных для поиска» .
  3. Для получения результатов на основе ACL администратору необходимо создать два источника идентификации (один для Office 365 и один для групп SharePoint) и указать идентификатор клиента Google Workspace. См. раздел «Сопоставление идентификаторов пользователей» .
  4. Создайте для коннектора учетную запись пользователя с правами администратора коллекции сайтов SharePoint Online.
  5. Создайте учетные данные приложения Azure Active Directory с разрешениями Group.Read.All и User.Read.All . Запишите идентификатор приложения, имя клиента и секретный ключ клиента.

Шаг 1. Установите программное обеспечение коннектора.

  1. Клонируйте репозиторий:
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Проверьте выбранную вами версию (например, v1-0.0.3 ):
    $ git checkout tags/v1-0.0.3
  3. Создайте коннектор:
    $ mvn package
    Чтобы пропустить тесты, используйте команду mvn package -DskipTests .`.
  4. Распакуйте ZIP-файл в каталог установки.

Шаг 2. Создайте файл конфигурации.

Создайте sharepoint-online-connector.config в каталоге установки. Добавьте параметры в виде пар ключ-значение, как показано в следующем примере:

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

Для получения более подробной информации см. справочные или предоставленные Google параметры .

Шаг 3. Настройка ведения журналов.

Создайте папку logs и файл logging.properties со следующим содержимым:

   handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
   # Default log level
   .level = INFO

   # uncomment line below to increase logging level for SharePoint APIsa
   #com.google.enterprise.cloudsearch.sharepoint.level=FINE

   # uncomment line below to increase logging level to enable API trace
   #com.google.api.client.http.level = FINE
   java.util.logging.ConsoleHandler.level = INFO
   java.util.logging.FileHandler.pattern=logs/connector-sharepoint.%g.log
   java.util.logging.FileHandler.limit=10485760
   java.util.logging.FileHandler.count=10
   java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

Шаг 4. Настройка соединителя идентификации SharePoint.

Для применения списков контроля доступа на основе идентификаторов создайте файл sharepoint-online-identity-connector.config , указав в нем ваш api.customerId и другие параметры подключения, как показано в следующем примере:

```properties
### SharePoint Online identity connector configuration ###
# Required parameters for data source access
api.customerId=C05d3djk8
api.serviceAccountPrivateKeyFile=service_account.json

# Required parameters for SharePoint Online access
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=pa$sw0rd
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE

# SharePoint identity mapping parameters
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
```

Шаг 5. Установите коннектор идентификации Office 365.

Если вы используете списки контроля доступа (ACL) на основе идентификаторов SharePoint Online, выполните этот шаг. Если вы используете общедоступные списки контроля доступа, пропустите этот шаг.

  1. Клонируйте репозиторий Office 365:

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
    
  2. Загрузите и соберите коннектор, используя mvn package .

  3. Распакуйте ZIP-файл в каталог установки.

Шаг 6. Настройка соединителя идентификации Office 365.

  1. В той же директории, где установлен коннектор идентификации, создайте файл с именем o365-identity-connector.config и добавьте параметры в виде пар ключ-значение:

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=<var>12345abcde</var>
    api.customerId=<var>abcde12345</var>
    o365.clientId=<var>a63c6eb3-29e7-486</var>
    o365.tenant=<var>185ef9ed-29e7-486</var>
    o365.clientSecret=<var>raHJN15vRLBKs</var>
    

    Описание параметров см. в разделе «Коннектор идентификации Office 365» .

  2. В той же директории создайте папку с именем logs .

  3. В той же директории создайте файл с именем logging.properties со следующим содержимым:

       handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
       # Default log level
       .level = INFO
       # uncomment line below to increase logging level for Office 365 APIs
       #com.google.enterprise.cloudsearch.o365.level=FINE
    
       # uncomment line below to increase logging level to enable Google API traces
       #com.google.api.client.http.level = FINE
       java.util.logging.ConsoleHandler.level = INFO
       java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log
       java.util.logging.FileHandler.limit=10485760
       java.util.logging.FileHandler.count=10
       java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

Шаг 7. Запустите коннектор.

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

  1. Для синхронизации пользователей и групп запустите коннектор идентификации Office 365:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
    
  2. Для синхронизации групп коллекций сайтов запустите соединитель идентификации SharePoint Online:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-identity-connector.config
    
  3. Запустите коннектор SharePoint Online для индексации контента:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-connector.config
    

Справочник параметров конфигурации

В следующих разделах перечислены параметры конфигурации, используемые для настройки коннектора SharePoint Online.

доступ к источнику данных

Параметр Параметр
Идентификатор источника данных api.sourceId= 1234567890abcdef

Обязательно. Идентификатор источника данных Google Cloud Search, настроенный администратором Google Workspace.

Путь к файлу закрытого ключа учетной записи службы api.serviceAccountPrivateKeyFile= PrivateKey.json

Обязательно. Путь к файлу ключа учетной записи службы Google Cloud Search.

Доступ к SharePoint Online

Параметр Параметр
Полное доменное имя для коллекции сайтов SharePoint sharepoint.server= http://yoursharepoint.example.com/

Обязательно. Если доменное имя не указано полностью, установите параметр переопределения DNS на хосте коннектора.

Режим только для сбора данных о сайтах sharepoint.siteCollectionOnly=true

Обязательно. Для SharePoint Online установите значение true .

имя пользователя SharePoint sharepoint.username= username

Обязательно. Имя пользователя учетной записи, используемой для доступа к SharePoint Online.

пароль SharePoint sharepoint.password= user_password

Обязательно. Пароль для учетной записи, используемой для доступа к SharePoint Online.

Режим аутентификации sharepoint.formsAuthenticationMode=LIVE

Обязательное поле. Для SharePoint Online значение всегда равно `LIVE`.

Тип развертывания sharepoint.deploymentType=ONLINE

Обязательное поле. Для SharePoint Online значение всегда равно `ONLINE`.

Сопоставление идентификаторов SharePoint

Параметр Параметр
Идентификатор источника идентификации api.identitySourceId= 1234567890abcdef

Обязательно. Идентификатор источника идентификации Cloud Search для источника идентификации групп SharePoint.

Источники справочной информации об идентификации api.referenceIdentitySources=defaultIdentitySource

Обязательно. Для SharePoint Online значение всегда равно `defaultIdentitySource`.

Идентификатор источника ссылки api.referenceIdentitySource.defaultIdentitySource.id= 112233abcd

Обязательно. Идентификатор источника идентификации Cloud Search для пользователей и групп Office 365.

генерация HTML-контента

Параметр Параметр
HTML-шаблон поля заголовка contentTemplate.sharePointItem.title= Title

Поле SharePoint, используемое в качестве заголовка HTML-шаблона для генерируемого HTML-кода.

HTML-контент, поля высокого качества для поиска contentTemplate.sharePointItem.quality.high= highField1 [, highField2 ,...]

Список полей, разделенных запятыми, которые следует включить в сгенерированный HTML-код в качестве высококачественных полей. Если поисковые запросы соответствуют этим полям, результаты ранжируются выше.

HTML-контент, средний уровень качества поиска, поля contentTemplate.sharePointItem.quality.medium= mediumField1 [, mediumField2 ,...]

Разделенный запятыми список полей, которые следует включить в сгенерированный HTML-код в качестве полей среднего качества.

HTML-контент, поля низкого качества для поиска contentTemplate.sharePointItem.quality.low= lowField1 [, lowField2 ,...]

Разделённый запятыми список полей, которые следует включить в сгенерированный HTML-код в качестве полей низкого качества.

Несоответствующие столбцы HTML-контента contentTemplate.sharepointItem.unmappedColumnsMode= APPEND

Способ обработки несоответствующих столбцов коннектором. Значение: APPEND (по умолчанию) или IGNORE.

  • APPEND — Коннектор генерирует HTML-контент со всеми полями, включая те, для которых не задан уровень качества (высокий, средний или низкий).
  • ИГНОРИРОВАТЬ — Коннектор генерирует HTML-контент, содержащий только сопоставленные поля.

Настройка коннектора идентификации Office 365

Параметр Параметр
Идентификатор источника идентификации api.identitySourceId= 1234567890abcdef

Обязательно. Идентификатор источника идентификации Office 365. Это значение должно совпадать со значением `api.referenceIdentitySource.defaultIdentitySource.id` в конфигурации коннектора SharePoint Online.

Идентификатор клиента Google api.customerId= c1b1d1e1

Обязательно. Идентификатор клиента Google Workspace вашей организации.

Идентификатор приложения Office 365 o365.clientId= a63c6eb3-29e7-486

Обязательно. Идентификатор приложения из настроек приложения Office 365.

Арендатор Office 365 o365.tenant= 185ef9ed-29e7-486

Обязательно. Клиент вашей учетной записи Office 365 (ваше приложение Azure Activity Directory).

Секрет клиента Office 365 o365.clientSecret= raHJN15vRLBKs

Обязательно. Секретные учетные данные из настроек приложения Office 365.