Microsoft OneDrive 连接器 V2.0 - Amazon Kendra

Microsoft OneDrive 连接器 V2.0

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

您可以使用 Amazon Kendra 控制台OneDriveConfiguration API 将 Amazon Kendra 连接到您的 OneDrive 数据来源。

注意

对 OneDrive 连接器 V1.0/OneDrive Configuration API 的支持计划于 2023 年 6 月结束。我们建议使用 OneDrive 连接器 V2.0/TemplateConfiguration API。版本 2.0 提供了其他 ACL 和身份爬网程序功能。

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

支持的功能

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

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整和增量内容同步

  • 虚拟私有云(VPC)

先决条件

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

在 OneDrive 中,请确保:

  • 在 Office 365 中创建了一个 OneDrive 账户。

  • 记下了您的 Microsoft 365 租户 ID。您可以在 Azure Active Directory 门户的“属性”或 OAuth 应用程序中找到您的租户 ID。

  • 在 Azure 门户中创建了一个 OAuth 应用程序,并记下了用于使用 AWS Secrets Manager 密钥进行身份验证的客户端 ID 和客户端密钥或客户端凭证。有关更多信息,请参阅 Microsoft 教程注册应用程序示例

    注意

    当您在 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 连接器使用 Onedrive 用户属性中显示的联系人信息中的电子邮件地址。确保您要爬取其数据的用户在联系信息页面中配置了电子邮件字段,因为对于新用户,该字段可能为空。

在您的 AWS 账户中,请确保:

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

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

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

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

连接说明

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

Console

将 Amazon Kendra 连接到 OneDrive

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

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

    注意

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

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

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

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

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

    2. (可选)描述:输入数据来源的描述信息。

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

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

    5. 选择下一步

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

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

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

    3. 身份验证 中 - 选择新建现有

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

      2. 如果您选择新建,请在新的 AWS Secrets Manager 密钥部分中输入以下信息:

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

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

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

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

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

      注意

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

    7. 选择下一步

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

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

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

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

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

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

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

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

    5. 选择下一步

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

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

    2. 选择下一步

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

API

将 Amazon Kendra 连接到 OneDrive

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

  • 数据来源 – 当使用 TemplateConfiguration JSON 架构时,将数据来源类型指定为 ONEDRIVEV2。当调用 CreateDataSource 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 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

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

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

    { "clientId": "client ID", "clientSecret": "client secret" }
  • IAM 角色 - 指定 RoleArn,以便调用 CreateDataSource 来向 IAM 角色提供访问您的 Secrets Manager 密钥的权限,以及为 OneDrive 连接器和 Amazon Kendra 调用所需的公共 API 的权限。有关更多信息,请参阅 OneDrive 数据来源的 IAM 角色

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

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

  • 包含和排除筛选条件 - 您可以指定是包含还是排除某些文件、OneNote 部分和 OneNote 页面。

    注意

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

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

  • 字段映射 - 只能为 Amazon Kendra OneDrive 连接器映射内置或公用索引字段。由于 API 限制,OneDrive 连接器无法使用自定义字段映射。有关更多信息,请参阅映射数据来源字段

有关要配置的其他重要 JSON 键的列表,请参阅 OneDrive template schema