

Amazon Kendra 不再向新客户开放。要了解与类似的功能 Amazon Kendra，请浏览亚马逊基岩知识库。[了解更多](https://docs.aws.amazon.com/kendra/latest/dg/kendra-availability-change.html)。

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

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

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

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

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

**Topics**
+ [支持的功能](#supported-features-v1-sharepoint)
+ [先决条件](#prerequisites-v1-sharepoint)
+ [连接说明](#data-source-procedure-v1-sharepoint)
+ [了解详情](#sharepoint-v1-learn-more)

## 支持的功能
<a name="supported-features-v1-sharepoint"></a>
+ 字段映射
+ 用户访问控制
+ Inclusion/exclusion 过滤器
+ 更改日志
+ 虚拟私有云（VPC）

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

在使用 Amazon Kendra 为 SharePoint 数据源编制索引之前，请在您的 SharePoint 和 AWS 账户中进行这些更改。

您需要提供身份验证凭据，将其安全地存储在 AWS Secrets Manager 机密中。

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

**在 SharePoint，请确保你有：**
+ 记下了你要索引的 SharePoint 网站的网址。
+ **对于 SharePoint 在线：**
  + 已记下您的基本身份验证凭证，其中包含具有站点管理员权限的用户名和密码。
  + **可选：**生成的 OAuth 2.0 凭证，其中包含用户名、密码、客户端 ID 和客户端密钥。
  + 使用管理用户在 Azure 门户中停用**安全默认值**。有关在 Azure 门户中管理安全默认设置的更多信息，请参阅有关如何设置 enable/disable 安全默认值的 [ Microsoft 文档](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1)。
+ **对于 SharePoint 服务器：**
  + 记下了你的 SharePoint 服务器域名（你的 Active Directory 中的 NetBIOS 名称）。您可以使用它以及 SharePoint 基本身份验证用户名和密码将 SharePoint 服务器连接到 Amazon Kendra。
**注意**  
如果您使用 SharePoint 服务器并需要将访问控制列表 (ACL) 转换为电子邮件格式以根据用户上下文进行筛选，请提供 LDAP 服务器 URL 和 LDAP 搜索库。或者，您也可以使用目录域覆盖。LDAP 服务器 URL 是完整的域名和端口号（例如，ldap://example.com:389）。LDAP 搜索库是域控制器的“example”和“com”。凭借目录域覆盖，您可以使用电子邮件域来代替 LDAP 服务器 URL 和 LDAP 搜索库。例如，username@example.com 的电子邮件域名是“example.com”。如果您不想验证域名，而只想使用您的电子邮件域名，则可以使用此替代方法。
+ 为您的 SharePoint 账户添加了以下权限：

  **供 SharePoint 清单使用 **
  + 打开项目 - 使用服务器端文件处理程序查看文档的来源。
  + 查看应用程序页面 - 查看表单、视图和应用程序页面。枚举列表。
  + 查看项目 - 查看列表中的项目和文档库中的文档。
  + 查看版本 - 查看列表项或文档的过去版本。

  **适用于 SharePoint 网站 **
  + 浏览目录-使用 SharePoint 设计器和 Web DAV 界面枚举网站中的文件和文件夹。
  + 浏览用户信息 - 查看有关网站用户的信息。
  + 枚举权限 - 枚举网站、列表、文件夹、文档或列表项的权限。
  + 打开 - 打开网站、列表或文件夹以访问容器内的项目。
  + 使用客户端集成功能-使用 SOAP、WebDAV、客户端对象模型或 SharePoint 设计器界面访问网站。
  + 使用远程接口 - 使用启动客户端应用程序的功能。
  + 查看页面 - 查看网站上的页面。
+ 已检查每个文档在计划用于同一索引的其他数据源中 SharePoint 以及在其他数据源中都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档 ID 对索引来说是全局性的，并且每个索引都必须是唯一的。

**在您的中 AWS 账户，请确保您有：**
+ [创建了 Amazon Kendra 索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)，如果使用 API，则记下索引 ID。
+ [https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)为您的数据源创建了一个 IAM 角色，如果使用 API，则记下该 IAM 角色的 ARN。
**注意**  
如果您更改身份验证类型和证书，则必须更新您的 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-v1-sharepoint"></a>

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

------
#### [ Console ]

**连接 Amazon Kendra 到 SharePoint ** 

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

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

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

1. 在 “**添加数据源**” 页面上，选择 “**SharePoint 连接器 v1.0”**，然后选择 “**添加数据源**”。

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

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

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

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

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

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

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

   1. 对于**托管方法 **-在 “**SharePoint 联机” ** 和 “**SharePoint服务器**” 之间进行选择。

      1. 对于**SharePoint在线 **-输入特定于您的 SharePoint存储库**的**站点 URL。

      1. 对于**SharePoint服务器 **-选择您的**SharePoint 版本**，输入特定于 SharePoint 存储库的**站点 URL**，然后输入 ** SSL 证书位置**的 Amazon S3 路径。

   1. （仅限SharePoint 服务器）对于 ** Web 代理 **-输入内部 SharePoint 实例**的主机名**和**端口号**。端口号应为介于 0 到 65535 之间的数值。

   1. 对于**身份验证** - 根据您的使用案例选择以下选项：

      1. 对于在 SharePoint 线-在**基本身份验证**和 ** OAuth 2.0 身份验证之间进行选择。**

      1. 对于 SharePoint 服务器-在 “**无” **、“**LDAP**” 和 ** “手动” 之间进行选择。**

   1. 用于**AWS Secrets Manager 密钥 **-选择现有密钥或创建新 Secrets Manager 密钥来存储您的 SharePoint身份验证凭证。如果您选择创建新密钥，则会打开 AWS Secrets Manager 密钥窗口。您必须输入**密钥名称**。前缀 “AmazonKendra-SharePoint-” 会自动添加到您的密钥名称中。

   1. 在**创建 AWS Secrets Manager 密钥窗口**中输入其他信息：

      1. 根据您的用例，从以下 SharePoint Cloud 身份验证选项中进行选择：

         1. **基本身份验证 ** —将您的 SharePoint 账户用户名作为**用户名输入**，将 SharePoint 账户密码作为**密码**输入。

         1. **OAuth 2.0 身份验证 ** —输入您的 SharePoint 账户用户名作为**用户名**，将 SharePoint账户密码输入为**密码**，将自动生成的唯一 SharePoint ID 作为**客户端 ID**，并输入双方 SharePoint 使用的共享密钥字符串作为客户端密钥。 Amazon Kendra ** **

      1. 根据您的用例，从以下 SharePoint服务器身份验证选项中进行选择：

         1. **无 ** —输入您的 SharePoint 帐户用户名作为**用户名**，将您的 SharePoint 帐户密码输入为**密码**，并输入您的**服务器域名**。

         1. **LDAP ** —输入您的 SharePoint 帐户用户名作为**用户名**，将 SharePoint帐户密码输入为**密码**，输入您的 ** LDAP 服务器端点**（包括协议和端口号，例如{{ldap://example.com:389}}），以及您的 ** LDAP 搜索库**（例如{{dc=example, dc=com}}）。

         1. **手动 **-将您的 SharePoint 帐户用户名作为**用户名输入**，将 SharePoint 帐户密码输入为**密码**，并输入您的**电子邮件域覆盖**（目录用户或组的电子邮件域）。

      1. 选择**保存**。

   1. **虚拟私有云（VPC）**- 您还必须添加**子网**和 **VPC 安全组**。
**注意**  
如果您使用 SharePoint 服务器，则必须使用 VPC。 Amazon VPC 对于其他 SharePoint版本，是可选的。

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

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

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

   1. **使用更改日志** - 选择更新索引，而不是同步所有文件。

   1. **爬取附件** - 选择此选项可爬取附件。

   1. **使用本地组映射** - 选择此选项可确保正确筛选文档。

   1. **其他配置** - 添加正则表达式模式以包含或排除某些文件。最多可以添加 100 个模式。

   1. 在**同步运行计划**中，对于**频率** - Amazon Kendra 与数据来源同步的频率。

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

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

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

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

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

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

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

**连接 Amazon Kendra 到 SharePoint **

必须使用 [ SharePointConfiguration ](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SharePointConfiguration.html) API 指定以下内容：
+ **SharePoint版本 ** —指定配置 SharePoint时使用的 SharePoint版本。无论您使用 SharePoint 服务器 2013、 SharePoint 服务器订阅版还是 SharePoint 联机版，都是如此。
+ **亚马逊机密资源名称 (ARN) **-提供包含您在 SharePoint 账户中创建的身份验证凭证的 Secrets Manager 密钥的亚马逊资源名称 (ARN)。密钥存储在 JSON 结构中。

  对于**SharePoint 在线基本身份验证**，以下是密钥中必须包含的最低 JSON 结构：

  ```
  {
      "userName": "{{user name}}",
      "password": "{{password}}"
  }
  ```

  对于**SharePoint 在线 OAuth 2.0 身份验证**，以下是您的密钥中必须包含的最低 JSON 结构：

  ```
  {
      "userName": "{{SharePoint account user name"}}",
      "password": "{{SharePoint account password}}",
      "clientId": "{{SharePoint auto-generated unique client id}}",
      "clientSecret": "{{secret string shared by Amazon Kendra and SharePoint to authorize communications}}"
  }
  ```

  对于 S ** SharePoint erver 基本身份验证**，以下是密钥中必须包含的最低 JSON 结构：

  ```
  {
      "userName": "{{user name}}",
      "password": "{{password}}",
      "domain": "{{server domain name}}"
  }
  ```

  对于**SharePoint 服务器 LDAP 身份验证**（如果您需要将访问控制列表 (ACL) 转换为电子邮件格式以根据用户上下文进行筛选，则可以在密钥中包含 LDAP 服务器 URL 和 LDAP 搜索库），以下是密钥中必须包含的最低 JSON 结构：

  ```
  {
      "userName": "{{user name}}",
      "password": "{{password}}",
      "domain": "{{server domain name}}"
      "ldapServerUrl": "{{ldap://example.com:389}}",
      "ldapSearchBase": "{{dc=example,dc=com}}"
  }
  ```

  对于**SharePoint 服务器手动身份验证**，以下是密钥中必须包含的最低 JSON 结构：

  ```
  {
      "userName": "{{user name}}",
      "password": "{{password}}",
      "domain": "{{server domain name}}",
      "emailDomainOverride": "{{example.com}}"
  }
  ```
+ **IAM 角色 ** —指定`RoleArn`何时调用`CreateDataSource`以向 IAM 角色提供访问您的 Secrets Manager 密钥的权限，以及调用 SharePoint 连接器和 Amazon Kendra所需的公共 API 的权限。有关更多信息，请参阅 [ SharePoint S3 数据来源的IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。
+  **Amazon VPC**—如果使用 SharePoint 服务器，请指定`VpcConfiguration`为数据源配置的一部分。请参阅[配置 Amazon Kendra 以使用 VPC ](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)。

您还可以添加以下可选功能：
+ **网络代理 ** —是否通过网络代理连接到您的 SharePoint 网站网址。此选项只能用于 SharePoint服务器。
+ **索引列表 **-是否 Amazon Kendra 应将附件的内容索引到 SharePoint 列表项。
+  **更改日志 ** —是否 Amazon Kendra 应使用 SharePoint 数据源更改日志机制来确定是否必须更新索引中的文档。
**注意**  
如果您不想让 Amazon Kendra 扫描所有文档，请使用更改日志。如果您的更改日志很大，则扫描 SharePoint 数据源中的文档所花费 Amazon Kendra 的时间可能比处理变更日志所需的时间短。如果您是首次将 SharePoint 数据来源与索引同步，则会扫描所有文档。
+  **包含和排除筛选条件** - 您可以指定是包含还是排除某些内容。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+  **字段映射** - 选择将 SharePoint 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。
**注意**  
要搜索您的文档，必须填写文档正文字段或与文档正文 Amazon Kendra 对应的字段。您必须将数据来源中的文档正文字段名映射到索引字段名称 `_document_body`。其他所有字段均为可选字段。
+  **用户上下文筛选和访问控制** – 如果文档有 ACL，则Amazon Kendra 会爬取文档的访问控制列表（ACL）。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)。

------

## 了解详情
<a name="sharepoint-v1-learn-more"></a>

要了解有关 Amazon Kendra 与 SharePoint数据源集成的更多信息，请参阅：
+ [Amazon Kendra SharePoint 在线连接器入门 ](https://aws.amazon.com/blogs/machine-learning/getting-started-with-the-amazon-kendra-sharepoint-online-connector/)