Microsoft Teams - Amazon Kendra

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

Microsoft Teams

Microsoft Teams 是一款用于消息、会议和文件共享的企业协作工具。如果你是微软 Teams 用户,你可以使用Amazon Kendra索引你的 Microsoft Teams 数据源。

你可以使用Amazon Kendra控制台TemplateConfigurationAPI Amazon Kendra 连接到你的 Microsoft Teams 数据源。

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

支持的功能

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整和增量内容同步

  • 虚拟私有云(VPC)

先决条件

在使用Amazon Kendra索引你的 Microsoft Teams 数据源之前,请在你的微软 Teams 和AWS账户中进行这些更改。

在 Microsoft Teams 中,请确保:

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

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

  • 在 Azure 门户中配置了 OAuth 应用程序,并记下了客户端 ID 和客户端密钥或客户端凭据。有关更多信息,请参阅 Microsoft 教程注册应用程序示例

    注意

    当您在 Azure 门户中创建或注册应用程序时,密钥 ID 代表实际的密钥值。在创建密钥和应用程序时,您必须立即记下或保存该实际的密钥值。您可以通过在 Azure 门户中选择应用程序名称,然后导航到有关证书和密钥的菜单选项来访问您的密钥。

    您可以通过在 Azure 门户中选择应用程序名称,然后导航到概述页面来访问您的客户端 ID。其中的“应用程序(客户端)ID”即是客户端 ID。

    注意

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

  • 添加必要的权限。您可以选择添加所有权限,也可以根据要爬取的实体选择更少的权限来限制范围。下表列出了各实体对应的应用程序级权限:

    实体 数据同步所需的权限 身份同步所需的权限
    频道帖子
    • ChannelMessage.Read.All

    • Group.Read.All

    • User.Read

    • User.Read.All

    TeamMember.Read.All
    频道附件
    • ChannelMessage.Read.All

    • Group.Read.All

    • User.Read

    • User.Read.All

    TeamMember.Read.All
    频道 Wiki
    • Group.Read.All

    • User.Read

    • User.Read.All

    TeamMember.Read.All
    聊天消息
    • Chat.Read.All

    • ChatMessage.Read.All

    • ChatMember.Read.All

    • User.Read

    • User.Read.All

    • Group.Read.All

    TeamMember.Read.All
    会议聊天
    • Chat.Read.All

    • ChatMessage。Read

    • ChatMember.Read.All

    • User.Read

    • User.Read.All

    • Group.Read.All

    TeamMember.Read.All
    聊天附件
    • Chat.Read.All

    • ChatMessage。Read

    • ChatMember.Read.All

    • User.Read

    • User.Read.All

    • Group.Read.All

    TeamMember.Read.All
    会议文件
    • Chat.Read.All

    • ChatMessage.Read.All

    • ChatMember.Read.All

    • User.Read

    • User.Read.All

    • Group.Read.All

    • Files.Read.All

    TeamMember.Read.All
    日历会议
    • Chat.Read.All

    • ChatMessage.Read.All

    • ChatMember.Read.All

    • User.Read

    • User.Read.All

    • Group.Read.All

    • Files.Read.All

    TeamMember.Read.All
    会议记录
    • User.Read

    • User.Read.All

    • Group.Read.All

    • Files.Read.All

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

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

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

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

    注意

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

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

    注意

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

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

连接说明

Amazon Kendra要连接到你的 Microsoft Teams 数据源,你必须提供微软 Teams 数据源的必要详细信息,这样Amazon Kendra才能访问你的数据。如果你尚未为其配置 Microsoft Team Amazon Kendra s,请参阅先决条件

Console

连接微软 Amazon Kendra Teams

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

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

    注意

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

  3. 开始使用页面上,选择添加数据来源

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

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

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

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

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

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

    5. 选择下一步

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

    1. 租户 ID - 输入您的 Microsoft 365 租户 ID。你可以在 Azure Active Directory 门户的属性或 OAuth 应用程序中找到你的租户 ID。

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

    3. AWS Secrets Manager密钥 — 选择现有密钥或创建新Secrets Manager密钥来存储你的 Microsoft Teams 身份验证凭据。如果您选择创建新密钥,则会打开 AWS Secrets Manager 密钥窗口。

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

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

        2. 对于客户端 ID客户端密钥 - 输入您在 Azure 门户中从您的 Microsoft Teams 账户生成的身份验证凭证值。

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

    4. 付款模式 - 您可以为您的 Microsoft Teams 账户选择许可和付款模式。A 型支付模式仅限于需要安全合规的许可和支付模式。B 型支付模式适用于不需要安全合规的许可和支付模式。

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

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

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

      注意

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

    8. 选择下一步

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

    1. 同步内容 - 选择要爬取的内容类型。您可以选择爬取聊天、团队和日历内容。

    2. 其他配置 —指定特定的日历开始和结束日期、用户电子邮件、团队名称和频道名称、附件和 OneNotes。

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

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

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

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

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

    5. 选择下一步

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

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

    2. 添加字段 - 添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。

    3. 选择下一步

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

API

连接微软 Amazon Kendra Teams

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

  • 数据来源 – 当使用 TemplateConfiguration JSON 架构时,将数据来源类型指定为 MSTEAMS。当调用 CreateDataSource API 时,还要将数据来源指定为 TEMPLATE

  • 租户 ID-你可以在 Azure Active Directory 门户的属性或 OAuth 应用程序中找到你的租户 ID。

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

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

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

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

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

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

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

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

  • 文档/内容类型 - 指定是否爬取以下内容:聊天消息和附件、频道帖子和附件、频道 WiKi、日历内容、会议聊天和文件以及备忘录。

  • 日历内容 - 指定爬取日历内容的开始和结束日期时间。

  • 包含和排除筛选条件 - 指定是包含还是排除 Microsoft Teams 中的某些内容。您可以包含或排除团队名称、频道名称、文件名和文件类型、用户电子邮件、 OneNote 分区和 OneNote 页面。

    注意

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

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

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

    注意

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

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

了解详情

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

注意

  • 启用访问控制列表 (ACLs) 后,由于 Microsoft Teams API 的限制,“仅同步新内容或修改过的内容” 选项不可用。我们建议改用 “完全同步” 或 “新建、修改或删除的内容同步” 模式,或者 ACLs 如果您需要使用此同步模式,则将其禁用。