Salesforce 连接器 V2.0 - Amazon Kendra

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

Salesforce 连接器 V2.0

Salesforce 是一款客户关系管理(CRM)工具,用于管理支持、销售和营销团队。您可以使用Amazon Kendra索引您的 Salesforce 标准对象,甚至是自定义对象。

Amazon KendraSalesforce 数据源连接器支持以下 Salesforce 版本:开发者版和企业版。

注意

Salesforce 连接器 V1.0/ SalesforceConfiguration API 于 2023 年结束。我们建议迁移到或使用 Salesforce 连接器 V2.0/ TemplateConfiguration API。

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

支持的功能

Amazon KendraSalesforce 数据源连接器支持以下功能:

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整和增量内容同步

  • 虚拟私有云(VPC)

先决条件

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

在 Salesforce 中,请确保:

  • 已创建一个 Salesforce 管理账户,并记下了用于连接 Salesforce 的用户名和密码。

  • 已复制与用于连接 Salesforce 的账户关联的 Salesforce 安全令牌。

  • 创建了一个已 OAuth 激活的 Salesforce 互联应用程序帐户,并已复制分配给您的 Salesforce 互联应用程序的使用者密钥(客户端 ID)和消费者机密(客户端密钥)。客户端 ID 和客户端密钥用作存储在密AWS Secrets Manager钥中的身份验证凭证。有关更多信息,请参阅有关连接的应用程序的 Salesforce 文档

    注意

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

  • 要编制索引的 Salesforce 实例的 URL。通常为 https://<company>.salesforce.com/。服务器必须运行与 Salesforce 连接的应用程序。

  • 通过克隆 ReadOnly 个人资料,然后添加 “查看所有数据” 和 “管理文章” 权限,为拥有 Salesforce 只读访问权限的用户添加了凭据。这些凭据可以识别建立连接的用户以及连接到的 Salesforce Amazon Kendra 连接的应用程序。

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

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

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

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

    注意

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

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

    注意

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

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

连接说明

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

Console

要连接Amazon Kendra到 Salesforce,请:

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

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

    注意

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

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

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

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

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

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

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

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

    5. 选择下一步

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

    1. Salesforce URL - 输入要编制索引的 Salesforce 站点的实例 URL。

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

    3. 输入现有密钥,或者如果您创建了新密钥,则会打开 AWS Secrets Manager 密钥窗口。

      1. 身份验证 — 在创建 AWS Secrets Manager 密钥窗口中输入以下信息:

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

        2. 对于用户名密码安全令牌使用者键使用者密钥身份验证 URL - 请输入您在 Salesforce 账户中生成和下载的身份验证凭证值。

          注意

          如果您使用 Salesforce 开发者版,请使用https://login.salesforce.com/services/oauth2/token或 “我的域名” 登录网址(例如 https://MyCompany.my.salesforce.com)作为身份验证网址。如果您使用 Salesforce 沙盒版,请使用https://test.salesforce.com/services/oauth2/token 或 “我的域名” 登录网址(例如 MyDomainName--SandboxName.sandbox.my.salesforce.com)作为身份验证网址。

        3. 选择保存身份验证

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

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

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

      注意

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

    7. 选择下一步

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

    1. 对于爬取附件 - 选择爬取所有附加 Salesforce 对象。

    2. 对于标准对象带附件的标准对象以及不带附件的标准对象知识文章 - 请选择要爬取的 Salesforce 实体或内容类型。

    3. 您必须提供配置信息,以便为至少一个标准对象、知识文章或聊天源编制索引。如果您选择爬取知识文章,则必须指定要编入索引的知识文章的类型。您可以选择已发布、已存档、草稿和附件。

      正则表达式筛选条件 - 指定包含特定目录项的正则表达式模式。

  8. 对于附加配置

    • ACL 信息 - 默认情况下包括所有访问控制列表。取消选择访问控制列表将公开该类别中的所有文件。

    • 正则表达式模式 - 添加包含或排除某些文件的正则表达式模式。最多可以添加 100 个模式。

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

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

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

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

  9. 选择下一步

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

    1. 对于标准知识文章标准对象附件和其他建议的字段映射-从Amazon Kendra生成的默认数据源字段中选择要映射到索引的字段。

      注意

      映射到 _document_body 的索引是必需的。您无法更改 Salesforce ID 字段与 Amazon Kendra _document_id 字段之间的映射。您可以将任何 Salesforce 字段映射到文档标题或文档正文 Amazon reserved/default Kendra 索引字段。

      如果您将任意 Salesforce 字段映射到 Amazon Kendra 的文档标题和正文字段,Amazon Kendra 将在搜索结果中使用来自这些标题和正文字段的数据。

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

    3. 选择下一步

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

API

连接到 Sales Amazon Kendra force

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

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

  • 主机 URL - 指定 Salesforce 实例的主机 URL。

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

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

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

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

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

    { "authenticationUrl": "OAUTH endpoint that Amazon Kendra connects to get an OAUTH token", "consumerKey": "Application public key generated when you created your Salesforce application", "consumerSecret": "Application private key generated when you created your Salesforce application", "password": "Password associated with the user logging in to the Salesforce instance", "securityToken": "Token associated with the user account logging in to the Salesforce instance", "username": "User name of the user logging in to the Salesforce instance" }
  • IAM角色-指定RoleArn何时调用CreateDataSource以向IAM角色提供访问您的Secrets Manager密钥的权限以及呼叫 Salesforce 连接器 APIs 所需的公众的权限,以及。Amazon Kendra有关更多信息,请参阅 Salesforce 数据来源的 IAM 角色

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

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

  • 包含和排除筛选条件 - 您可以指定是包含还是排除某些文档、账户、活动、案例、联系人、潜在客户、机会、解决方案、任务、群组、聊天者和自定义实体文件。

    注意

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

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

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

    注意

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

    注意

    映射到 _document_body 的索引是必需的。您无法更改 Salesforce ID 字段与 Amazon Kendra _document_id 字段之间的映射。您可以将任何 Salesforce 字段映射到文档标题或文档正文 Amazon reserved/default Kendra 索引字段。

    如果您将任意 Salesforce 字段映射到 Amazon Kendra 的文档标题和正文字段,Amazon Kendra 将在搜索结果中使用来自这些标题和正文字段的数据。

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

了解详情

要了解有关Amazon Kendra与您的 Salesforce 数据源集成的更多信息,请参阅:

注意

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