

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# SharePoint 连接器 V2.0
<a name="data-source-v2-sharepoint"></a>

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

Amazon Kendra 目前支持 SharePoint 在线版和 SharePoint服务器版（2013 年、2016 年、2019 年和订阅版）。

**注意**  
SharePoint 连接器 V1.0/ SharePointConfiguration API 于 2023 年结束。我们建议迁移到或使用 SharePoint 连接器 V2.0/ TemplateConfiguration API。

要对 Amazon Kendra SharePoint 数据源连接器进行故障排除，请参阅[数据来源故障排除](troubleshooting-data-sources.md)。

**Topics**
+ [支持的功能](#supported-features-v2-sharepoint)
+ [先决条件](#prerequisites-v2-sharepoint)
+ [连接说明](#data-source-procedure-v2-sharepoint)
+ [注意](#sharepoint-notes)

## 支持的功能
<a name="supported-features-v2-sharepoint"></a>

Amazon Kendra SharePoint 数据源连接器支持以下功能：
+ 字段映射
+ 用户访问控制
+ 包含/排除筛选条件
+ 完整和增量内容同步
+ 虚拟私有云（VPC）

## 先决条件
<a name="prerequisites-v2-sharepoint"></a>

在使用索 Amazon Kendra 引 SharePoint 数据源之前，请在 SharePoint 和 AWS 帐户中进行这些更改。

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

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

**在 “在 SharePoint 线” 中，请确保你有：**
+ 已复制您的 SharePoint 实例 URLs。您输入的主机 URL 的格式为*https://yourdomain.com/sites/mysite*。您的 URL 必须以 `https` 开头。
+ 已复制您的 SharePoint 实例 URL 的域名。
+ 已记下您的基本身份验证凭据，其中包含用户名和密码，具有连接到 On SharePoint line 的站点管理员权限。
+ 使用管理用户在 Azure 门户中停用**安全默认值**。有关在 Azure 门户中管理安全默认设置的更多信息，请参阅 [Microsoft 关于如何设置 enable/disable 安全默认设置的文档](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1)。
+ 已在您的 SharePoint账户中停用多因素身份验证 (MFA)，这样就不会阻止 Amazon Kendra 它抓取您的内容。 SharePoint 
+ **如果使用基本身份验证以外的身份验证类型：**已复制 SharePoint 实例的租户 ID。有关如何查找租户 ID 的详细信息，请参阅[查找您的 Microsoft 365 租户 ID](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id)。
+ 如果您需要迁移到 Microsoft Entra 云用户身份验证，请参阅 [Microsoft 关于云身份验证的文档](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/migrate-from-federation-to-cloud-authentication)。
+ **对于 OAuth 2.0 身份验证和 OAuth 2.0 刷新令牌身份验证：**记下您的**基本身份验证**凭据，其中包含用于连接到 On SharePoint line 的用户名和密码以及注册 SharePoint 到 Azure AD 后生成的客户端 ID 和客户端密钥。
  + **如果您未使用 ACL**，请添加以下权限：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/data-source-v2-sharepoint.html)
**注意**  
Note.Read.All 和 Sites.Read.All 只有在你想抓取 Documents 时才是必填的。 OneNote   
如果要爬取特定网站，您可以选择将权限限制为特定网站，而不是域中所有可用的网站。您配置 **Sites.Selected（应用程序）**权限。对于此 API 权限，您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息，请参阅 [Microsoft 有关 Sites.Selected 权限的博客](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)。
  + **如果您使用 ACL**，请添加以下权限：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/data-source-v2-sharepoint.html)
**注意**  
GroupMember**只有激活 Identity Crawler 时，才需要.Read.All 和 User.Read.All。**  
如果要爬取特定网站，您可以选择将权限限制为特定网站，而不是域中所有可用的网站。您配置 **Sites.Selected（应用程序）**权限。对于此 API 权限，您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息，请参阅 [Microsoft 有关 Sites.Selected 权限的博客](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)。
+ **对于 Azure AD 仅限应用程序的身份验证：**私钥和注册 SharePoint 到 Azure AD 后生成的客户端 ID。还要记下 X.509 证书。
  + **如果您未使用 ACL**，请添加以下权限：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/data-source-v2-sharepoint.html)
**注意**  
如果要爬取特定网站，您可以选择将权限限制为特定网站，而不是域中所有可用的网站。您配置 **Sites.Selected（应用程序）**权限。对于此 API 权限，您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息，请参阅 [Microsoft 有关 Sites.Selected 权限的博客](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)。
  + **如果您使用 ACL**，请添加以下权限：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/data-source-v2-sharepoint.html)
**注意**  
如果要爬取特定网站，您可以选择将权限限制为特定网站，而不是域中所有可用的网站。您配置 **Sites.Selected（应用程序）**权限。对于此 API 权限，您需要通过 Microsoft Graph API 明确设置每个站点上的访问权限。有关更多信息，请参阅 [Microsoft 有关 Sites.Selected 权限的博客](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)。
+ **对于 SharePoint 仅限应用程序的身份验证：**记下在授予 “仅限 SharePoint 应用程序” 权限时生成的客户端 ID 和客户端密钥，以及向 Azure AD 注册 SharePoint 应用程序时生成的客户端 ID 和客户端密钥。 SharePoint 
**注意**  
SharePoint SharePoint 2013 版本*不*支持仅限应用程序的身份验证。
  + **（可选）如果您正在搜索 OneNote文档并使用 Id **entity Crawler****，请添加以下权限：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/data-source-v2-sharepoint.html)
**注意**  
使用**基本身份验证和仅限 SharePoint应用程序的身份验证****来抓取实体不需要 AP** I 权限。

**在 SharePoint 服务器中，请确保你有：**
+ 已复制您的 SharePoint 实例 URLs 和您的域名 SharePoint URLs。您输入的主机 URL 的格式为*https://yourcompany/sites/mysite*。您的 URL 必须以 `https` 开头。
**注意**  
（本地/服务器） Amazon Kendra 会检查中 AWS Secrets Manager 包含的端点信息是否与数据源配置详细信息中指定的端点信息相同。这有助于防止出现[混淆代理人问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)，这是一个安全问题，即用户无权执行操作，但可以将 Amazon Kendra 作为代理来访问配置的密钥和执行操作。如果以后更改端点信息，则必须创建一个新密钥来同步此信息。
+ 已在您的 SharePoint账户中停用多因素身份验证 (MFA)，这样就不会阻止 Amazon Kendra 它抓取您的内容。 SharePoint 
+ 如果使用**SharePoint 仅限应用程序的身份验证进行**访问控制：
  + 已复制您在站点级别注册 “仅限应用程序” 时生成的 SharePoint 客户端 ID。客户端 ID 格式为 ClientId @ TenantId。例如 *ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe*。
  + 已复制您在站点级别注册 “仅限应用程序” 时生成的 SharePoint 客户端密钥。

  **注意：**由于只有在注册 SharePoint 服务器进行仅限应用程序身份验证时，才会为单个站点生成客户端 IDs 和客户端密钥，因此仅 SharePoint 应用程序身份验证仅支持一个站点 URL。
**注意**  
SharePoint SharePoint 2013 版本*不*支持仅限应用程序的身份验证。
+ 如果使用**带有自定义域名的电子邮件 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 索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)，如果使用 API，则记下索引 ID。
+ 为您的数据源@@ [创建了一个 IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)，如果使用 API，请记下该角色的 ARN。 IAM 
**注意**  
如果您更改了身份验证类型和证书，则必须更新您的 IAM 角色才能访问正确的 AWS Secrets Manager 密钥 ID。
+ 将您的 SharePoint 身份验证凭证存储在 AWS Secrets Manager 密钥中，如果使用 API，请记下该密钥的 ARN。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。

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

## 连接说明
<a name="data-source-procedure-v2-sharepoint"></a>

要 Amazon Kendra 连接到您的 SharePoint 数据源，您必须提供 SharePoint 凭据的详细信息， Amazon Kendra 以便访问您的数据。如果您尚未进行配置， SharePoint 请参 Amazon Kendra 阅[先决条件](#prerequisites-v2-sharepoint)。

------
#### [ Console: SharePoint Online ]

**连接 Amazon Kendra 到 “在 SharePoint 线”** 

1. 登录 AWS 管理控制台 并打开[Amazon Kendra 控制台](https://console.aws.amazon.com/kendra/)。

1. 在左侧导航窗格中，选择**索引**，然后从索引列表中选择要使用的索引。
**注意**  
您可以选择在**索引设置**下配置或编辑您的**用户访问控制**设置。

1. 在**开始使用**页面上，选择**添加数据来源**。

1. 在**添加数据来源**页面上，选择 **SharePoint 连接器**，然后选择**添加连接器**。如果使用版本 2（如果适用），请选择带有“V2.0”标签的 **SharePoint 连接器**。

1. 在**指定数据来源详细信息**页面上，输入以下信息：

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

   1. （可选）**描述**：输入数据来源的描述信息。

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

   1. 在**标签**中，用于**添加新标签**-包括可选标签以搜索和筛选您的资源或跟踪您的 AWS 成本。

   1. 选择**下一步**。

1. 在**定义访问权限和安全性**页面上，请输入以下信息：

   1. **托管方式**-选择**SharePoint在线**。

   1. ** SharePoint存储库的 URLs 特定站点**-输入 SharePoint 主机 URLs。 URLs 您输入的主机格式为*https://yourdomain.sharepoint.com/sites/mysite*。URL 必须以 `https` 协议开头。 URLs 用新行分隔。您最多可以添加 100 URLs。

   1. **域**-输入 SharePoint 域。例如，URL 中的域*https://yourdomain.sharepoint.com/sites/mysite*是*yourdomain*。

   1. **授权** - 如果您有访问控制列表（ACL）并想将其用于访问控制，请选择是开启还是关闭文档的 ACL 信息。ACL 用于指定用户和组可以访问哪些文档。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。

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

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

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

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

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

      1. 如果使用**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*。

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

   1. **虚拟私有云（VPC）**- 您可以选择使用 VPC。如果是这样，则必须添加**子网**和 **VPC 安全组**。

   1. **身份爬网程序** – 指定是否激活 Amazon Kendra的身份爬网程序。身份爬网程序使用文档的访问控制列表（ACL）信息，来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用您的 ACL，则也可以选择开启身份爬网程序来配置搜索结果 Amazon Kendra的[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。否则，如果关闭身份爬网程序，则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭，则可以使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html)API 上传用户和群组访问信息以进行用户上下文筛选。

      您也可以选择爬取本地组映射或 Azure Active Directory 组映射。
**注意**  
AD 组映射抓取仅适用于 OAuth 2.0、 OAuth 2.0 刷新令牌和仅限 SharePoint 应用程序的身份验证。

   1. **IAM ro** le —选择现有 IAM 角色或创建新 IAM 角色来访问您的存储库凭据和索引内容。
**注意**  
IAM 用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答，为了避免出错，请选择**创建新角色**。

   1. 选择**下一步**。

1. 在**配置同步设置**页面上，请输入以下信息：

   1. 在**同步范围**中，从以下选项中进行选择：

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

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

      1. 正则@@ **表达式模式**-添加正则表达式模式，通过文件**路径、文件**名、****文件类型**、OneNote 章节名称****和**OneNote 页面名称****来包含或排除文件，而不是同步所有文档。最多可以添加 100 个。
**注意**  
OneNote 抓取仅适用于 OAuth 2.0、 OAuth 2.0 刷新令牌和仅限 SharePoint 应用程序的身份验证。

   1. 对于**同步模式** - 选择在数据来源内容发生变化时更新索引的方式。首次将数据来源与 Amazon Kendra 同步时，所有内容都会默认同步。
      + **完全同步** - 无论之前的同步状态如何，都同步所有内容。
      + **同步新增或修改的文档** - 仅同步新增或修改的文档。
      + **同步新增、修改或删除的文档** - 仅同步新增、修改和删除的文档。

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

   1. 选择**下一步**。

1. 在**设置字段映射**页面上，请输入以下信息：

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

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

   1. 选择**下一步**。

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

------
#### [ Console: SharePoint Server ]

**要连接 Amazon Kendra 到 SharePoint** 

1. 登录 AWS 管理控制台 并打开[Amazon Kendra 控制台](https://console.aws.amazon.com/kendra/)。

1. 在左侧导航窗格中，选择**索引**，然后从索引列表中选择要使用的索引。
**注意**  
您可以选择在**索引设置**下配置或编辑您的**用户访问控制**设置。

1. 在**开始使用**页面上，选择**添加数据来源**。

1. 在**添加数据来源**页面上，选择 **SharePoint 连接器**，然后选择**添加连接器**。如果使用版本 2（如果适用），请选择带有“V2.0”标签的 **SharePoint 连接器**。

1. 在**指定数据来源详细信息**页面上，输入以下信息：

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

   1. （可选）**描述**：输入数据来源的描述信息。

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

   1. 在**标签**中，用于**添加新标签**-包括可选标签以搜索和筛选您的资源或跟踪您的 AWS 成本。

   1. 选择**下一步**。

1. 在**定义访问权限和安全性**页面上，请输入以下信息：

   1. **托管方法**-选择**SharePoint服务器。**

   1. **选择 SharePoint版本**-选择 **SharePoint 2013 年、SharePoint 201** **6 年、201 SharePoint ** **9 年**和 **SharePoint （订阅版）**。

   1. ** SharePoint存储库的 URLs 特定站点**-输入 SharePoint 主机 URLs。 URLs 您输入的主机格式为*https://yourcompany/sites/mysite*。URL 必须以 `https` 协议开头。 URLs 用新行分隔。您最多可以添加 100 URLs。

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

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

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

   1. **授权** - 如果您有访问控制列表（ACL）并想将其用于访问控制，请选择是开启还是关闭文档的 ACL 信息。ACL 用于指定用户和组可以访问哪些文档。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。

      对于 SharePoint 服务器，您可以从以下 ACL 选项中进行选择：

      1. 包含@@ **来自 IDP 的域名的电子邮件 ID**-用户 ID 基于从底层身份提供商 (IDP) 获取的域名的电子邮件 IDs 。在**身份验证**期间，您可以在 Secrets Manager 密钥中提供 IDP 连接详细信息。

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

      1. **域\$1带域的用户** - 用户 ID 采用“域\$1用户 ID”的格式。您需要提供有效的域名。例如：构造*"sharepoint2019"*访问控制。

   1. 对于**身份验证**，请选择 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 密码。

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

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

         **注意：**由于只有在注册 SharePoint 服务器进行仅限应用程序身份验证时，才会为单个站点生成客户端 IDs 和客户端密钥，因此仅 SharePoint 应用程序身份验证仅支持一个站点 URL。

         如果使用**带有来自 IDP 的域名的电子邮件 ID**，请同时输入您的：
         +  **LDAP 服务器端点** - LDAP 服务器的端点，包括协议和端口号。例如：*ldap://example.com:389*。
         + **LDAP 搜索库** - LDAP 用户的搜索库。例如：*CN=Users,DC=sharepoint,DC=com*。
         + **LDAP 用户名** - 您的 LDAP 用户名。
         + **LDAP 密码** - 您的 LDAP 密码。

   1. **虚拟私有云（VPC）**- 您可以选择使用 VPC。如果是这样，则必须添加**子网**和 **VPC 安全组**。

   1. **身份爬网程序** – 指定是否激活 Amazon Kendra的身份爬网程序。身份爬网程序使用文档的访问控制列表（ACL）信息，来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用您的 ACL，则也可以选择开启身份爬网程序来配置搜索结果 Amazon Kendra的[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。否则，如果关闭身份爬网程序，则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭，则可以使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html)API 上传用户和群组访问信息以进行用户上下文筛选。

      您也可以选择爬取本地组映射或 Azure Active Directory 组映射。
**注意**  
AD 组映射抓取仅适用于 SharePoint 应用程序身份验证。

   1. **IAM ro** le —选择现有 IAM 角色或创建新 IAM 角色来访问您的存储库凭据和索引内容。
**注意**  
IAM 用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答，为了避免出错，请选择**创建新角色**。

   1. 选择**下一步**。

1. 在**配置同步设置**页面上，请输入以下信息：

   1. 在**同步范围**中，从以下选项中进行选择：

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

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

      1. 正则@@ **表达式模式**-添加正则表达式模式，通过**文件路径文件名文件******类型**、OneNote章节名称****和**OneNote页面名称****来包含或排除文件，而不是同步所有文档。最多可以添加 100 个。
**注意**  
OneNote 抓取仅适用于 “仅限 SharePoint 应用程序” 的身份验证。

   1. **同步模式** – 选择在数据来源内容发生变化时更新索引的方式。首次将数据来源与 Amazon Kendra 同步时，默认情况下会爬取所有内容并编制索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。
      + 完整同步：每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
      + 修改过的新同步：每次数据源与索引同步时，仅为新增和修改过的内容编制索引。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。
      + 新增、修改、删除的同步：每次数据来源与索引同步时，仅为新增、修改和删除的内容编制索引。 Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制，仅为自上次同步以来发生变化的内容编制索引。

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

   1. 选择**下一步**。

1. 在**设置字段映射**页面上，请输入以下信息：

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

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

   1. 选择**下一步**。

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

------
#### [ API ]

**要连接 Amazon Kendra 到 SharePoint**

您必须使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 指定[数据来源架构](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)的 JSON。您必须提供以下信息：
+ **数据来源** – 当使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 架构时，将数据来源类型指定为 `SHAREPOINTV2`。当调用 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API 时，还要将数据来源指定为 `TEMPLATE`。
+ **存储库端点元数据**-指定 SharePoint 实例`siteUrls`的`tenantID``domain`和。
+ **同步模式**-指定数据源内容发生变化时 Amazon Kendra 应如何更新索引。首次与同步数据源时， Amazon Kendra 默认情况下会对所有内容进行抓取和索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。您可以选择：
  + `FORCED_FULL_CRAWL`，每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
  + `FULL_CRAWL`每次数据源与索引同步时，仅对新的、修改过的和已删除的内容编制索引。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。
  + `CHANGE_LOG`每次数据源与索引同步时，仅索引新的和修改过的内容。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。
+ **身份爬网程序** – 指定是否激活 Amazon Kendra的身份爬网程序。身份爬网程序使用文档的访问控制列表（ACL）信息，来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用您的 ACL，则也可以选择开启身份爬网程序来配置搜索结果 Amazon Kendra的[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。否则，如果关闭身份爬网程序，则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭，则可以使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html)API 上传用户和群组访问信息以进行用户上下文筛选。
**注意**  
只有当您将 `crawlAcl` 设置为 `true` 时，身份爬网程序才可用。
+ **存储库其他属性** - 指定：
  + （仅适用于 Azure AD）用于存储 Azure AD 自签名 X.509 证书的 `s3bucketName` 和 `s3certificateName`。
  + 您使用的身份验证类型（`auth_Type`），包括 `OAuth2`、`OAuth2App`、`OAuth2Certificate`、`Basic`、`OAuth2_RefreshToken`、`NTLM` 和 `Kerberos`。
  + 您使用的版本（`version`），包括 `Server` 或 `Online`。如果使用 `Server`，您可以进一步将 `onPremVersion` 指定为 `2013`、`2016`、`2019` 或 `SubscriptionEdition`。
+ **亚马逊秘密资源名称 (ARN)**-提供包含您在账户中创建的身份验证凭证的 Secrets Manager 密钥的亚马逊资源名称 (ARN)。 SharePoint 

  如果使用 SharePoint 联机，则可以在基本身份验证、 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 服务器，则可以在 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" 
    }
    ```
  + ** SharePoint 使用来自 IDP 授权的域进行仅限应用程序的身份验证**

    ```
    {
        "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 ro** le —指定`RoleArn`何时调用`CreateDataSource`以向 IAM 角色提供访问您的 Secrets Manager 密钥的权限以及调用 SharePoint 连接器 APIs 所需的公众的权限，以及 Amazon Kendra。有关更多信息，请参阅 [ SharePoint S3 数据来源的IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

您还可以添加以下可选功能：
+  **虚拟私有云（VPC）**- 指定 `VpcConfiguration`，以便调用 `CreateDataSource`。有关更多信息，请参阅 [配置 Amazon Kendra 为使用 Amazon VPC](vpc-configuration.md)。
+  **包含和排除过滤器**-您可以指定是包含还是排除某些文件和其他内容。 OneNotes
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+  **字段映射** - 选择将 SharePoint 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。
**注意**  
要搜索您的文档，必须输入文档正文字段或文档正文等效字段。 Amazon Kendra 您必须将数据来源中的文档正文字段名映射到索引字段名称 `_document_body`。其他所有字段均为可选字段。

有关要配置的其他重要 JSON 键的列表，请参阅 [SharePoint 模板架构](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-sharepoint)。

------

## 注意
<a name="sharepoint-notes"></a>
+ 连接器仅支持**文件**实体的自定义字段映射。
+ 对于所有 SharePoint 服务器版本，ACL 令牌必须为小写。对于**包含来自 IDP 的域名**和**带有自定义域 ACL 的电子邮件 ID** 的电子邮件，例如：*user@sharepoint2019.com*。对于**具有域 ACL 的域\$1 用户**，例如：*sharepoint2013\$1user*。
+ 启用访问控制列表 (ACLs) 后，由于 SharePoint API 限制，“仅同步新内容或修改内容” 选项不可用。我们建议改用 “完全同步” 或 “新建、修改或删除的内容同步” 模式，或者 ACLs 如果您需要使用此同步模式，则将其禁用。
+ 连接器不支持 SharePoint 2013 年的更改日志模式/ **新内容或修改内容同步**。
+ 如果实体名称中包含字 `%` 符，则由于 API 限制，连接器将跳过这些文件。
+ OneNote 只能由连接器使用租户 ID 进行抓取，并激活了 OAuth 2.0、 OAuth 2.0 刷新令牌或仅限 SharePoint 应用程序的身份验证 SharePoint 。
+ 连接器仅使用 OneNote 文档的默认名称抓取文档的第一部分，即使文档已重命名也是如此。
+ **连接器会抓取 SharePoint 2019 年、 SharePoint在线版和订阅版中的链接，前提是除了链接之外还选择 “**页面**” 和 “**文件**” 作为要抓取的实体。**
+ 如果选择链接作为要抓取的实体，则连接器会在 SharePoint SharePoint 2013 年和 2016 年抓取**链接**。
+ 仅当**列表数据**也被选为要爬取的实体时，连接器才会爬取列表附件和评论。
+ 仅当**事件**也被选为要爬取的实体时，连接器才会爬取事件附件。
+ 对于 SharePoint 在线版本，ACL 令牌将使用小写。例如，如果**用户主体名称**位于 Azure 门户*MaryMajor@domain.com*中，则 SharePoint 连接器中的 ACL 令牌将是*marymajor@domain.com*。
+ 在 **Identity Crawler f** or O SharePoint nline 和 Server 中，如果要抓取嵌套群组，则必须激活本地和 AD 组抓取。
+ 如果你使用的是 O SharePoint nline，并且 Azure 门户中的用户主体名称是大写和小写的组合，那么 SharePoint API 会在内部将其转换为小写。因此， Amazon Kendra SharePoint 连接器以小写形式设置 ACL。