Gmail - Amazon Kendra

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

Gmail

Gmail 是 Google 开发的电子邮件客户端,可用于发送包含文件附件的电子邮件。您可以使用文件夹和标签对 Gmail 邮件进行排序并将其存储在您的电子邮件收件箱中。您可以使用索 Amazon Kendra 引电子邮件和邮件附件。您还可以配置 Amazon Kendra 为包括或排除特定的电子邮件、邮件附件和标签以进行索引。

您可以使用Amazon Kendra 控制台TemplateConfigurationAPI 连接 Amazon Kendra 到 Gmail 数据源。

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

支持的特征

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

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

  • Virtual Private Cloud (VPC)

先决条件

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

在 Gmail 中,请确保:

  • 已创建 Google Cloud Platform 管理员账号并创建 Google Cloud 项目。

  • 在您的管理员账户中激活了 Gmail API 和管理开发工具包 API。

  • 为您的 Gmail 创建了一个服务帐号并下载了一个 JSON 私有密钥。有关如何创建和访问私有密钥的信息,请参阅有关如何创建服务帐号密钥服务帐号凭证的 Google Cloud 文档。

  • 已复制您的管理员账户电子邮件、服务帐号电子邮件地址和用作身份验证凭据的私钥。

    注意

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

  • 为您的用户和要索引的共享目录添加了以下 Oauth 作用域(使用管理员角色):

    • https://www.googleapis.com/auth/admin.directory.user.readonly

    • https://www.googleapis.com/auth/gmail.readonly

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

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

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

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

    注意

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

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

    注意

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

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

连接说明

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

Console

连接 Amazon Kendra 到 Gmail

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

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

    注意

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

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

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

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

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

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

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

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

    5. 选择下一步

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

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

    2. AWS Secrets Manager 密钥身份验证中-选择现有密钥或创建新 Secrets Manager 密钥来存储您的 Gmail 身份验证凭据。如果您选择创建新密钥,则会打开一个 AWS Secrets Manager 秘密窗口。

      1. 创建 AWS Secrets Manager 密钥窗口中输入以下信息:

        1. 密钥名称 - 密钥的名称。

        2. 客户端电子邮件地址 - 您从 Google 服务帐号中复制的客户端电子邮件地址。

        3. 管理员账户电子邮件地址 - 您要使用的管理员账户电子邮件地址。

        4. 私有密钥 - 您从 Google 服务帐号中复制的私有密钥。

        5. 保存并添加您的密钥。

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

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

      注意

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

    5. 选择下一步

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

    1. 对于实体类型-选择同步邮件附件。

    2. (可选)对于其他配置,输入以下信息:

      1. 日期范围-输入日期范围以指定要抓取的电子邮件的开始和结束日期。

      2. 电子邮件域-根据 “收件人”、“发件人”、“抄送” 和 “密件抄送” 电子邮件域名包含或排除某些电子邮件。

      3. 主题中的关键字-根据电子邮件主题中的关键字包含或排除电子邮件。

        注意

        您也可以选择包含与您输入的所有主题关键字相匹配的任何文档。

      4. 标签-添加正则表达式模式以包含或排除某些电子邮件标签。

      5. 附件-添加正则表达式模式以包含或排除某些电子邮件附件。

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

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

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

      重要

      由于没有 API 可以更新永久删除的 Gmail 邮件,所以新增内容、修改内容或已删除内容会同步:

      • 不会从您的 Amazon Kendra 索引中移除从 Gmail 中永久删除的邮件

      • 无法同步 Gmail 电子邮件标签中的更改

      要将您的 Gmail 数据来源标签更改和永久删除的电子邮件同步到您的 Amazon Kendra 索引,您必须定期进行全面爬取。

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

    5. 选择下一步

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

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

      注意

      Amazon Kendra 由于 API 限制,Gmail 数据源连接器不支持创建自定义索引字段。

    2. 选择下一步

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

API

连接 Amazon Kendra 到 Gmail

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

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

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

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

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

    重要

    由于没有 API 可以更新永久删除的 Gmail 邮件,所以新增内容、修改内容或已删除内容会同步:

    • 不会从您的 Amazon Kendra 索引中移除从 Gmail 中永久删除的邮件

    • 无法同步 Gmail 电子邮件标签中的更改

    要将您的 Gmail 数据源标签更改和永久删除的电子邮件同步到您的 Amazon Kendra 索引,您必须定期进行全面抓取。

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

    { "adminAccountEmailId": "service account email", "clientEmailId": "user account email", "privateKey": "private key" }
  • IAM 角色-指定RoleArn何时调用CreateDataSource以向 IAM 角色提供访问您的 Secrets Manager 密钥和调用 Gmail 连接器所需的公共 API 的权限,以及 Amazon Kendra。有关更多信息,请参阅 Gmail 数据来源的IAM 角色

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

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

  • 包含和排除过滤器-指定是包含还是排除某些 “收件人”、“发件人”、“抄送”、“密件抄送” 电子邮件。

    注意

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

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

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

    注意

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

    注意

    Amazon Kendra 由于 API 限制,Gmail 数据源连接器不支持创建自定义索引字段。

有关要配置的其他重要 JSON 键的列表,请参阅 Gmail 模板架构

了解更多信息

要详细了解如何 Amazon Kendra 与 Gmail 数据源集成,请参阅:

注意

  • 由于没有 API 可以更新永久删除的 Gmail 邮件,所以FULL_CRAWL/同步新增、修改或删除的内容:

    • 不会从您的 Amazon Kendra 索引中移除从 Gmail 中永久删除的邮件

    • 无法同步 Gmail 电子邮件标签中的更改

    要将您的 Gmail 数据源标签更改和永久删除的电子邮件同步到您的 Amazon Kendra 索引,您必须定期进行全面抓取。

  • Amazon Kendra 由于 API 限制,Gmail 数据源连接器不支持创建自定义索引字段。