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

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

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

Уважаемые настройки SharePoint

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

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

Поисковая оптимизация

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

Чтобы использовать API, задайте значения для параметров создания HTML в файле конфигурации соединителя SharePoint Online. Эти параметры позволяют вам указать, какие поля оказывают большее или меньшее влияние на совпадения.

Чтобы настроить схему, следуйте инструкциям в разделе Создание и регистрация схемы . Когда вы настраиваете схему:

  • Чтобы сопоставить имена типов контента SharePoint с соответствующими определениями объектов, соединитель нормализует имена типов контента, исключая неподдерживаемые символы. Для определений объектов API Cloud Search поддерживает в качестве допустимых символов только AZ, az и 0–9. Например, тип контента «Объявления» соответствует определению объекта «Объявления». Тип контента «Статья новостей» соответствует «Статья новостей» (без пробела).

  • Если соединитель не может сопоставить определение объекта с определением объекта, соединитель использует резервный тип объекта ( itemMetadata.objectType ). Узнайте больше о параметрах конфигурации метаданных .

  • Соединитель сопоставляет имена свойств SharePoint с определениями свойств.

  • Когда соединитель обнаруживает файлы Microsoft Outlook .msg при индексировании содержимого, он переопределяет тип содержимого для файлов и индексирует их как application/vnd.ms-outlook.

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

  • Каждый экземпляр соединителя может индексировать контент только из одного семейства веб-сайтов. Чтобы индексировать несколько семейств сайтов, настройте дополнительные экземпляры соединителя.
  • Потребление памяти увеличивается с увеличением количества уникальных пользователей и групп, которые вы используете в списках управления доступом для каждого семейства веб-сайтов.
  • Уведомления об удалении не появляются мгновенно, и соединителю может потребоваться более 4 часов, чтобы распознать, что пользователь удалил контент из исходного репозитория.

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

Системные требования
Операционная система
  • Windows Сервер 2016
  • Убунту
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64-разрядная версия)
Аутентификация
  • Живая аутентификация
Программное обеспечение
  • Среда SharePoint Online
  • Java JRE 1.8 установлена ​​на компьютере, на котором будет работать соединитель Google Cloud Search SharePoint Online.

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

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

  1. Создайте закрытый ключ Google Workspace, который будет содержать идентификатор вашего сервисного аккаунта. Чтобы узнать, как получить закрытый ключ, перейдите в раздел Настройка доступа к API Google Cloud Search .

  2. Ваш администратор Google Workspace должен добавить источник данных для поиска . Запишите идентификатор источника данных.

  3. Если коннектор возвращает результаты на основе списков управления доступом (результаты не являются общедоступными), ваш администратор Google Workspace должен создать два источника удостоверений и предоставить вам их идентификаторы:

    • один для пользователей и групп Office 365
    • один для групп SharePoint

    Администратор также должен получить идентификатор клиента Google Workspace вашей организации и передать его вам.

    Узнайте, как получить эти значения в идентификаторах пользователей карты в Cloud Search .

  4. Настройте учетную запись пользователя для соединителя с правами администратора семейства веб-сайтов SharePoint Online.

  5. Если соединитель возвращает результаты на основе списков управления доступом (результаты не являются общедоступными), создайте учетные данные для чтения пользователей и групп из вашей учетной записи Office 365. Следуйте инструкциям Microsoft, чтобы создать приложение Azure Active Directory . При настройке приложения:

    1. Назовите приложение описательным именем, например «gcs-o365-identity-connector».
    2. Добавьте разрешения. Приложению необходимы «Group.Read.All» и «User.Read.All».
    3. Запишите следующую информацию для использования в конфигурации соединителя:
      • Идентификатор приложения
      • Жилец
      • Секрет клиента

Шаг 1. Установите программное обеспечение соединителя SharePoint Online.

  1. Клонируйте репозиторий соединителя с GitHub.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Ознакомьтесь с желаемой версией разъема:

    $ git checkout tags/v1-0.0.3
  3. Создайте соединитель.

    $ mvn package

    Чтобы пропустить тесты при сборке соединителя, запустите mvn package -DskipTests вместо mvn package .

  4. Скопируйте zip-файл соединителя в локальный каталог установки:

    $ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3

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

  1. В том же каталоге, где установлен коннектор, создайте новый файл и назовите его sharepoint-online-connector.config . Если вы планируете запускать много экземпляров соединителя, добавьте к имени дополнительные сведения, чтобы его можно было отличить.

  2. Добавьте к содержимому файла параметры в виде пар ключ/значение, как показано в следующем примере:

    ### SharePoint Online connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    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
    
    # Optional SharePoint List Item metadata parameters
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    Подробное описание каждого параметра можно найти в справочнике по параметрам конфигурации .

  3. (Необязательно) При необходимости настройте дополнительные параметры соединителя. Подробную информацию см. в разделе «Параметры соединителя, предоставленные Google» .

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

  1. Создайте папку с именем logs в том же каталоге, где находится двоичный файл соединителя.

  2. Создайте файл в кодировке Latin-1 с именем 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 Online.

Этот шаг необходим для применения списков управления доступом SharePoint Online на основе удостоверений к результатам поиска. Если вы настроили соединитель с общедоступными списками управления доступом, вы можете пропустить этот шаг.

  1. В том же каталоге, где установлен соединитель SharePoint Online, создайте новый файл и назовите его sharepoint-online-identity-connector.config .

  2. Добавьте к содержимому файла параметры в виде пар ключ/значение, как показано в следующем примере:

    ### 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
    

    Значения почти такие же, как и для соединителя SharePoint Online, за исключением того, что вместо api.sourceId используется параметр api.customerId . Значение api.customerId — это идентификатор клиента, который вы получили от администратора Google Workspace.

Шаг 5. Установите соединитель удостоверений Office 365.

Этот шаг необходим для применения списков управления доступом SharePoint Online на основе удостоверений к результатам поиска. Если вы настроили соединитель с общедоступными списками управления доступом, вы можете пропустить этот шаг.

  1. Клонируйте репозиторий соединителя с GitHub.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
  2. Ознакомьтесь с желаемой версией разъема:

    $ git checkout tags/v1-0.0.3
  3. Создайте соединитель.

    $ mvn package

    Чтобы пропустить тесты при сборке соединителя, запустите mvn package -DskipTests вместо mvn package .

  4. Скопируйте zip-файл соединителя в локальный каталог установки:

    $ cp target/google-cloudsearch-office-365-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-office-365-connector-v1-0.0.3

Шаг 6. Настройте соединитель удостоверений Office 365 и настройте ведение журнала.

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

  2. Добавьте к содержимому файла параметры в виде пар «ключ-значение», как показано в следующем примере. Примечание. Все параметры являются обязательными.

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

    Подробное описание каждого параметра можно найти в справочнике по настройке соединителя удостоверений Office 365 .

  3. Создайте папку с именем logs в том же каталоге, где находится двоичный файл соединителя.

  4. Создайте файл ASCII или UTF-8 с именем 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. Запустите соединитель SharePoint Online.

На следующих шагах вы сопоставите участников как в Office 365, так и в семействе веб-сайтов SharePoint с удостоверениями в службе Cloud Identity. Эта синхронизация выполняется с помощью соединителя удостоверений Office 365 и соединителя удостоверений SharePoint Online.

После того как соединитель Office 365 синхронизирует пользователей и группы, запустите соединитель удостоверений SharePoint Online, чтобы синхронизировать группы семейства веб-сайтов SharePoint. Затем вы запускаете соединитель SharePoint Online для индексации и предоставления результатов пользователям Cloud Search.

  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 -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -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

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

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

Параметр Параметр
Идентификатор источника данных 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.

  • ДОБАВИТЬ – соединитель генерирует 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.