Google Drive 连接器 V2.0 - Amazon Kendra

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

Google Drive 连接器 V2.0

Google Drive 是一项基于云的文件存储服务。您可以使用 Amazon Kendra 索引存储在 Google 云端硬盘数据源中的共享云端硬盘、“我的云端硬盘” 和 “与我共享” 文件夹中的文档和评论。您可以为 Google Workspace 文档以及文档类型中列出的文档编制索引。您还可以使用包含和排除筛选条件按文件名、文件类型和文件路径对内容进行索引。

注意

对谷歌云端硬盘连接器 V1.0/Google 的支持计划 DriveConfiguration API于 2023 年结束。我们建议迁移到或使用 Google 云端硬盘连接器 V2.0/ TemplateConfiguration API。

要对 Amazon Kendra Google 云端硬盘数据源连接器进行故障排除,请参阅数据来源故障排除

支持的特征

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整内容和增量内容同步

  • 虚拟私有云 (VPC)

先决条件

在使用 Amazon Kendra 索引 Google 云端硬盘数据源之前,请在您的 Google 云端硬盘和 AWS 帐号中进行这些更改。

在 Google Drive 中,请确保:

  • 要么超级管理员角色已授予访问权限,要么是具有管理权限的用户。如果您已获得超级管理员角色的访问权限,则无需为自己设置超级管理员角色。

  • 已配置 Google Drive 服务帐号连接凭证,其中包含您的管理员帐号电子邮件、客户电子邮件(服务帐号电子邮件)和私有密钥。请参阅有关创建和删除服务帐号密钥的 Google Cloud 文档

    注意

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

  • 创建了一个 Google Cloud 服务帐号(具有使用用户身份授权的帐号),并激活了 “启用 G Suite 全网域授权” 进行 server-to-server身份验证,然后使用该帐号生成了JSON私钥。

    注意

    私有密钥应在创建服务帐号之后生成。

  • API在您的用户帐户中添加了管理员SDKAPI和 Google 云端硬盘。

  • 可选:已配置包含客户端 ID、客户端密钥和刷新令牌的 Google Drive OAuth 2.0 连接凭据作为特定用户的连接凭据。您需要它来爬取个人账户数据。请参阅 Google 文档,了解如何使用 OAuth 2.0 进行访问APIs

  • 使用超级管理员角色向您的服务帐号添加(或要求具有超级管理员角色的用户添加)以下OAuth范围。这些API范围是抓取 Google Workspace 网域中所有用户的所有文档和访问控制 (ACL) 信息所必需的:

    • https://www.googleapis.com/auth/云端硬盘.readonly — 查看和下载所有的 Google 云端硬盘文件

    • https://www.googleapis.com/auth/云端硬盘.metadata.readonly — 查看 Google 云端硬盘中文件的元数据

    • https://www.googleapis.com/auth/admin.directory.group.readonly — 仅用于检索群组、群组别名和成员信息的范围。这是 Amazon Kendra 身份搜寻器所必需的。

    • https://www.googleapis.com/auth/admin.directory.user.readonly — 仅用于检索用户或用户别名的范围。这是在 Ident Amazon Kendra ity Crawler 中列出用户和进行设置ACLs所必需的。

    • https://www.googleapis.com/auth/云平台-用于生成访问令牌以获取大型 Google 云端硬盘文件内容的范围。

    • https://www.googleapis.com/auth/forms.body.readonly — 从谷歌表单中获取数据的范围。

    要支持表单API,请添加以下附加范围:

    • https://www.googleapis.com/auth/表单.body.readonly

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

在你的 AWS 账户,请确保你有:

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

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

    注意

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

  • 将您的 Google 云端硬盘身份验证凭据存储在 AWS Secrets Manager 密钥中,如果使用API,请记下该密钥ARN的内容。

    注意

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

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

连接说明

Amazon Kendra 要连接到您的 Google 云端硬盘数据源,您必须提供 Google 云端硬盘数据源的必要详细信息, Amazon Kendra 以便访问您的数据。如果您尚未配置 Google 云端硬盘, Amazon Kendra 请参阅先决条件

Console

连接 Amazon Kendra 到 Google 云端硬盘

  1. 登录 AWS Management Console 并打开Amazon Kendra 控制台

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

    注意

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

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

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

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

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

    2. (可选)说明 - 为数据来源输入说明。

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

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

    5. 选择下一步

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

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

    2. 身份验证-根据您的用例在 Google 服务帐号OAuth2.0 身份验证之间进行选择。

    3. AWS Secrets Manager s@@ ecret —选择现有密钥,或创建一个新 Secrets Manager 密钥来存储您的 Google 云端硬盘身份验证凭据。如果您选择创建新密钥,则会打开 AWS Secrets Manager 密钥窗口。

      1. 如果您选择了 Google 服务帐号,请输入您的密钥名称、服务帐号配置中的管理员用户或 “服务帐号用户” 的电子邮件 ID(管理员电子邮件)、服务帐号的电子邮件 ID(客户端电子邮件)以及您在服务帐号中创建的私钥。

        保存并添加您的密钥

      2. 如果您选择 OAuth2.0 身份验证,请输入您在OAuth账户中创建的密钥名称、客户端 ID、客户端密钥和刷新令牌。用户邮件 ID(配置了连接详细信息的用户)将设置为ACL。ACL由于限制,连接器不会设置其他用户/组主体信息。API

        保存并添加您的密钥。

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

    5. (仅适用于 Google 服务帐号身份验证用户)

      I Amazon Kendra dent@@ ity Crawler-指定是否开启身份搜寻器。Identity Crawler 使用文档的访问控制列表 (ACL) 信息,根据用户或其群组对文档的访问权限筛选搜索结果。如果你的文档有ACL并选择使用你的ACL,那么你也可以选择开启身份搜寻器来配置搜索结果 Amazon Kendra的用户上下文筛选。否则,如果身份搜寻器已关闭,则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭,则也可以使用上传用户和群组访问信息PutPrincipalMappingAPI以进行用户上下文筛选。

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

      注意

      IAM 用于索引的角色不能用于数据源。如果您不确定是将现有角色用于索引还是FAQ,请选择创建新角色以避免出错。

    7. 选择下一步

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

    1. 同步内容-选择要抓取的选项或内容。您可以选择抓取 “我的云端硬盘”(个人文件夹)、“共享云端硬盘”(与您共享的文件夹)或两者兼而有之。您也可以添加文件注释。

    2. “其他配置-可选” 中您还可以输入以下可选信息:

      1. 最大文件大小-设置要抓取的文件的最大大小限制。MBs

      2. 用户电子邮件-添加要包含或排除的用户电子邮件。

      3. 共享云端硬盘-添加要包含或排除的共享云端硬盘名称。

      4. Mime 类型-添加要包含或排除的MIME类型。

      5. 实体正则表达式模式-添加正则表达式模式以包含或排除所有支持的实体的某些附件。最多可以添加 100 个模式。

        您可以为文件名、文件类型和文件路径配置包含/排除正则表达模式。

        • 文件名-要包含或排除的文件的名称。例如,要使用名称为文件编制索引teamroster.txt,请提供teamroster

        • 文件类型-要包含或排除的文件类型。例如,.pdf.txt .docx。

        • 文件路径-要包含或排除的文件的路径。例如,要仅索引驱动器文件夹Products list内的文件,请提供/Products list

    3. 同步模式 - 选择在数据来源内容发生变化时更新索引的方式。首次与同步数据源时, Amazon Kendra 默认情况下会对所有内容进行抓取和索引。如果初始同步失败,即使您没有选择完全同步作为同步模式选项,也必须对数据进行完全同步。

      • 完全同步:对所有内容进行新索引,每次数据源与索引同步时都会替换现有内容。

      • 修改过的新同步:每次数据源与索引同步时,仅为新增和修改过的内容编制索引。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。

      • 新增、已修改、已删除的同步:每次数据源与索引同步时,仅索引新内容、修改内容和已删除内容。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。

      重要

      Google 云端硬盘API不支持从永久删除的文件中检索评论。可以检索已丢弃文件中的评论。当文件被丢弃时,连接器将从 Amazon Kendra 索引中删除注释。

    4. 在 “同步运行计划” 中,对于 “频率”,选择同步数据源内容和更新索引的频率。

    5. 在 “同步运行历史记录” 中,选择在同步数据源 Amazon S3 时将自动生成的报告存储在中。这对于跟踪同步数据源时出现的问题非常有用。

    6. 选择下一步

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

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

      注意

      Google 云端硬盘API不支持创建自定义字段。自定义字段映射不适用于 Google Drive 连接器。

    2. 选择下一步

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

API

连接 Amazon Kendra 到 Google 云端硬盘

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

  • 数据源-将数据源类型指定为使用TemplateConfigurationJSON架构GOOGLEDRIVEV2时的类型。还要像调用TEMPLATE时一样指定数据源CreateDataSourceAPI。

  • 身份验证类型-指定是使用服务帐户身份验证还是 OAuth 2.0 身份验证。

  • 同步模式-指定数据源内容发生变化时 Amazon Kendra 应如何更新索引。首次与同步数据源时, Amazon Kendra 默认情况下会对所有内容进行抓取和索引。如果初始同步失败,即使您没有选择完全同步作为同步模式选项,也必须对数据进行完全同步。您可以选择:

    • FORCED_FULL_CRAWL对所有内容进行全新索引,每次数据源与索引同步时都要替换现有内容。

    • FULL_CRAWL每次数据源与索引同步时,仅对新的、修改过的和已删除的内容编制索引。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。

    • CHANGE_LOG每次数据源与索引同步时,仅索引新的和修改过的内容。 Amazon Kendra 可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。

    重要

    Google 云端硬盘API不支持从永久删除的文件中检索评论。可以检索已丢弃文件中的评论。当文件被丢弃时,连接器将从 Amazon Kendra 索引中删除注释。

  • Amazon Secret 资源名称 (ARN)-提供包含您在 Google 云端硬盘账户中创建的身份验证凭证的 Secrets Manager 密钥的亚马逊资源名称 (ARN)。如果您使用 Google 服务帐号身份验证,则密钥将存储在包含以下密钥的JSON结构中:

    { "clientEmail": "user account email", "adminAccountEmail": "service account email", "privateKey": "private key" }

    如果您使用 OAuth 2.0 身份验证,则密钥存储在具有以下密钥的JSON结构中:

    { "clientID": "OAuth client ID", "clientSecret": "client secret", "refreshToken": "refresh token" }
  • IAM 角色-指定RoleArn何时致电CreateDataSource为 IAM 角色提供访问您的 Secrets Manager 密钥的权限,以及致电APIs所需的公众以获取 Google 云端硬盘连接器和 Amazon Kendra。有关更多信息,请参阅 Google Drive 数据来源的IAM 角色

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

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

  • 我的云端硬盘、共享云端硬盘、评论-您可以指定是否抓取这些类型的内容。

  • 包含和排除筛选器-您可以指定是包含还是排除某些用户帐户、共享云端硬盘和MIME类型。

    注意

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

  • 访问控制列表 (ACL)-如果您有文档ACL并想将其用于访问控制,请指定是否要抓取文档ACL的信息。ACL指定用户和群组可以访问哪些文档。该ACL信息用于根据用户或其群组对文档的访问权限筛选搜索结果。有关更多信息,请参阅用户上下文筛选

  • I Amazon Kendra dent@@ ity Crawler-指定是否开启身份搜寻器。Identity Crawler 使用文档的访问控制列表 (ACL) 信息,根据用户或其群组对文档的访问权限筛选搜索结果。如果你的文档有ACL并选择使用你的ACL,那么你也可以选择开启身份搜寻器来配置搜索结果 Amazon Kendra的用户上下文筛选。否则,如果身份搜寻器已关闭,则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭,则也可以使用上传用户和群组访问信息PutPrincipalMappingAPI以进行用户上下文筛选。

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

    注意

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

有关要配置的其他重要JSON密钥的列表,请参阅 Google 云端硬盘模板架构

注意

  • 由于 Google Drive UI 不支持创建自定义字段,因此自定义字段映射不适用于 Google Drive 连接器。

  • Google 云端硬盘API不支持从永久删除的文件中检索评论。但是,对于已丢弃的文件,可以检索评论。当文件被丢弃时, Amazon Kendra 连接器将从 Amazon Kendra 索引中删除注释。

  • Google 云端硬盘API不会返回.docx 文件中存在的评论。

  • 如果将特定Google document(文档、电子表格、幻灯片等)的权限设置为 “一般访问权限:任何人拥有链接共享到您的特定公司域”,则在进行查询的用户访问该文档之前,Amazon Kendra 搜索用户将无法看到该文档。