Вы можете настроить Google Cloud Search для возврата результатов из локального контента SharePoint вашей организации в дополнение к контенту Google Workspace. Для этого используйте коннектор Google Cloud Search SharePoint On-Prem и настройте его для доступа к определённому источнику данных SharePoint.
Важные соображения
Уважаемые настройки SharePoint
Коннектор Cloud Search SharePoint On-Prem всегда учитывает настройку видимости поиска в SharePoint, которую невозможно переопределить. Для черновиков документов разрешения учётной записи пользователя (которую коннектор использует для доступа к SharePoint Online) определяют, какие черновики будут индексироваться и возвращаться. Если у учётной записи есть только разрешение «Полное чтение», коннектор учитывает настройки «Видимость элементов черновика» в SharePoint.
Вы также можете настроить коннектор для ограничения результатов на основе доступа к учётной записи пользователя. Для определения списков контроля доступа можно использовать субъекты Google и внешние субъекты. Чтобы применить фильтрацию по безопасности к контенту SharePoint, синхронизируйте следующие внешние идентификаторы с каталогом Google:
- Пользователи Active Directory
- Группы Active Directory
- Локальные группы SharePoint (с пользователями и группами Active Directory в качестве участников)
Для синхронизации пользователей и групп AD используется Google Cloud Directory Sync , что позволяет создавать группы с сопоставленными удостоверениями. Для синхронизации локальных групп SharePoint используется SharePoint Identity Connector.
Коннектору также необходимо выполнить поиск в AD для получения дополнительной информации для синхронизации участников. Например, поиск в AD позволяет коннектору выполнять следующие действия:
- Сопоставьте SID для группы домена с соответствующим sAMAccountName.
- Сопоставьте имя пользователя sAMAccountName с адресом электронной почты для членства в локальных группах SharePoint.
Поисковая оптимизация
Вы можете улучшить пользовательский опыт, настроив коннектор для возврата более релевантных результатов поиска.
Чтобы использовать API, задайте значения параметров генерации HTML в файле конфигурации коннектора SharePoint Online. Эти параметры позволяют указать, какие поля оказывают большее или меньшее влияние на совпадения.
Чтобы настроить схему, следуйте инструкциям в разделе «Создание и регистрация схемы» . При настройке схемы:
Чтобы сопоставить имена типов контента SharePoint с соответствующими определениями объектов, коннектор нормализует имена типов контента, исключая неподдерживаемые символы. Для определений объектов API Cloud Search поддерживает только символы AZ, az и 0–9 в качестве допустимых символов. Например, тип контента «Объявления» сопоставляется с определением объекта «Объявления». Тип контента «Новостная статья» сопоставляется с «NewsArticle» (без пробелов).
Если коннектор не может сопоставить определение объекта с определением объекта, он использует резервный тип объекта (
itemMetadata.objectType
). Подробнее о параметрах конфигурации метаданных см . здесь.Чтобы сопоставить имена свойств SharePoint с определениями свойств, соединитель нормализует имена свойств, декодируя шестнадцатеричные символы и удаляя префиксы «ows_», а затем исключая неподдерживаемые символы (все символы, кроме AZ, az и 0-9 как допустимых символов).
Обработка сообщений Microsoft Outlook
Когда коннектор обнаруживает файлы Microsoft Outlook .msg при индексации контента, он переопределяет тип носителя для файлов и индексирует их как application/vnd.ms-outlook.
Многопользовательские конфигурации
Если ваша среда SharePoint представляет собой многопользовательское развертывание, где несколько сайтов клиентов размещены в одном веб-приложении, вам необходимо настроить режим коллекции сайтов в файле конфигурации. В многопользовательском развертывании вы получаете разрешения только на доступ к своей коллекции сайтов и не можете получить разрешения на полное чтение , требуемые коннектором SharePoint On-Prem.
Чтобы включить режим коллекции сайтов:
- Предоставьте учетной записи пользователя-коннектора права администратора коллекции сайтов .
- В файле конфигурации коннектора укажите для параметра
sharepoint.server
URL-адрес коллекции сайтов, напримерhttp://sharepoint.example.com/sites/sitecollection
. Регистр URL-адреса может отличаться от регистра в SharePoint. - Установите
sharepoint.siteCollectionOnly
в файле конфигурации коннектора на значениеtrue
.
Если вам необходимо индексировать несколько коллекций сайтов в многопользовательской среде, вам необходимо настроить один экземпляр коннектора для каждой из коллекций сайтов.
Известные ограничения разъема
- Время, необходимое коннектору для обнаружения изменений в элементах баз данных, увеличивается с количеством баз данных, которые отслеживает коннектор.
- Потребление памяти увеличивается с количеством уникальных пользователей и групп, которые вы используете в списках контроля доступа для каждой коллекции сайтов.
- Вы можете настроить соединитель с идентификаторами только из одного домена Active Directory.
- Некоторые общие субъекты Active Directory и Windows, такие как
Everyone
,BUILTIN\Users
иAll Authenticated Users
, не поддерживаются. - Уведомления об удалении не приходят мгновенно, и коннектору может потребоваться более 4 часов, чтобы распознать, что пользователь удалил контент из исходного репозитория.
Системные требования
Системные требования | |
---|---|
Операционная система |
|
Программное обеспечение |
|
Аутентификация |
|
Разверните соединитель
Предпосылки
Создайте закрытый ключ Google Workspace, содержащий идентификатор вашей учётной записи сервиса. Чтобы узнать, как получить закрытый ключ, перейдите к разделу Настройка доступа к API Google Cloud Search .
Администратор Google Workspace должен добавить источник данных для поиска . Запишите идентификатор источника данных.
Если соединитель возвращает результаты на основе списков ACL (результаты не являются общедоступными), ваш администратор Google Workspace должен создать два источника удостоверений и предоставить вам их идентификаторы:
- Источник удостоверений для синхронизации пользователей и групп Active Directory.
- Источник удостоверений для локальных групп SharePoint
Администратор также должен получить идентификатор клиента Google Workspace вашей организации и передать его вам.
Узнайте, как получить эти значения в разделе Сопоставление идентификаторов пользователей в Cloud Search .
Настройте учетную запись пользователя для коннектора, имеющего разрешения на полное чтение для веб-приложения SharePoint в политике пользователя.
Если у веб-приложения SharePoint нет корневой коллекции сайтов, создайте ее.
Если какие-либо коллекции сайтов заблокированы от записи, войдите на сервер SharePoint, используя учетную запись с правами администратора, и запустите скрипт
PrepareWriteLockedSites.ps1
.Чтобы получить метрики источника данных для определения конфигурации коннектора, войдите на сервер SharePoint, используя учетную запись с правами администратора фермы, и запустите
diagnose_sp.ps1
.В результатах отображается количество веб-приложений, документов и членство пользователей в группах. Используйте эту информацию для оценки необходимого количества экземпляров коннектора, требований к памяти и количества документов.
Шаг 1. Установите программное обеспечение коннектора Google Cloud Search SharePoint On-Prem.
Клонируйте репозиторий коннектора из GitHub.
$ git clone https://github.com/google-cloudsearch/sharepoint-connector.git $ cd sharepoint-connector
Проверьте желаемую версию коннектора:
$ git checkout tags/latest_version
Где:
latest_version
= значение, напримерv1-0.0.5
Создайте соединитель.
$ mvn package
Чтобы пропустить тесты при сборке коннектора, выполните
mvn package -DskipTests
вместоmvn package
.Скопируйте zip-файл соединителя в локальный каталог установки:
$ cp target/google-cloudsearch-sharepoint-connector-latest_version.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-sharepoint-connector-latest_version.zip $ cd google-cloudsearch-sharepoint-connector-latest_version
Шаг 2. Создайте файл конфигурации коннектора SharePoint On-Prem
В том же каталоге, где установлен коннектор, создайте файл. Google рекомендует назвать его
connector-config.properties
, чтобы не требовалось дополнительных параметров командной строки для запуска коннектора. Если вы планируете запускать несколько экземпляров коннектора, добавьте к имени детали, чтобы его можно было различить.Добавьте параметры в виде пар ключ/значение к содержимому файла, как в следующем примере:
### Sharepoint On-Prem Connector configuration ### # Required parameters for data source access api.sourceId=08ef8becd116faa4546b8ca2c84b2879 api.serviceAccountPrivateKeyFile=service_account.json api.identitySourceId=08ef8becd116faa475de26d9b291fed9 # Required parameters for SharePoint on-premises access sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection sharepoint.siteCollectionOnly=true sharepoint.username=contoso\\admin sharepoint.password=pa$sw0rd sharepoint.stripDomainInUserPrincipals=true # Required parameters for AD lookup adLookup.host=dc.contoso.com adLookup.username=contoso\\admin adLookup.password=pa$sw0rd api.referenceIdentitySources=CONTOSO,contoso api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa # Optional parameters for schema mapping contentTemplate.sharepointItem.title=Title contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
Подробное описание каждого параметра см. в справочнике параметров конфигурации .
(Необязательно) При необходимости настройте дополнительные параметры коннектора. Подробнее см. в разделе «Параметры коннектора, предоставляемые Google» .
Шаг 3. Для HTTPS добавьте SharePoint как доверенный хост.
Если SharePoint настроен на использование HTTPS, получите сертификат SharePoint, чтобы добавить его в качестве доверенного хоста для коннектора.
На компьютере, на котором будет работать соединитель, откройте браузер и перейдите в SharePoint.
На открывшейся странице предупреждения нажмите «Я понимаю риски и добавлю исключение ». На странице отображается сообщение типа «Это подключение не является доверенным», поскольку сертификат самоподписан и не подписан доверенным центром сертификации.
Когда кнопка «Просмотр» станет доступной, нажмите ее.
Перейдите на вкладку «Подробности» и нажмите «Экспорт» .
Сохраните сертификат в каталоге коннектора под именем
sharepoint.crt
.Нажмите «Закрыть» , затем «Отмена» , чтобы закрыть окна.
Откройте командную строку и введите следующую команду:
$ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint
На вопрос «Доверять этому сертификату?» ответьте «Да» .
Шаг 4. Настройка ведения журнала
В каталоге, содержащем двоичный файл коннектора, создайте папку с именем
logs
.В том же каталоге (не
logs
) создайте файл в кодировке Latin1 с именемlogging.properties
.Добавьте следующий текст в
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
Шаг 5. Настройте соединитель удостоверений SharePoint On-Prem
Этот шаг необходим для применения списков контроля доступа SharePoint On-Prem на основе удостоверений к результатам поиска. Если вы настроили коннектор с публичными списками контроля доступа, этот шаг можно пропустить.
В том же каталоге, где установлена система SharePoint Online, создайте файл и назовите его
sharepoint-onprem-identity-connector.config
.Добавьте параметры в виде пар ключ/значение к содержимому файла, как в следующем примере:
### SharePoint On-prem identity connector configuration ### # Required parameters for data source access api.customerId=C05d3djk8 api.serviceAccountPrivateKeyFile=service_account.json api.identitySourceId=08ef8becd116faa475de26d9b291fed9 # Required parameters for SharePoint access sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection sharepoint.siteCollectionOnly=true sharepoint.username=contoso\\admin sharepoint.password=pa$sw0rd sharepoint.stripDomainInUserPrincipals=true # Required parameters for AD lookup adLookup.host=dc.contoso.com adLookup.username=contoso\\admin adLookup.password=pa$sw0rd api.referenceIdentitySources=CONTOSO,contoso api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
Значения практически такие же, как для коннектора SharePoint On-Prem, за исключением того, что вместо
api.sourceId
используется параметрapi.customerId
. Значениеapi.customerId
— это идентификатор клиента, полученный от администратора Google Workspace.
Шаг 6. Запустите коннектор SharePoint On-Prem
На следующих этапах вы сопоставите субъекты в локальной службе Active Directory и коллекции сайтов SharePoint с идентификаторами в службе Cloud Identity. Синхронизация выполняется с помощью Google Cloud Directory Sync (GCDS) и коннектора SharePoint On-Prem Identity.
После синхронизации пользователей и групп GCDS запустите коннектор удостоверений SharePoint On-Prem для синхронизации групп коллекции сайтов SharePoint. Затем запустите коннектор SharePoing On-Prem для индексации и предоставления результатов пользователям Cloud Search.
Если вы ещё этого не сделали, настройте и запустите GCDS . Не забудьте включить сопоставление групп с идентификацией .
Запустите соединитель удостоверений SharePoint On-Prem:
$ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-onprem-identity-connector.config
Запустите коннектор SharePoint On-Prem. Используйте следующий синтаксис команды для обеспечения безопасности вашего сайта SharePoint:
HTTP (доверенный хост не требуется):
$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
HTTPS (добавьте SharePoint в качестве доверенного хоста):
$ java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=changeit -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
Справочник параметров конфигурации
Доступ к источнику данных
Параметр | Параметр |
Идентификатор источника данных | api.sourceId= 1234567890abcdef Обязательно. Идентификатор источника данных Google Cloud Search, настроенный администратором Google Workspace. |
Путь к файлу закрытого ключа учетной записи службы | api.serviceAccountPrivateKeyFile= PrivateKey.json Обязательно. Путь к файлу ключа учётной записи службы Google Cloud Search. |
Локальный доступ к SharePoint
Параметр | Параметр |
URL-адрес сервера SharePoint | sharepoint.server= http://yoursharepoint.example.com/ Обязательно. URL-адрес сервера SharePoint в виде полного имени хоста, например http://yoursharepoint.example.com/. Если имя хоста неполное, необходимо настроить переопределение DNS на хосте коннектора. |
Имя пользователя SharePoint | sharepoint.username= YOURDOMAIN\\ConnectorUser Требуется при запуске соединителя на машине Linux или Windows, которая не является частью домена SharePoint Server AD. |
пароль SharePoint | sharepoint.password= user_password Требуется при запуске соединителя на машине Linux или Windows, которая не является частью домена SharePoint Server AD. |
Используйте живую аутентификацию для подключения к SharePoint | sharepoint.username= AdaptorUser Live Authentication Id |
Используйте аутентификацию ADFS для подключения к SharePoint | sharepoint.username= AdaptorUser@yourdomain.com |
Индексация коллекции сайтов
Параметр | Параметр |
Тип индекса | sharepoint.siteCollectionOnly= boolean Необязательно, за исключением многопользовательских развёртываний SharePoint ( подробнее ). Установите значение true, чтобы индекс коннектора |
Сопоставление удостоверений SharePoint
Параметр | Параметр |
Идентификатор источника идентичности | api.identitySourceId= 1234567890abcdef Обязательно. Идентификатор источника удостоверений для синхронизации локальных групп SharePoint. Идентификатор источника Google Cloud Search, настроенный администратором Google Workspace, как описано в разделе Добавление источника данных для поиска . |
Источники справочной информации об идентичности | api.referenceIdentitySources= CONTOSO,contoso Список источников идентификационных данных для субъектов Active Directory, разделенных запятыми. Значение соответствует NETBIOS-имени Active Directory для этих субъектов Active Directory. |
Идентификаторы источников справочной идентичности | api.referenceIdentitySource. DOMAIN .id= identity-source-id Обязательно. Идентификатор источника удостоверений для синхронизации субъектов Active Directory. |
Поиск в Active Directory
Параметр | Параметр |
Хост Active Directory | adLookup.host= host Обязательно. Имя хоста Active Directory, например dc.contoso.com, или IP-адрес. |
Порт поиска Active Directory | adLookup.port= port Необязательно. Значение по умолчанию — 389. Для SSL используйте 686. |
Метод поиска в Active Directory | adLookup.method= value Необязательно. Значение по умолчанию — `standard`. Для HTTPS-подключений выберите `ssl`. |
Поиск пользователя в Active Directory | adLookup.username= CONTOSO\user1 Обязательно. Пользователь, авторизованный для выполнения поиска в Active Directory. |
Пароль поиска Active Directory | adLookup.password= password123 Обязательно. Пароль для пользователя, указанного в |
Генерация 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.
|