

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

# 微软 OneDrive 连接器 V2.0
<a name="data-source-v2-onedrive"></a>

Microsoft OneDrive 是一项基于云的存储服务，你可以用它来存储、共享和托管你的内容。您可以使用索 Amazon Kendra 引您的 OneDrive数据源。

您可以使用[Amazon Kendra 控制台](https://console.aws.amazon.com/kendra/)和 [OneDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/OneDriveConfiguration.html)API Amazon Kendra 连接到您的 OneDrive 数据源。



**注意**  
对 Conn OneDrive ector V1.0/ OneDriveConfiguration API 的支持计划于 2023 年 6 月结束。我们建议使用 OneDrive 连接器 V2.0/ TemplateConfiguration API。2.0 版提供了额外的 ACLs 身份搜寻器功能。

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

**Topics**
+ [

## 支持的功能
](#supported-features-v2-onedrive)
+ [

## 先决条件
](#prerequisites-v2-onedrive)
+ [

## 连接说明
](#data-source-procedure-v2-onedrive)

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

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

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

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

**在中 OneDrive，请确保你有：**
+ 已在 Office 365 中创建了一个 OneDrive 账户。
+ 记下了您的 Microsoft 365 租户 ID。你可以在 Azure Active Directory 门户的属性或 OAuth 应用程序中找到你的租户 ID。
+ 在 Azure 门户中创建了一个 OAuth 应用程序，并记下了用于使用密钥进行身份验证的客户端 ID 和客户端 AWS Secrets Manager 密钥或客户端凭据。有关更多信息，请参阅 [Microsoft 教程](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/walkthrough-register-app-azure-active-directory)和[注册应用程序示例](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)。
**注意**  
当您在 Azure 门户中创建或注册应用程序时，密钥 ID 代表实际的密钥值。在创建密钥和应用程序时，您必须立即记下或保存该实际的密钥值。您可以通过在 Azure 门户中选择应用程序名称，然后导航到有关证书和密钥的菜单选项来访问您的密钥。  
您可以通过在 Azure 门户中选择应用程序名称，然后导航到概述页面来访问您的客户端 ID。其中的“应用程序（客户端）ID”即是客户端 ID。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。
+ 使用 AD 应用程序 ID 在 AD 站点上注册应用程序的密钥。该密钥必须包含应用程序 ID 和密钥。
+ 已复制组织的 AD 域。
+ 在 Microsoft Graph 选项上为您的 AD 应用程序添加了以下权限：
  + 读取所有网站集中的文件（File.Read.All）
  + 读取所有用户的完整个人资料（User.Read.All）
  + 阅读所有组（Group.Read.All）
  + 读取所有笔记（Notes.Read.All）
+ 复制必须为其文档编制索引的用户列表。您可以选择提供用户名列表，也可以在存储在 Amazon S3中的文件中提供用户名。创建数据来源后，您可以：
  + 修改用户列表。
  + 从用户列表更改为存储在存储 Amazon S3 桶中的列表。
  + 更改用户列表的 Amazon S3 存储桶位置。如果您更改存储桶位置，则还必须更新数据源的 IAM 角色，使其能够访问存储桶。
**注意**  
如果您将用户名列表存储在 Amazon S3 存储桶中，则数据源的 IAM 策略必须提供对存储桶的访问权限以及对存储桶加密时使用的密钥（如果有）的访问权限。  
 OneDrive 连接器使用 O **nedrive** 用户属性中显示的 “**来自联系人信息的电子邮件**”。确保您要爬取其数据的用户在**联系信息**页面中配置了电子邮件字段，因为对于新用户，该字段可能为空。

**在您的 AWS 账户中，请确保您有：**
+ 已创建 Amazon Kendra 索引，如果使用 API，则记下索引 ID。
+ 为您的数据源创建了一个 IAM 角色，如果使用 API，请记下该角色的 ARN。 IAM 
+ 将您的 OneDrive 身份验证凭证存储在 AWS Secrets Manager 密钥中，如果使用 API，请记下该密钥的 ARN。

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

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

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

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

**要连接 Amazon Kendra 到 OneDrive** 

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

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

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

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

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

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

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

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

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

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

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

   1. **OneDrive 租户 ID**-输入不带协议的 OneDrive 租户 ID。

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

   1. 在**身份验证** 中 - 选择**新建**或**现有**。

   1. 

      1. 如果您选择**现有**，请为**选择密钥**选择现有密钥。

      1. 如果您选择**新建**，请在**新的 AWS Secrets Manager 密钥**部分中输入以下信息：

         1. **密钥名称** - 密钥的名称。前缀 “AmazonKendra-OneDrive-” 会自动添加到您的密钥名称中。

         1. 对于**客户端 ID** 和**客户端密钥** - 输入客户端 ID 和客户端密钥。

   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 上传用户和群组访问信息以进行用户上下文筛选。

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

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

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

1. 

   1. 对于**同步范围**-选择要为哪些用户 OneDrive 的数据编制索引。您可以手动添加最多 10 个用户。

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

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

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

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

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

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

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

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

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

**要连接 Amazon Kendra 到 OneDrive**

您必须使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 指定[数据来源架构](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-onedrive-schema)的 JSON。您必须提供以下信息：
+ **数据来源** – 当使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 架构时，将数据来源类型指定为 `ONEDRIVEV2`。当调用 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API 时，还要将数据来源指定为 `TEMPLATE`。
+ **租户 ID** - 指定 Microsoft 365 租户 ID。你可以在 Azure Active Directory 门户的属性或 OAuth 应用程序中找到你的租户 ID。
+ **同步模式**-指定数据源内容发生变化时 Amazon Kendra 应如何更新索引。首次将数据来源与 Amazon Kendra 同步时，默认情况下会爬取所有内容并编制索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。您可以选择：
  + `FORCED_FULL_CRAWL`，每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
  + `FULL_CRAWL`，每次数据来源与索引同步时，仅为新增、修改和删除的内容编制索引。 Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制，仅为自上次同步以来发生变化的内容编制索引。
  + `CHANGE_LOG`，每次数据来源与索引同步时，仅为新增和修改的内容编制索引。 Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制，仅为自上次同步以来发生变化的内容编制索引。
+ **亚马逊秘密资源名称 (ARN)**-提供包含您在账户中创建的身份验证凭证的 Secrets Manager 密钥的亚马逊资源名称 (ARN)。 OneDrive 

  如果您使用 OAuth 2.0 身份验证，则密钥将存储在 JSON 结构中，其中包含以下密钥：

  ```
  {
      "clientId": "client ID",
      "clientSecret": "client secret"
  }
  ```
+ **IAM ro** le —指定`RoleArn`何时调用`CreateDataSource`以向 IAM 角色提供访问您的 Secrets Manager 密钥的权限以及调用 OneDrive 连接器 APIs 所需的公众的权限，以及 Amazon Kendra。有关更多信息，请参阅 [ OneDrive 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)。
+  **包含和排除筛选器**-您可以指定是包含还是排除某些文件、 OneNote 章节和 OneNote 页面。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+ **身份爬网程序** – 指定是否激活 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 上传用户和群组访问信息以进行用户上下文筛选。
+  **字段映射**-只能映射连接器的内置或常用索引字段。 Amazon Kendra OneDrive 由于 API 限制，自定义字段映射不适用于 OneDrive 连接器。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。

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

------