

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

# Box
<a name="data-source-box"></a>

Box 是提供文件托管功能的云存储服务。您可以使用Amazon Kendra索引 Box 内容中的内容，包括评论、任务和网络链接。

您可以使用[Amazon Kendra控制台](https://console.aws.amazon.com/kendra/)和 [BoxConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BoxConfiguration.html)API 连接Amazon Kendra到 Box 数据源。

要对 Amazon Kendra Box 数据源连接器进行故障排除，请参阅[数据来源故障排除](troubleshooting-data-sources.md)。

**Topics**
+ [支持的功能](#supported-features-box)
+ [先决条件](#prerequisites-box)
+ [连接说明](#data-source-procedure-box)
+ [了解详情](#box-learn-more)
+ [注意](#box-notes)

## 支持的功能
<a name="supported-features-box"></a>

Amazon KendraBox 数据源连接器支持以下功能：
+ 字段映射
+ 用户访问控制
+ 包含/排除筛选条件
+ 更改日志、完整和增量内容同步
+ 虚拟私有云（VPC）

## 先决条件
<a name="prerequisites-box"></a>

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

**在 Box 中，请确保：**
+ 一个 Box Enterprise 或 Box Enterprise Plus 账户
+ 在 Box 开发人员控制台中创建了一个 Box 自定义应用程序，并将其配置为使用 JSON Web Tokens（JWT）进行服务器端身份验证。有关更多详细信息，请参阅[有关创建自定义应用程序的 Box 文档](https://developer.box.com/guides/applications/app-types/platform-apps/)和 [配置 JWT 身份验证的 Box 文档](https://developer.box.com/guides/authentication/jwt/)。
+ 将您的**应用程序访问权限级别**设置为 **应用程序 \$1 企业版访问程序**，并允许它**使用 as-user 标头进行 API 调用**。
+ 使用管理员用户在您的 Box 应用程序中添加以下**应用程序范围**：
  + 写入存储在 Box 中的所有文件和文件夹
  + 管理用户
  + 管理组
  + 管理企业版属性
+ 已配置的密 Public/Private 钥对，包括客户端 ID、客户机密、公钥 ID、私钥 ID、密码短语和企业 ID，用作您的身份验证凭证。有关更多详细信息，请参阅 [Public and private key pair](https://developer.box.com/guides/authentication/jwt/jwt-setup/#public-and-private-key-pair)。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。
+ 已从 Box 开发者控制台设置或 Box 应用程序中复制您的 Box 企业 ID。例如 *801234567*。
+ 在 Box 以及计划用于编制同一索引的其他数据来源中，已检查每个文档都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档对索引来说 IDs 是全局的，并且每个索引必须是唯一的。

**在你的AWS 账户，请确保你有：**
+ [已创建Amazon Kendra索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)，如果使用 API，则记下索引 ID。
+ 为您的数据源@@ [创建了一个IAM角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)，如果使用 API，请记下该角色的 ARN。IAM
**注意**  
如果您更改了身份验证类型和证书，则必须更新您的IAM角色才能访问正确的AWS Secrets Manager密钥 ID。
+ 将您的 Box 身份验证凭证存储在 AWS Secrets Manager 密钥中，如果使用 API，请记下密钥的 ARN。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。

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

## 连接说明
<a name="data-source-procedure-box"></a>

要连接Amazon Kendra到 Box 数据源，您必须提供 Box 数据源的必要详细信息，Amazon Kendra以便访问您的数据。如果您尚未为 Box 配置Amazon Kendra，请参阅[先决条件](#prerequisites-box)。

------
#### [ Console ]

**连接Amazon Kendra到 Box** 

1. 登录AWS 管理控制台并打开[Amazon Kendra控制台](https://console.aws.amazon.com/kendra/)。

1. 在左侧导航窗格中，选择**索引**，然后从索引列表中选择要使用的索引。
**注意**  
您可以选择在**索引设置**下配置或编辑您的**用户访问控制**设置。

1. 在**开始使用**页面上，选择**添加数据来源**。

1. 在**添加数据来源**页面上，选择 **Box 连接器**，然后选择**添加连接器**。如果使用版本 2（如果适用），请选择带有“V2.0”标签的 **Box 连接器**。

1. 在**指定数据来源详细信息**页面上，输入以下信息：

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

   1. （可选）**描述**：输入数据来源的描述信息。

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

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

   1. 选择**下一步**。

1. 在**定义访问权限和安全性**页面上，请输入以下信息：

   1. **Box 企业版 ID** - 输入您的 Box 企业版 ID。例如 *801234567*。

   1. **授权** - 如果您有访问控制列表（ACL）并想将其用于访问控制，请选择是开启还是关闭文档的 ACL 信息。ACL 用于指定用户和组可以访问哪些文档。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。

   1. AWS Secrets Managers@@ **ecret** —选择现有密钥或创建新Secrets Manager密钥来存储您的 Box 身份验证凭据。如果您选择创建新密钥，则会打开 AWS Secrets Manager 密钥窗口。

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

      1. 对于 “**客户端 ID**”、“**客户机密**”、“**公钥 ID****”、“私钥 ID**” 和 “**密码短语**”，请输入您在框中配置的 Public/Private 密钥中的值。

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

   1. **虚拟私有云（VPC）**- 您可以选择使用 VPC。如果是这样，则必须添加**子网**和 **VPC 安全组**。

   1. **身份爬网程序** – 指定是否激活 Amazon Kendra 的身份爬网程序。身份爬网程序使用文档的访问控制列表（ACL）信息，来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用您的 ACL，则也可以选择开启身份爬网程序来配置搜索结果Amazon Kendra的[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。否则，如果关闭身份爬网程序，则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭，则可以使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html)API 上传用户和群组访问信息以进行用户上下文筛选。

   1. **IAMro** le —选择现有IAM角色或创建新IAM角色来访问您的存储库凭据和索引内容。
**注意**  
IAM用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答，为了避免出错，请选择**创建新角色**。

   1. 选择**下一步**。

1. 在**配置同步设置**页面上，请输入以下信息：

   1. **Box 文件** – 选择是否爬取 Web 链接、评论和任务。

   1. 对于**其他配置** - 添加正则表达式模式以包含或排除某些内容。

   1. **同步模式** – 选择在数据来源内容发生变化时更新索引的方式。首次与同步数据源时，Amazon Kendra默认情况下会对所有内容进行抓取和索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。
      + 完整同步：每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
      + 修改过的新同步：每次数据源与索引同步时，仅为新增和修改过的内容编制索引。 Amazon Kendra可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。
      + 新增、修改、删除的同步：每次数据来源与索引同步时，仅为新增、修改和删除的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制，仅为自上次同步以来发生变化的内容编制索引。

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

   1. 选择**下一步**。

1. 在**设置字段映射**页面上，请输入以下信息：

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

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

   1. 选择**下一步**。

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

------
#### [ API ]

**连接Amazon Kendra到 Box**

您必须使用 [BoxConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BoxConfiguration.html)API 指定以下内容：

**Box 企业版 ID** - 输入您的 Box 企业版 ID。您可以在 Box 开发人员控制台设置中或在 Box 中配置应用程序时找到企业 ID。
+ **亚马逊秘密资源名称 (ARN)**-提供包含您的 Box 账户身份验证凭证的Secrets Manager密钥的亚马逊资源名称 (ARN)。密钥必须使用具有以下键的 JSON 结构存储：

  ```
  {
      "clientID": "client-id",
      "clientSecret": "client-secret",
      "publicKeyID": "public-key-id",
      "privateKey": "private-key",
      "passphrase": "pass-phrase"
  }
  ```
+ **IAMro** le —指定`RoleArn`何时调用`CreateDataSource`以向IAM角色提供访问您的Secrets Manager密钥的权限以及呼叫 Box 连接器 APIs 所需的公众的权限，以及Amazon Kendra。有关更多信息，请参阅 [Box 数据来源的 IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

您还可以添加以下可选功能：
+ **虚拟私有云（VPC）**- 在数据来源配置中指定 `VpcConfiguration`。请参阅[配置 Amazon Kendra 以使用 VPC](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)。
+  **更改日志** - Amazon Kendra 是否应使用 Box 数据来源更改日志机制来确定是否必须在索引中添加文档。
**注意**  
如果您不想让 Amazon Kendra 扫描所有文档，请使用更改日志。如果您的更改日志很大，则扫描 Box 数据源中的文档所花费的时间可能比处理更改日志所需的时间Amazon Kendra少。如果您是首次将 Box 数据来源与索引同步，则会扫描所有文档。
+  **评论、任务、Web 链接** – 指定是否爬取这些类型的内容。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+  **包含和排除筛选条件** - 指定是包含还是排除某些 Box 文件和文件夹。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+  **用户上下文筛选和访问控制** - 如果文档有 ACL，则 Amazon Kendra 会爬取文档的访问控制列表（ACL）。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)。
+  **字段映射** - 选择将 Box 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。
**注意**  
要搜索您的文档，必须输入文档正文字段或文档正文等效字段。Amazon Kendra您必须将数据来源中的文档正文字段名映射到索引字段名称 `_document_body`。其他所有字段均为可选字段。

------

## 了解详情
<a name="box-learn-more"></a>

要了解有关Amazon Kendra与 Box 数据源集成的更多信息，请参阅：
+ [Amazon KendraBox 连接器入门](https://aws.amazon.com/blogs/machine-learning/getting-started-with-the-amazon-kendra-box-connector/)

## 注意
<a name="box-notes"></a>
+ 启用访问控制列表 (ACLs) 后，由于 Box API 的限制，“仅同步新内容或修改内容” 选项不可用。我们建议改用 “完全同步” 或 “新建、修改或删除的内容同步” 模式，或者 ACLs 如果您需要使用此同步模式，则将其禁用。