部署 Microsoft SharePoint On-Prem 连接器

您可以设置 Google Cloud Search,使其除了返回 Google Workspace 内容之外,还返回贵组织的 SharePoint 本地内容。使用 Cloud Search SharePoint On-premises 连接器,并将其配置为可访问特定的 SharePoint 数据源。

重要注意事项

在部署 SharePoint 本地连接器之前,请注意以下事项。

遵循的 SharePoint 设置

连接器始终遵循 SharePoint 上的搜索可见性设置。 对于草稿文档,连接器用于访问 SharePoint 的用户账号的权限会控制连接器编入索引和返回哪些文档。如果账号具有“完全读取”权限,则连接器会遵循“草稿项可见性”设置。

您还可以使用 Google 主账号和外部主账号定义 ACL,从而根据用户账号访问权限限制结果。如需应用安全调整,请将以下外部身份与 Google Cloud Directory 同步:

  • Active Directory 用户和群组。
  • SharePoint 本地群组(成员包括 Active Directory 用户和群组)。

如需同步 AD 用户和群组,请使用 Google Cloud Directory Sync 并启用身份映射群组。对于 SharePoint 本地群组,请使用 SharePoint 身份连接器。

连接器还会执行 Active Directory 查找,以获取用于同步主账号的信息,例如将 SID 映射到 sAMAccountName。

搜索优化

通过配置连接器来返回相关结果,从而改进搜索体验。使用配置文件中的 HTML 生成参数设置字段影响级别。

如需设置架构,请参阅创建和注册架构。 设置架构时:

  • 连接器会将 SharePoint 内容类型标准化为有效的对象定义名称 (A-Z、a-z、0-9)。例如,“新闻文章”会变为“NewsArticle”。
  • 如果连接器无法匹配对象定义,则会使用后备对象类型 (itemMetadata.objectType)。请参阅元数据配置参数
  • 连接器通过解码十六进制字符并移除“ows_”前缀来规范化属性名称。

Microsoft Outlook 消息处理

连接器会替换 Microsoft Outlook .msg 文件的媒体类型,并将其以 application/vnd.ms-outlook 形式编入索引。

多租户配置

对于多租户部署,请配置网站集模式:

  • 向连接器账号授予网站集管理员权限。
  • sharepoint.server 设置为网站集网址(例如,http://sharepoint.example.com/sites/collection)。
  • sharepoint.siteCollectionOnly 设置为 true

为每个网站集配置一个连接器实例。

已知限制

  • 检测到更改的时间会随着受监控数据库的数量增加而延长。
  • 内存用量会随着 ACL 中唯一身份用户和群组数量的增加而增加。
  • 连接器仅支持来自一个 Active Directory 网域的身份。
  • 删除通知可能需要四个多小时才能生效。

系统要求

系统要求
操作系统 Windows Server 2016、Ubuntu、Red Hat Enterprise Linux 5.0 或 SUSE Enterprise Linux 10(64 位)。
软件 SharePoint Server 2013 或 2016;Java JRE 1.8。
身份验证 NTLM、Kerberos、HTTP Basic 或 ADFS。

部署连接器

请按照以下步骤部署 SharePoint On-premises 连接器。

前提条件

  1. 创建 Google Workspace 私钥。请参阅配置对 Cloud Search API 的访问权限
  2. 添加可供搜索的数据源并记录其 ID。请参阅添加可供搜索的数据源
  3. 对于基于 ACL 的结果,您的管理员必须创建两个身份源(一个用于 Active Directory,另一个用于 SharePoint 本地群组),并提供 Google Workspace 客户 ID。请参阅映射用户身份
  4. 为连接器设置具有完全读取权限的用户账号。
  5. 确保 SharePoint Web 应用具有根网站集。
  6. 如果网站集处于写入锁定状态,请运行 PrepareWriteLockedSites.ps1 脚本。

第 1 步:安装连接器软件

  1. 克隆代码库:
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. 签出所选版本(例如,v1-0.0.5):
    $ git checkout tags/v1-0.0.5
  3. 构建连接器:
    $ mvn package
    如需跳过测试,请使用 mvn package -DskipTests
  4. 将 ZIP 文件解压缩到安装目录。

第 2 步:创建配置文件

在安装目录中创建 connector-config.properties。以键值对的形式添加参数:

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
sharepoint.server=http://sp-2016:32967/sites/collection
sharepoint.siteCollectionOnly=true
sharepoint.username=contoso\\admin
sharepoint.password=password
adLookup.host=dc.contoso.com
adLookup.username=contoso\\admin
adLookup.password=password

如需了解详情,请参阅参考文档Google 提供的参数

第 3 步:将 SharePoint 添加为可信主机 (HTTPS)

如果使用 HTTPS,请导出 SharePoint 证书并将其导入连接器的密钥库:

$ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint

第 4 步:设置日志记录

创建一个 logs 文件夹和一个包含以下内容的 logging.properties 文件: properties handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler .level = INFO java.util.logging.ConsoleHandler.level = INFO java.util.logging.FileHandler.pattern=logs/connector-sharepoint.%g.log

第 5 步:配置身份连接器

如需应用基于身份的 ACL,请使用您的 api.customerId 和其他连接参数创建 sharepoint-onprem-identity-connector.config

第 6 步:启动连接器

  1. 运行 GCDS 以同步 Active Directory 用户和群组。
  2. 运行 SharePoint 身份连接器以同步网站集群组。
  3. 运行 SharePoint On-premises 连接器以将内容编入索引。

配置参数参考

以下部分列出了用于配置 SharePoint On-Prem 连接器的配置参数。

数据源访问权限

设置 参数
数据源 ID api.sourceId=ID
服务账号 api.serviceAccountPrivateKeyFile=path

SharePoint 本地访问权限

设置 参数
服务器网址 sharepoint.server=URL
凭证 sharepoint.usernamesharepoint.password

HTML 内容生成

设置 参数
“标题”字段 contentTemplate.sharePointItem.title=Title
质量字段 contentTemplate.sharePointItem.quality.highmediumlow