

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

# 计划信标
<a name="plan-searchable-encryption"></a>


****  

|  | 
| --- |
| 我们的客户端加密库已重命名为 AWS 数据库加密 SDK。本开发人员指南仍提供有关 [DynamoDB 加密客户端](legacy-dynamodb-encryption-client.md)的信息。 | 

信标旨在在未填充的新数据库中实现。在现有数据库中配置的任何信标将只会映射写入数据库的新记录。信标是根据字段的明文值计算出来的，一旦字段被加密，信标就无法映射现有数据。使用信标写入新记录后，您将无法更新信标的配置。但是，您可以为添加到记录中的新字段添加新信标。

要实现可搜索的加密，必须使用 [AWS KMS 分层密钥环](use-hierarchical-keyring.md)来生成、加密和解密用于保护记录的数据密钥。有关更多信息，请参阅 [使用分层密钥环进行可搜索加密](use-hierarchical-keyring.md#searchable-encryption-hierarchical-keyrings)。

在为可搜索加密配置[信标](searchable-encryption.md#beacon-definition)之前，您需要查看加密要求、数据库访问模式和威胁模型，以确定适合您的数据库的最佳解决方案。

您配置的[信标类型](beacons.md)决定了您可以执行的查询类型。您在标准信标配置中指定的[信标长度](choosing-beacon-length.md)决定了给定信标产生的预期误报数量。强烈建议您在配置信标之前确定并计划需要执行的查询类型。一旦您使用了信标，就无法更新配置。

强烈建议您在配置任何信标之前查看并完成以下任务。
+ [确定信标是否适合您的数据集](searchable-encryption.md#are-beacons-right-for-me)
+ [选择信标类型](choosing-beacon-type.md)
+ [选择信标长度](choosing-beacon-length.md)
+ [选择信标名称](choosing-beacon-name.md)

在为数据库计划可搜索的加密解决方案时，请记住以下信标唯一性要求。
+ **每个标准信标都必须具有唯一的[信标源](beacons.md#beacon-source)**

  不能通过同一个加密字段或虚拟字段构造多个标准信标。

  但是，单个标准信标却可用于构造多个复合信标。
+ **避免利用与现有标准信标重叠的源字段创建虚拟字段**

  通过包含用于创建另一个标准信标的源字段的虚拟字段构造标准信标会同时降低两个信标的安全性。

  有关更多信息，请参阅 [虚拟字段的安全考虑因素](configure-beacons.md#virtual-field-considerations)。

## 多租户数据库的考虑因素
<a name="planning-multitenant-beacons"></a>

要查询在多租户数据库中配置的信标，必须包含用于存储与在查询中加密记录的租户关联的 `branch-key-id` 的字段。在[定义信标密钥源](use-hierarchical-keyring.md#beacon-key-source)时定义此字段。要使查询成功，此字段中的值必须确定重新计算信标所需的相应信标密钥材料。

在配置信标之前，必须决定如何计划在查询中包含 `branch-key-id`。有关在查询中包含 `branch-key-id` 的不同方式的更多信息，请参阅 [查询多租户数据库中的信标](searchable-encryption-multitenant.md#query-multitenant-beacons)。