您可将 Google Cloud Search 设为返回贵组织的结果 除 Google Workspace 内容外,SharePoint 本地内容。 您使用 Google Cloud Search SharePoint On-Prem 连接器并对其进行配置 访问特定 SharePoint 数据源的权限
重要注意事项
HonoredSharePoint 设置
Cloud Search SharePoint On-Prem 连接器始终遵循搜索 公开范围设置,该设置无法替换。草稿专用 用户账号的权限(连接器用于 访问 SharePoint Online)可控制将哪些草稿文档编入索引并返回。 如果账号只有“Full Read”该连接器会遵循“草稿” 商品显示设置”设置。
您还可以配置连接器,以根据用户账号限制结果 访问权限。您可以使用 Google 主账号和外部主账号来定义 ACL。 如需为 SharePoint 内容应用安全调整,请同步以下 与 Google 目录共享外部身份:
- Active Directory 用户
- Active Directory 群组
- SharePoint 本地群组(成员包括 Active Directory 用户和群组)
如需同步 AD 用户和群组,请使用 Google Cloud Directory Sync,并启用身份映射群组。如需同步 SharePoint 本地群组,请使用 SharePoint 身份连接器。
连接器还需要使用 AD 执行查询,以提取其他信息以同步主账号。例如,通过 AD 查找,连接器可以执行以下操作:
- 将网域群组的 SID 映射到相应的 sAMAccountName。
- 将用户 sAMAccountName 映射到 SharePoint 本地群组的电子邮件地址 会员。
搜索优化
您可以提高用户的体验更强大的用户体验。
要使用 API,请在 SharePoint Online 连接器配置文件中设置 HTML 生成参数的值。通过这些参数,您可以设置哪些字段对匹配的影响程度较高或较低。
如需设置架构,请按照创建和注册架构中的说明操作。设置架构时:
为了将 SharePoint 内容类型的名称映射到相应的对象定义,连接器通过排除不支持的字符来标准化内容类型名称。对于对象定义,Cloud Search API 仅支持 A-Z、a-z 和 0-9 作为有效字符。例如,内容类型“公告”映射到对象定义“公告”。内容类型“News Article”映射到“NewsArticle”(无空格)。
当连接器无法将对象定义与对象定义相匹配时,会使用后备对象类型 (
itemMetadata.objectType
)。详细了解元数据配置参数。为了将 SharePoint 属性名称映射到属性定义,连接器对十六进制编码字符进行解码并移除“ows_”,对属性名称进行标准化。前缀,然后排除不受支持的字符(除 A-Z、a-z 和 0-9 之外的所有字符都是有效字符)。
Microsoft Outlook 邮件处理
如果连接器在将内容编入索引时遇到 Microsoft Outlook .msg 文件,它会替换此类文件的媒体类型,并以 application/vnd.ms-outlook.
的形式将其编入索引。
多租户配置
如果您的 SharePoint 是多租户部署,其中多个客户网站托管在同一个 Web 应用中,则您需要在配置文件中配置网站集模式。在多租户部署中,您只会获得网站集的权限,而不能按照 SharePoint On-Prem 连接器的要求获取“完全读取”权限。
要启用网站集模式,请执行以下操作:
- 为连接器用户账号授予“网站集管理员”权限。
- 在连接器配置文件中,将
sharepoint.server
设置为网站集网址,例如http://sharepoint.example.com/sites/sitecollection
。网址的大小写形式不需要与 SharePoint 完全相同。 - 在连接器配置文件中将
sharepoint.siteCollectionOnly
设置为true
。
如果要在多租户环境中将多个网站集编入索引,则需要为每个网站集配置一个连接器实例。
已知的连接器限制
- 随着连接器监控的数据库数量的增加,连接器要检测数据库中项的更改所需的时间会有所增加。
- 在每个网站集的 ACL 中使用的唯一用户和群组的数量越多,内存消耗就越多。
- 您只能使用来自一个 Active Directory 网域的身份配置连接器。
- 一些常见的 Active Directory 和 Windows 主账号不受支持,例如
Everyone
、BUILTIN\Users
和All Authenticated Users
。 - 删除通知不是即时的,连接器可能需要 4 个小时以上才能识别用户从源代码库中删除的内容。
系统要求
系统要求 | |
---|---|
操作系统 |
|
软件 |
|
身份验证 |
|
部署连接器
前提条件
创建一个包含您的服务账号 ID 的 Google Workspace 私钥。如需了解如何获取私钥,请参阅 配置对 Google Cloud Search API 的访问权限。
您的 Google Workspace 管理员必须添加可供搜索的数据源。记录数据源 ID。
如果连接器根据 ACL 返回结果(结果不公开),则您的 Google Workspace 管理员必须创建两个身份源并为您提供其 ID:
- 一个用于同步 Active Directory 用户和群组的身份源。
- 一个用于同步 SharePoint 本地群组的身份源
管理员还必须获取贵组织的 Google Workspace 客户 ID,并将其提供给您。
请参阅在 Cloud Search 中映射用户身份,了解如何获取这些值。
为在用户规范中对 SharePoint Web 应用具有完全读取权限的连接器设置用户账号。
如果 SharePoint Web 应用没有根网站集,请创建一个。
如果任何网站集被写入锁定,请使用拥有管理员权限的账号登录 SharePoint 服务器,然后运行
PrepareWriteLockedSites.ps1
脚本。如需获取数据源指标以通知您的连接器配置,请登录 SharePoint 服务器 使用具有农场管理员权限的账号运行
diagnose_sp.ps1
。输出结果会报告 Web 应用、文档和用户群组成员资格的数量。使用此信息来估算您需要的连接器实例数量、内存要求和文档数。
第 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。
在打开的警告页面中,点击我了解此风险和添加例外。该页面显示了一条消息,如“This Connection is untrusted”(此连接不受信任)因为证书是自签名证书,而不是由受信任的证书授权机构签名。
看到 View 按钮后,点击该按钮。
转到详细信息标签页,然后点击导出。
将证书保存在名为
sharepoint.crt
的连接器目录中。点击关闭,然后点击取消以关闭窗口。
打开命令提示符并输入以下命令:
$ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint
当看到“是否信任此证书?”的提示时,输入 yes。
第 4 步:设置日志记录
在包含连接器二进制文件的目录中,创建一个名为
logs
的文件夹。在同一目录(非
logs
)中,创建一个名为logging.properties
的 Latin1 编码文件。将以下文本添加到
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 ACL 应用于搜索结果。如果您使用公共 ACL 设置连接器,则可以跳过此步骤。
在 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.customerId
,而不是api.sourceId
。api.customerId
的值就是您从 Google Workspace 管理员那里获取的客户 ID。
第 6 步:启动 SharePoint On-Prem 连接器
在以下步骤中,您需要将本地 Active Directory 和 SharePoint 网站集中的主账号映射到 Cloud Identity 服务。此同步是通过 Google Cloud 完成的 Directory Sync (GCDS) 和 SharePoint On-Prem 身份连接器。
GCDS 同步用户和群组后,要同步 Share for the Share 网站集群组,请运行 Share for On-Prem 身份连接器。最后,运行 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 连接器。使用命令语法来确保您的网站安全性:
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
配置参数参考
数据源访问权限
设置 | 参数 |
数据源 ID | api.sourceId=1234567890abcdef
必需。由 Google Workspace 管理员设置的 Google Cloud Search 数据源 ID。 |
服务账号私钥文件路径 | api.serviceAccountPrivateKeyFile=PrivateKey.json
必需。指向 Google Cloud Search 服务账号密钥文件的路径。 |
Share for On Premises Access
设置 | 参数 |
SharePoint 服务器网址 | sharepoint.server=http://yoursharepoint.example.com/
必需。以完全限定主机名形式表示的 SharePoint 服务器网址,例如 http://yoursharepoint.example.com/。如果主机名不是完全限定的,您必须在连接器主机上设置 DNS 覆盖。 |
SharePoint 用户名 | sharepoint.username=YOURDOMAIN\\ConnectorUser
在 Linux 或不属于 SharePoint Server AD 网域的 Windows 计算机上运行连接器时,需要具有该权限。 |
SharePoint 密码 | sharepoint.password=user_password
在 Linux 或不属于 SharePoint Server AD 网域的 Windows 计算机上运行连接器时,需要具有该权限。 |
使用实时身份验证连接到 SharePoint | sharepoint.username=AdaptorUser Live Authentication Id
|
使用 ADFS 身份验证连接到 SharePoint | sharepoint.username=AdaptorUser@yourdomain.com
|
网站集索引编制
设置 | 参数 |
索引类型 | sharepoint.siteCollectionOnly=boolean
可选,多租户 SharePoint 部署除外(了解详情)。如果设为 true,则将连接器索引 |
SharePoint 身份映射
设置 | 参数 |
身份源 ID | api.identitySourceId=1234567890abcdef
必需。用于同步 SharePoint 本地群组的身份源 ID。由 Google Workspace 管理员设置的 Google Cloud Search 源 ID,如添加要搜索的数据源中所述。 |
引用身份源 | api.referenceIdentitySources=CONTOSO,contoso
Active Directory 主账号的参考身份源列表(以英文逗号分隔)。该值与引用 Active Directory 主账号的 Active Directory NETBIOS 名称匹配。 |
引用身份源 ID | api.referenceIdentitySource.DOMAIN.id=identity-source-id
必需。用于同步 Active Directory 主账号的身份源 ID。 |
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
用作所生成 HTML 的 HTML 模板标题的 SharePoint 字段。 |
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。
|