Microsoft OneDrive 连接器 V1.0 - Amazon Kendra

Microsoft OneDrive 连接器 V1.0

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

注意

对 OneDrive 连接器 V1.0/Microsft OneDrive API 的支持计划于 2023 年 6 月结束。我们建议使用 OneDrive 连接器 V2.0/TemplateConfiguration API。

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

支持的功能

  • 字段映射

  • 包含/排除筛选条件

先决条件

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

在 Azure Active Directory(AD)中,请确保:

  • 已创建 Azure Active Directory(AD)应用程序

  • 使用 AD 应用程序 ID 在 AD 站点上注册应用程序的密钥。该密钥必须包含应用程序 ID 和密钥。

  • 已复制组织的 AD 域。

  • 在 Microsoft Graph 选项上为您的 AD 应用程序添加了以下应用程序权限:

    • 读取所有网站集中的文件(File.Read.All)

    • 阅读所有用户的完整个人资料(User.Read.All)

    • 读取目录数据(Directory.Read.All)

    • 阅读所有组(Group.Read.All)

    • 阅读所有网站集中的项目(Site.Read.All)

  • 复制必须为其文档编制索引的用户列表。您可以选择提供用户名列表,也可以在存储在 Amazon S3 中的文件中提供用户名。创建数据来源后,您可以:

    • 修改用户列表。

    • 从用户列表更改为存储在 Amazon S3 存储桶中的列表。

    • 更改用户列表的 Amazon S3 存储桶位置。如果您更改存储桶位置,则还必须更新数据来源的 IAM 角色,使其能够访问存储桶。

      注意

      如果您将用户名列表存储在 Amazon S3 存储桶中,则数据来源的 IAM 策略必须提供对存储桶的访问权限以及对存储桶加密时使用的密钥(如果有)的访问权限。

  • 在 OneDrive 以及计划用于编制同一索引的其他数据来源中,已检查每个文档都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档 ID 对索引来说是全局性的,并且每个索引都必须是唯一的。

在 AWS 账户 中,请确保:

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

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

    注意

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

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

    注意

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

如果您没有现有的 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. 身份验证类型 - 选择新建现有

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

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

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

        2. 对于应用程序 ID应用程序密码 - 输入您的 OneDrive 账户中的身份验证凭据值,然后选择保存身份验证

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

      注意

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

    4. 选择下一步

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

    1. 根据您的使用案例,选择列表文件名称列表

      1. 如果选择列表文件,请输入以下信息:

        1. 选择位置 - 输入 Amazon S3 存储桶的路径。

          将用户列表文件添加到 Amazon S3 中 - 选择将您的用户列表文件添加到您的 Amazon S3 存储桶中。

          用户本地组映射 - 选择使用本地组映射来筛选您的内容。

      2. 如果选择名称列表,请输入以下信息:

        1. 用户名 - 输入最多 10 个要索引的用户驱动器。要添加 10 个以上的用户,请创建一个包含用户名的文件。

          添加另一个 - 选择添加更多用户。

          用户本地组映射 - 选择使用本地组映射来筛选您的内容。

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

    3. 同步运行计划中,对于频率 - 选择 Amazon Kendra 与数据来源同步的频率。

    4. 选择下一步

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

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

    2. 选择下一步

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

API

将 Amazon Kendra 连接到 OneDrive

您必须使用 OneDriveConfiguration API 指定以下内容:

  • 租户 ID - 指定组织的 Azure Active Directory 域。

  • OneDrive 用户 - 指定应为其文档编制索引的用户账户的列表。

  • 密钥 Amazon 资源名称(ARN)- 提供包含您的 OneDrive 账户身份验证凭证的 Secrets Manager 密钥的 Amazon 资源名称(ARN)。密钥必须使用具有以下键的 JSON 结构存储:

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

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

  • 包含和排除筛选条件 - 指定是包含还是排除文档。

    注意

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

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

    注意

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

  • 用户上下文筛选和访问控制 – 如果文档有 ACL,则 Amazon Kendra 会爬取文档的访问控制列表(ACL)。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息,请参阅用户上下文筛选