SharePoint 连接器 V2.0 - Amazon Kendra

SharePoint 连接器 V2.0

SharePoint 是一项协作式网站构建服务,可用于自定义 Web 内容以及创建页面、站点、文档库和列表。您可以使用 Amazon Kendra 来为 SharePoint 数据来源编制索引。

目前,Amazon Kendra 支持 SharePoint Online 和 SharePoint Server(2013、2016、2019 版本和订阅版)。

注意

SharePoint 连接器 V1.0/SharePointConfiguration API 已在 2023 年停止使用。我们建议迁移到或使用 SharePoint 连接器 V2.0/TemplateConfiguration API。

要对 Amazon Kendra SharePoint 数据来源连接器进行故障排除,请参阅数据来源故障排除

支持的功能

Amazon Kendra SharePoint 数据来源连接器支持以下功能:

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整和增量内容同步

  • 虚拟私有云(VPC)

先决条件

在使用 Amazon Kendra 为 SharePoint 数据来源编制索引之前,请先在 SharePoint 和 AWS 账户内进行这些更改。

您需要提供身份验证凭证,这些凭证可以安全地存储在 AWS Secrets Manager 密钥中。

注意

我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们建议不要跨数据来源以及连接器版本 1.0 和 2.0(如果适用)重复使用凭证和密钥。

在 SharePoint Online 中,请确保:

  • 已复制您的 SharePoint 实例 URL。您输入的主机 URL 的格式为 https://yourdomain.com/sites/mysite。您的 URL 必须以 https 开头。

  • 已复制您的 SharePoint 实例 URL 的域名。

  • 已记下您的基本身份验证凭证,其中包含具有站点管理员权限的用户名和密码,以便连接到 SharePoint Online。

  • 使用管理用户在 Azure 门户中停用安全默认值。有关在 Azure 门户中管理安全默认设置的更多信息,请参阅 Microsoft 关于如何启用/禁用安全默认设置的文档

  • 停用了 SharePoint 账户中的多重身份验证(MFA),这样就不会阻止 Amazon Kendra 爬取您的 SharePoint 内容。

  • 如果使用基本身份验证以外的身份验证类型:已复制您的 SharePoint 实例的租户 ID。有关如何查找租户 ID 的详细信息,请参阅查找您的 Microsoft 365 租户 ID

  • 如果您需要使用 Microsoft Entra 迁移到云用户身份验证,请参阅微软关于云身份验证的文档

  • 对于 OAuth 2.0 身份验证和 OAuth 2.0 刷新令牌身份验证:记下您的基本身份验证凭证,其中包含用于连接到 SharePoint Online 的用户名和密码,以及向 Azure AD 注册 SharePoint 后生成的客户端 ID 和客户端密钥。

    • 如果您未使用 ACL,请添加以下权限:

      Microsoft Graph SharePoint
      • Notes.Read.All(应用程序)- 读取所有 OneNote 笔记本

      • Sites.Read.All(应用程序)- 读取所有网站集合的项目

      • AllSites.read(委托)- 读取所有网站集合的项目

      注意

      只有当您想爬取 OneNote 文档时,才需要使用 Note.Read.All 和 Sites.Read.All。

      如果要爬取特定网站,您可以选择将权限限制为特定网站,而不是域中所有可用的网站。您配置 Sites.Selected(应用程序)权限。对于此 API 权限,您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息,请参阅 Microsoft 有关 Sites.Selected 权限的博客

    • 如果您使用 ACL,请添加以下权限:

      Microsoft Graph SharePoint
      • Group.Member.Read.All(应用程序)- 读取所有组成员资格

      • Notes.Read.All(应用程序)- 读取所有 OneNote 笔记本

      • Sites.FullControl.All(委托)- 检索文档的 ACL 时所必需的

      • Sites.Read.All(应用程序)- 读取所有网站集合的项目

      • User.Read.All(应用程序)- 读取所有用户的完整个人资料

      • AllSites.read(委托)- 读取所有网站集合的项目

      注意

      只有激活身份爬网程序时,才需要 GroupMember.Read.All 和 User.Read.All。

      如果要爬取特定网站,您可以选择将权限限制为特定网站,而不是域中所有可用的网站。您配置 Sites.Selected(应用程序)权限。对于此 API 权限,您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息,请参阅 Microsoft 有关 Sites.Selected 权限的博客

  • 对于仅限 Azure AD 应用程序的身份验证:记下在 Azure AD 中注册 SharePoint 后生成的私钥和客户端 ID。还要记下 X.509 证书。

    • 如果您未使用 ACL,请添加以下权限:

      SharePoint
      • Sites.Read.All(应用程序)- 访问所有网站集合中的项目和列表时所必需的

      注意

      如果要爬取特定网站,您可以选择将权限限制为特定网站,而不是域中所有可用的网站。您配置 Sites.Selected(应用程序)权限。对于此 API 权限,您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息,请参阅 Microsoft 有关 Sites.Selected 权限的博客

    • 如果您使用 ACL,请添加以下权限:

      SharePoint
      • Sites.FullControl.All(应用程序)- 检索文档的 ACL 时所必需的

      注意

      如果要爬取特定网站,您可以选择将权限限制为特定网站,而不是域中所有可用的网站。您配置 Sites.Selected(应用程序)权限。对于此 API 权限,您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息,请参阅 Microsoft 有关 Sites.Selected 权限的博客

  • 对于仅限 SharePoint 应用程序的身份验证:记下在授予仅限 SharePoint 应用程序的权限时生成的 SharePoint 客户端 ID 和客户端密钥,以及在 Azure AD 上注册 SharePoint 应用程序时生成的客户端 ID 和客户端密钥。

    注意

    SharePoint 2013 版本支持仅限 SharePoint 应用程序的身份验证。

    • (可选)如果您正在爬取 OneNote 文档并使用身份爬网程序,请添加以下权限:

      Microsoft Graph
      • GroupMember.Read.All(应用程序)- 读取所有组成员资格

      • Notes.Read.All(应用程序)- 读取所有 OneNote 笔记本

      • Sites.Read.All(应用程序)- 读取所有网站集合的项目

      • User.Read.All(应用程序)- 读取所有用户的完整个人资料

    注意

    使用基本身份验证和 SharePoint 仅限应用程序的身份验证来爬取实体不需要 API 权限。

在 SharePoint Server 中,请确保:

  • 已复制您的 SharePoint 实例 URL 和您的 SharePoint URL 的域名。您输入的主机 URL 的格式为 https://yourcompany/sites/mysite。您的 URL 必须以 https 开头。

    注意

    (本地/服务器)Amazon Kendra 会检查 AWS Secrets Manager 中包含的端点信息是否与数据来源配置详细信息中指定的端点信息相同。这有助于防止出现混淆代理人问题,这是一个安全问题,即用户无权执行操作,但可以将 Amazon Kendra 作为代理来访问配置的密钥和执行操作。如果以后更改端点信息,则必须创建一个新密钥来同步此信息。

  • 停用了 SharePoint 账户中的多重身份验证(MFA),这样就不会阻止 Amazon Kendra 爬取您的 SharePoint 内容。

  • 如果使用仅限 SharePoint 应用程序的身份验证进行访问控制:

    • 已复制您在站点级别注册“仅限应用程序”时生成的 SharePoint 客户端 ID。Client ID 格式为 ClientId@TenantId。例如,ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe

    • 已复制您在站点级别注册“仅限应用程序”时生成的 SharePoint 客户端密钥。

    注意:由于只有在为仅限应用程序身份验证注册 SharePoint Server 时,才会为单个站点生成客户端 ID 和客户端密钥,因此仅 SharePoint 应用程序身份验证仅支持一个站点 URL。

    注意

    SharePoint 2013 版本支持仅限 SharePoint 应用程序的身份验证。

  • 如果使用带有自定义域名的电子邮件 ID 进行访问控制:

    • 记下了您的自定义电子邮件域名值,例如:“amazon.com”

  • 如果使用带有来自 IDP 的域名的电子邮件 ID 身份验证,请复制您的:

    • LDAP 服务器端点(LDAP 服务器的端点,包括协议和端口号)。例如:ldap://example.com:389

    • LDAP 搜索库(LDAP 用户的搜索库)。例如:CN=Users,DC=sharepoint,DC=com

    • LDAP 用户名和 LDAP 密码。

  • 要么配置了 NTLM 身份验证凭证,要么配置了包含用户名(SharePoint 账户用户名)和密码(SharePoint 账户密码)的 Kerberos 身份验证凭证。

在 AWS 账户 中,请确保:

  • 已创建 Amazon Kendra 索引,如果使用 API,则记下索引 ID。

  • 为您的数据来源创建了一个 IAM 角色,如果使用 API,请记下 IAM 角色的 ARN。

    注意

    如果您更改了身份验证类型和证书,则必须更新您的 IAM 角色才能访问正确的 AWS Secrets Manager 密钥 ID。

  • 将您的 SharePoint 身份验证凭证存储在 AWS Secrets Manager 密钥中,如果使用 API,请记下密钥的 ARN。

    注意

    我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们建议不要跨数据来源以及连接器版本 1.0 和 2.0(如果适用)重复使用凭证和密钥。

如果您没有现有的 IAM 角色或密钥,则在将 SharePoint 数据来源连接到 Amazon Kendra 时,您可以使用控制台创建新的 IAM 角色和 Secrets Manager 密钥。如果您使用 API,则必须提供现有 IAM 角色和 Secrets Manager 密钥的 ARN 以及索引 ID。

连接说明

要将 Amazon Kendra 连接到您的 SharePoint 数据来源,您必须提供您的 SharePoint 凭证的详细信息,以便 Amazon Kendra 访问您的数据。如果您还没有为 Amazon Kendra 配置 SharePoint,请参阅先决条件

Console: SharePoint Online

将 Amazon Kendra 连接到 SharePoint Online

  1. 登录 AWS 管理控制台并打开 Amazon Kendra 控制台

  2. 在左侧导航窗格中,选择索引,然后从索引列表中选择要使用的索引。

    注意

    您可以选择在索引设置下配置或编辑您的用户访问控制设置。

  3. 入门页面上,选择添加数据来源

  4. 添加数据来源页面上,选择 SharePoint 连接器,然后选择添加连接器。如果使用版本 2(如果适用),请选择带有“V2.0”标签的 SharePoint 连接器

  5. 指定数据来源详细信息页面上输入以下信息:

    1. 名称和描述中,在数据来源名称中输入您的数据来源的名称。可以包含连字符,但不能包含空格。

    2. (可选)说明 - 为数据来源输入说明。

    3. 默认语言中 - 选择用于筛选文档以编制索引的语言。除非另行指定,否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。

    4. 标签中,对于添加新标签 – 添加用于搜索和筛选资源或跟踪 AWS 成本的标签。

    5. 选择下一步

  6. 定义访问权限和安全性页面上,请输入以下信息:

    1. 托管方法 – 选择 SharePoint Online

    2. 特定于您的 SharePoint 存储库的网站 URL - 输入 SharePoint 主机 URL。您输入的主机 URL 的格式为 https://yourdomain.sharepoint.com/sites/mysite。URL 必须以 https 协议开头。使用分行符分隔 URL。最多可以添加 100 个 URL。

    3. - 输入 SharePoint 域名。例如,URL https://yourdomain.sharepoint.com/sites/mysite 中的域名是 yourdomain

    4. 授权 - 如果您有访问控制列表(ACL)并想将其用于访问控制,请选择是开启还是关闭文档的 ACL 信息。ACL 指定了用户和群组可以访问哪些文档。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息,请参阅用户上下文筛选

      您也可以选择用户 ID 的类型,无论是用户主体名称还是从 Azure 门户获取的用户电子邮件。如果您不指定,默认情况下使用电子邮件。

    5. 身份验证— 在基本、OAuth 2.0、仅限 Azure AD 应用程序的身份验证、仅限 SharePoint 应用程序的身份验证或 OAuth 2.0 刷新令牌身份验证之间进行选择。您可以选择现有 AWS Secrets Manager 密钥或创建一个密钥来存储您的身份验证凭证。

      1. 如果使用基本身份验证,则您的密钥必须包含密钥名称、SharePoint 用户名和密码。

      2. 如果使用 OAuth 2.0 身份验证,则您的密钥必须包括 SharePoint 租户 ID、密钥名称、SharePoint 用户名、密码、在 Azure AD 中注册 SharePoint 时生成的 Azure AD 客户端 ID,以及在 Azure AD 中注册 SharePoint 时生成的 Azure AD 客户端密钥。

      3. 如果使用仅限 Azure AD 应用程序的身份验证,则您的密钥必须包括 SharePoint 租户 ID、Azure AD 自签名 X.509 证书、密钥名称、在 Azure AD 中注册 SharePoint 时生成的 Azure AD 客户端 ID,以及用于对 Azure AD 连接器进行身份验证的私钥。

      4. 如果使用仅限 SharePoint 应用程序的身份验证,则您的密钥必须包括 SharePoint 租户 ID、密钥名称、在租户级别注册仅限应用程序时生成的 SharePoint 客户端 ID、在租户级别注册仅限应用程序时生成的 SharePoint 客户端密钥、在 Azure AD 中注册 SharePoint 时生成的 Azure AD 客户端 ID,以及将 SharePoint 注册到 Azure AD 时生成的 Azure AD 客户端密钥。

        SharePoint 客户端 ID 格式为 ClientID@TenantId。例如,ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe

      5. 如果使用 OAuth 2.0 刷新令牌身份验证,则您的密钥必须包括 SharePoint 租户 ID、密钥名称、在 Azure AD 中注册 SharePoint 时生成的唯一 Azure AD 客户端 ID、在 Azure AD 中注册 SharePoint 时生成的 Azure AD 客户端密钥、为将Amazon Kendra 连接到 SharePoint 而生成的刷新令牌。

    6. 虚拟私有云(VPC)- 您可以选择使用 VPC。如果是这样,则必须添加子网VPC 安全组

    7. 身份爬网程序 – 指定是否激活 Amazon Kendra 的身份爬网程序。身份爬网程序使用文档的访问控制列表(ACL)信息,来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用 ACL,则还可以选择开启 Amazon Kendra 的身份爬网程序来配置搜索结果的用户上下文筛选。否则,如果关闭身份爬网程序,则可以公开搜索所有文档。如果您想对文档使用访问控制,但身份爬网程序已关闭,则可以选择使用 PutPrincipalMapping API 上传用户和组访问信息,以进行用户上下文筛选。

      您也可以选择爬取本地组映射或 Azure Active Directory 组映射。

      注意

      AD 组映射爬取仅可用于 OAuth 2.0、OAuth 2.0 刷新令牌和仅限 SharePoint 应用程序的身份验证。

    8. IAM 角色 - 选择现有 IAM 角色或创建新的 IAM 角色来访问您的存储库凭证和索引内容。

      注意

      用于编制索引的 IAM 角色不能用于数据来源。如果您不确定是否将现有角色用于编制索引或常见问题解答,为了避免出错,请选择创建新角色

    9. 选择下一步

  7. 配置同步设置页面上,请输入以下信息:

    1. 同步范围中,从以下选项中进行选择:

      1. 选择实体 - 选择要爬取的实体。您可以选择爬取所有实体或文件附件链接页面事件备注列表数据的任意组合。

      2. 其他配置中,对于实体正则表达式模式 - 为链接页面事件添加正则表达式模式以包含特定实体,而不是同步所有文档。

      3. 正则表达式模式 – 添加正则表达式模式,以便按文件路径文件名文件类型OneNote 部分名称OneNote 页面名称包含或排除文件,而不是同步所有文档。最多可以添加 100 个。

        注意

        OneNote 爬取仅可用于 OAuth 2.0、OAuth 2.0 刷新令牌和仅限 SharePoint 应用程序的身份验证。

    2. 对于同步模式 - 选择在数据来源内容发生变化时更新索引的方式。首次将数据来源与 Amazon Kendra 同步时,所有内容都会默认同步。

      • 完全同步 - 无论之前的同步状态如何,都同步所有内容。

      • 同步新增或修改的文档 - 仅同步新增或修改的文档。

      • 同步新增、修改或删除的文档 - 仅同步新增、修改和删除的文档。

    3. 同步运行计划频率中 – 选择同步数据来源内容并更新索引的频率。

    4. 选择下一步

  8. 设置字段映射页面上,请输入以下信息:

    1. 默认数据来源字段 - 从 Amazon Kendra 生成的默认数据来源字段中选择要映射到索引的字段。

    2. 添加字段 - 添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。

    3. 选择下一步

  9. 查看和创建页面上,请检查输入的信息是否正确,然后选择添加数据来源。您也可以选择在此页面上编辑信息。成功添加数据来源后,您的数据来源将显示在数据来源页面上。

Console: SharePoint Server

将 Amazon Kendra 连接到 SharePoint

  1. 登录 AWS 管理控制台并打开 Amazon Kendra 控制台

  2. 在左侧导航窗格中,选择索引,然后从索引列表中选择要使用的索引。

    注意

    您可以选择在索引设置下配置或编辑您的用户访问控制设置。

  3. 入门页面上,选择添加数据来源

  4. 添加数据来源页面上,选择 SharePoint 连接器,然后选择添加连接器。如果使用版本 2(如果适用),请选择带有“V2.0”标签的 SharePoint 连接器

  5. 指定数据来源详细信息页面上输入以下信息:

    1. 名称和描述中,在数据来源名称中输入您的数据来源的名称。可以包含连字符,但不能包含空格。

    2. (可选)说明 - 为数据来源输入说明。

    3. 默认语言中 - 选择用于筛选文档以编制索引的语言。除非另行指定,否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。

    4. 标签中,对于添加新标签 – 添加用于搜索和筛选资源或跟踪 AWS 成本的标签。

    5. 选择下一步

  6. 定义访问权限和安全性页面上,请输入以下信息:

    1. 托管方法 - 选择 SharePoint Server

    2. 选择 SharePoint 版本 - 选择 SharePoint 2013SharePoint 2016SharePoint 2019SharePoint(订阅版)

    3. 特定于您的 SharePoint 存储库的网站 URL - 输入 SharePoint 主机 URL。您输入的主机 URL 的格式为 https://yourcompany/sites/mysite。URL 必须以 https 协议开头。使用分行符分隔 URL。最多可以添加 100 个 URL。

    4. - 输入 SharePoint 域名。例如,URL https://yourcompany/sites/mysite 中的域名是 yourcompany

    5. SSL 证书位置 - 输入您的 SSL 证书文件的 Amazon S3 路径。

    6. (可选)对于 Web 代理 - 输入主机名(不带 http://https:// 协议)和主机 URL 传输协议使用的端口号。端口号的数值必须介于 0 和 65535 之间。

    7. 授权 - 如果您有访问控制列表(ACL)并想将其用于访问控制,请选择是开启还是关闭文档的 ACL 信息。ACL 指定了用户和群组可以访问哪些文档。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息,请参阅用户上下文筛选

      对于 SharePoint Server,可以选择以下 ACL 选项:

      1. 带有来自 IDP 的域的电子邮件 ID - 用户 ID 基于从底层身份提供者(IDP)提取的电子邮件地址及其域。在身份验证期间,您可以在 Secrets Manager 密钥中提供 IDP 连接详细信息。

      2. 带有自定义域的电子邮件 ID - 用户 ID 基于自定义的电子邮件域值。例如,“amazon.com”。电子邮件域名将用于构造用于访问控制的电子邮件 ID。您必须输入您的自定义电子邮件域。

      3. 域\带域的用户 - 用户 ID 采用“域\用户 ID”的格式。您需要提供有效的域名。例如:“sharepoint2019”以便构造访问控制。

    8. 对于身份验证,选择仅限 SharePoint 应用程序的身份验证、NTLM 身份验证或 Kerberos 身份验证。您可以选择现有 AWS Secrets Manager 密钥或创建一个密钥来存储您的身份验证凭证。

      1. 如果使用 NTLM 身份验证Kerberos 身份验证,则您的密钥必须包含密钥名称、SharePoint 用户名和密码。

        如果使用带有来自 IDP 的域名的电子邮件 ID,请同时输入您的:

        • LDAP 服务器端点 - LDAP 服务器的端点,包括协议和端口号。例如:ldap://example.com:389

        • LDAP 搜索库 - LDAP 用户的搜索库。例如:CN=Users,DC=sharepoint,DC=com

        • LDAP 用户名 - 您的 LDAP 用户名。

        • LDAP 密码 - 您的 LDAP 密码。

      2. 如果使用仅限 SharePoint 应用程序的身份验证,则您的密钥必须包含密钥名称、您在站点级别注册仅限应用程序时生成的 SharePoint 客户端 ID,以及在站点级别注册仅限应用程序时生成的 SharePoint 客户端密钥。

        SharePoint 客户端 ID 格式为 ClientID@TenantId。例如,ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe

        注意:由于只有在为仅限应用程序身份验证注册 SharePoint Server 时,才会为单个站点生成客户端 ID 和客户端密钥,因此仅 SharePoint 应用程序身份验证仅支持一个站点 URL。

        如果使用带有来自 IDP 的域名的电子邮件 ID,请同时输入您的:

        • LDAP 服务器端点 - LDAP 服务器的端点,包括协议和端口号。例如:ldap://example.com:389

        • LDAP 搜索库 - LDAP 用户的搜索库。例如:CN=Users,DC=sharepoint,DC=com

        • LDAP 用户名 - 您的 LDAP 用户名。

        • LDAP 密码 - 您的 LDAP 密码。

    9. 虚拟私有云(VPC)- 您可以选择使用 VPC。如果是这样,则必须添加子网VPC 安全组

    10. 身份爬网程序 – 指定是否激活 Amazon Kendra 的身份爬网程序。身份爬网程序使用文档的访问控制列表(ACL)信息,来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用 ACL,则还可以选择开启 Amazon Kendra 的身份爬网程序来配置搜索结果的用户上下文筛选。否则,如果关闭身份爬网程序,则可以公开搜索所有文档。如果您想对文档使用访问控制,但身份爬网程序已关闭,则可以选择使用 PutPrincipalMapping API 上传用户和组访问信息,以进行用户上下文筛选。

      您也可以选择爬取本地组映射或 Azure Active Directory 组映射。

      注意

      爬取 AD 组映射仅适用于仅限 SharePoint 应用程序的身份验证用户。

    11. IAM 角色 - 选择现有 IAM 角色或创建新的 IAM 角色来访问您的存储库凭证和索引内容。

      注意

      用于编制索引的 IAM 角色不能用于数据来源。如果您不确定是否将现有角色用于编制索引或常见问题解答,为了避免出错,请选择创建新角色

    12. 选择下一步

  7. 配置同步设置页面上,请输入以下信息:

    1. 同步范围中,从以下选项中进行选择:

      1. 选择实体 - 选择要爬取的实体。您可以选择爬取所有实体或文件附件链接页面事件列表数据的任意组合。

      2. 其他配置中,对于实体正则表达式模式 - 为链接页面事件添加正则表达式模式以包含特定实体,而不是同步所有文档。

      3. 正则表达式模式 - 添加正则表达式模式,以便按文件路径文件名文件类型OneNote 部分名称OneNote 页面名称包含或排除文件,而不是同步所有文档。最多可以添加 100 个。

        注意

        OneNote 爬取仅可用于仅限 SharePoint 应用程序的身份验证。

    2. 同步模式 – 选择在数据来源内容发生变化时更新索引的方式。首次将数据来源与 Amazon Kendra 同步时,默认情况下会爬取所有内容并编制索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。

      • 完整同步:每次数据来源与索引同步时,重新为所有内容编制索引,并替换已有内容。

      • 新增、修改的同步:每次数据来源与索引同步时,仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

      • 新增、修改、删除的同步:每次数据来源与索引同步时,仅为新增、修改和删除的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

    3. 同步运行计划频率中 – 选择同步数据来源内容并更新索引的频率。

    4. 选择下一步

  8. 设置字段映射页面上,请输入以下信息:

    1. 默认数据来源字段 - 从 Amazon Kendra 生成的默认数据来源字段中选择要映射到索引的字段。

    2. 添加字段 - 添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。

    3. 选择下一步

  9. 查看和创建页面上,请检查输入的信息是否正确,然后选择添加数据来源。您也可以选择在此页面上编辑信息。成功添加数据来源后,您的数据来源将显示在数据来源页面上。

API

将 Amazon Kendra 连接到 SharePoint

您必须使用 TemplateConfiguration API 指定数据来源架构的 JSON。您必须提供以下信息:

  • 数据来源 – 当使用 TemplateConfiguration JSON 架构时,将数据来源类型指定为 SHAREPOINTV2。当调用 CreateDataSource API 时,还要将数据来源指定为 TEMPLATE

  • 存储库端点元数据 - 指定您的 SharePoint 实例 tenantID domainsiteUrls

  • 同步模式 – 指定当数据来源内容发生变化时 Amazon Kendra 更新索引的方式。首次将数据来源与 Amazon Kendra 同步时,默认情况下会爬取所有内容并编制索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。您可以选择:

    • FORCED_FULL_CRAWL,每次数据来源与索引同步时,重新为所有内容编制索引,并替换已有内容。

    • FULL_CRAWL,每次数据来源与索引同步时,仅为新增、修改和删除的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

    • CHANGE_LOG,每次数据来源与索引同步时,仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

  • 身份爬网程序 – 指定是否激活 Amazon Kendra 的身份爬网程序。身份爬网程序使用文档的访问控制列表(ACL)信息,来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用 ACL,则还可以选择开启 Amazon Kendra 的身份爬网程序来配置搜索结果的用户上下文筛选。否则,如果关闭身份爬网程序,则可以公开搜索所有文档。如果您想对文档使用访问控制,但身份爬网程序已关闭,则可以选择使用 PutPrincipalMapping API 上传用户和组访问信息,以进行用户上下文筛选。

    注意

    只有当您将 crawlAcl 设置为 true 时,身份爬网程序才可用。

  • 存储库其他属性 - 指定:

    • (仅适用于 Azure AD)用于存储 Azure AD 自签名 X.509 证书的 s3bucketNames3certificateName

    • 您使用的身份验证类型(auth_Type),包括 OAuth2OAuth2AppOAuth2CertificateBasicOAuth2_RefreshTokenNTLMKerberos

    • 您使用的版本(version),包括 ServerOnline。如果使用 Server,您可以进一步将 onPremVersion 指定为 201320162019SubscriptionEdition

  • 密钥 Amazon 资源名称(ARN)- 提供包含您在 SharePoint 账户中创建的身份验证凭证的 Secrets Manager 密钥的 Amazon 资源名称(ARN)。

    如果您使用 SharePoint Online,则可以选择基本、OAuth 2.0、仅限 Azure AD 应用程序和仅限 SharePoint 应用程序身份验证。以下是每个身份验证选项的密钥中必须包含的最简单 JSON 结构:

    • 基本身份验证

      { "userName": "SharePoint account user name", "password": "SharePoint account password" }
    • OAuth 2.0 身份验证

      { "clientId": "client id generated when registering SharePoint with Azure AD", "clientSecret": "client secret generated when registering SharePoint with Azure AD", "userName": "SharePoint account user name", "password": "SharePoint account password" }
    • 仅限 Azure AD 应用程序的身份验证

      { "clientId": "client id generated when registering SharePoint with Azure AD", "privateKey": "private key to authorize connection with Azure AD" }
    • 仅限 SharePoint 应用程序的身份验证

      { "clientId": "client id generated when registering SharePoint for App Only at Tenant Level", "clientSecret": "client secret generated when registering SharePoint for App Only at Tenant Level", "adClientId": "client id generated while registering SharePoint with Azure AD", "adClientSecret": "client secret generated while registering SharePoint with Azure AD" }
    • OAuth 2.0 刷新令牌身份验证

      { "clientId": "client id generated when registering SharePoint with Azure AD", "clientSecret": "client secret generated when registering SharePoint with Azure AD", "refreshToken": "refresh token generated to connect to SharePoint" }

    如果您使用 SharePoint Server,则可以选择仅限 SharePoint 应用程序身份验证、NTLM 身份验证和 Kerberos 身份验证。以下是每个身份验证选项的密钥中必须包含的最简单 JSON 结构:

    • 仅限 SharePoint 应用程序的身份验证

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "clientId": "client id generated when registering SharePoint for App Only at Site Level", "clientSecret": "client secret generated when registering SharePoint for App Only at Site Level" }
    • 带有来自 IDP 授权的域名的仅限 SharePoint 应用程序的身份验证

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "clientId": "client id generated when registering SharePoint for App Only at Site Level", "clientSecret": "client secret generated when registering SharePoint for App Only at Site Level", "ldapUrl": "LDAP Account url eg. ldap://example.com:389", "baseDn": "LDAP Account base dn eg. CN=Users,DC=sharepoint,DC=com", "ldapUser": "LDAP account user name", "ldapPassword": "LDAP account password" }
    • (仅限服务器)NTLM 或 Kerberos 身份验证

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "userName": "SharePoint account user name", "password": "SharePoint account password" }
    • (仅限服务器)带有来自 IDP 授权的域名的 NTLM 或 Kerberos 身份验证

      { "siteUrlsHash": "Hash representation of SharePoint site URLs", "userName": "SharePoint account user name", "password": "SharePoint account password", "ldapUrl": "ldap://example.com:389", "baseDn": "CN=Users,DC=sharepoint,DC=com", "ldapUser": "LDAP account user name", "ldapPassword": "LDAP account password" }
  • IAM 角色 - 指定 RoleArn,以便调用 CreateDataSource 来向 IAM 角色提供访问您的 Secrets Manager 密钥的权限,以及为 SharePoint 连接器和 Amazon Kendra 调用所需的公共 API 的权限。有关更多信息,请参阅 SharePoint 数据来源的 IAM 角色

您还可以添加以下可选功能:

  • 虚拟私有云(VPC)- 指定 VpcConfiguration,以便调用 CreateDataSource。有关更多信息,请参阅配置 Amazon Kendra 以使用 Amazon VPC

  • 包含和排除筛选条件 - 您可以指定是包含还是排除某些文件、OneNotes 部分和其他内容。

    注意

    大多数数据来源使用正则表达式模式,即称为筛选条件的包含或排除模式。如果您指定包含筛选条件,则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件,则不会为与排除筛选条件匹配的文档编制索引,即使它们与包含筛选条件相匹配。

  • 字段映射 - 选择将 SharePoint 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息,请参阅映射数据来源字段

    注意

    文档正文字段或文档正文的等效字段是 Amazon Kendra 搜索文档时所必需的。您必须将数据来源中的文档正文字段名映射到索引字段名称 _document_body。其他所有字段均为可选字段。

有关要配置的其他重要 JSON 键的列表,请参阅 SharePoint 模板架构

备注

  • 连接器仅支持文件实体的自定义字段映射。

  • 对于所有 SharePoint Server 版本,ACL 令牌必须为小写。对于带有来自 IDP 的域名的电子邮件带有自定义域 ACL 的电子邮件 ID ACL,例如:user@sharepoint2019.com。对于域名\带有域名的用户,例如:sharepoint2013\user

  • 启用访问控制列表(ACL)后,由于 SharePoint API 限制,“仅同步新内容或修改后内容”选项不可用。我们建议改用“完整同步”或“新增、修改或删除的内容同步”模式,或者在需要使用此同步模式时禁用 ACL。

  • 连接器不支持 SharePoint 2013 的更改日志模式/同步新增或修改的内容

  • 如果实体名称中包含字 % 符,则由于 API 限制,连接器将跳过这些文件。

  • 只有使用租户 ID 并为 SharePoint Online 激活 OAuth 2.0、OAuth 2.0 刷新令牌或仅限 SharePoint 应用程序身份验证后,连接器才能爬取 OneNote。

  • 连接器仅使用其默认名称爬取 OneNote 文档的第一部分,即使该文档已重命名。

  • 连接器会爬取 SharePoint 2019、SharePoint Online 和订阅版中的链接,前提是除了链接之外还选择了页面文件作为要爬取的实体。

  • 如果选择链接作为要爬取的实体,则连接器会爬取 SharePoint 2013 和 SharePoint 2016 中的链接。

  • 仅当列表数据也被选为要爬取的实体时,连接器才会爬取列表附件和评论。

  • 仅当事件也被选为要爬取的实体时,连接器才会爬取事件附件。

  • 对于 SharePoint Online 版本,ACL 令牌将使用小写。例如,如果 Azure 门户中的用户主体名称MaryMajor@domain.com,则 SharePoint 连接器中的 ACL 令牌将为 marymajor@domain.com

  • 在适用于 SharePoint Online 和 Server 的身份爬网程序中,如果您需要爬取嵌套组,则必须激活“本地”和“AD 组爬取”。

  • 如果您使用 SharePoint Online,并且在 Azure 门户中的用户主体名称采用大写和小写的组合,则 SharePoint API 会在内部将其转换为小写。因此,Amazon Kendra SharePoint 连接器会将 ACL 设置为小写。