Elastic Blog

Bring your own key to existing Elastic Cloud deployments

6.9内容质量

TL;DR · AI 摘要

BYOK for existing Elastic Cloud deployments is now GA Elastic Blog Bring your own key to existing Elastic Cloud deployme...

核心要点

  • 主题聚焦:Bring your own key to existing Elastic Cloud dep
  • 来源:Elastic Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#后端#云计算#安全#产品
打开原文

BYOK for existing Elastic Cloud deployments is now GA | Elastic Blog

为现有 Elastic Cloud 部署启用 BYOK

无需重新创建部署,即可直接向正在运行的部署添加客户管理的加密密钥。

作者: Alex Chalkias 2026年10月1日

Elastic Cloud Hosted 现已正式推出为现有部署提供 BYOK(Bring Your Own Key)功能。您可以通过 Elastic Cloud 控制台或 API,向已运行的部署添加客户管理的加密密钥,且部署在过程中始终保持可访问性。此前,密钥只能在部署创建时设置,这导致密钥管理需求的延迟出现时必须进行部署迁移。

在本系列的早期文章中,我们介绍了静态加密的基础概念,并演示了如何通过 AWS KMS、Azure Key Vault 和 Google Cloud KMS 将 BYOK 应用于新部署。此前的范围仅限于新部署。现在我们已扩展范围,通过包含现有部署来提升可用性。本文将介绍发生了哪些变化、原地迁移如何运作,以及在对生产部署进行加密前需要考虑的因素。

为何此前 BYOK 需要重新创建部署

对于拥有大规模现有业务且合规要求明确指定密钥持有者及撤销速度的组织来说,客户管理密钥尤为重要。金融服务和公共部门是最典型的例子。

这些组织也恰恰是“重新创建部署”这一操作的主要障碍所在。虽然该方法可行,且许多客户确实采用过,但这种方式将安全决策转化为迁移操作,需要重新指向新端点并协调切换。

因此,BYOK 虽然有效,但影响范围有限。

如何在现有部署中启用 BYOK

您现在可以向正在运行的 Elastic Cloud Hosted 部署启用 BYOK。Elastic Cloud 会应用一个计划变更,将每个实例替换为加密实例,在旧实例被移除前,通过原生 Elasticsearch 分片分配将数据迁移过去。在重新加密过程中,部署始终保持可访问性。该机制与任何其他配置变更的计划变更机制相同,因此无需单独预约维护窗口。

新部署支持的所有密钥管理服务(AWS KMS、Azure Key Vault 和 Google Cloud KMS)在此同样适用。一旦迁移完成,部署的行为将与从第一天起就使用 BYOK 创建的部署完全一致。您在 KMS 中执行的密钥轮换将自动被识别,而密钥撤销仍然是您的“破窗控制”手段。撤销密钥后,Elastic Cloud 最多在 30 分钟内会锁定部署的数据目录。锁定期间,部署保留所有数据,但既不可读也不可写。在 KMS 中恢复密钥访问权限后,部署将重新上线。如果密钥访问权限从未恢复,数据将如预期般被加密粉碎。

迁移完成后,部署的已发现快照仓库将指向一个使用您密钥加密的新存储桶,此后所有快照都将存储到该位置。迁移前创建的快照仍保留在原始存储桶中,并且无法通过该仓库访问。该存储桶后续是否保留或被回收取决于您的数据层级,但无论如何您的快照历史记录都将重新开始。在开始操作前请仔细阅读以下注意事项。

前提条件

  • 您在云服务商KMS中控制的密钥,已配置允许Elastic Cloud使用的访问策略。本系列早期博客已逐步说明如何为AWS KMS、Azure Key Vault和Google Cloud KMS完成此步骤。现有部署的密钥创建流程不会发生变化。
  • 企业订阅资格——与新部署的BYOK功能适用资格相同。如果您的部署未显示此选项,请联系Elastic Support。
  • 与部署相同云服务商的密钥,需在部署运行的所有区域均可访问。AWS部署需要AWS KMS密钥,Azure部署需要Azure Key Vault密钥,Google Cloud部署需要部署所在区域单区域密钥环中的Cloud KMS密钥。多区域密钥环将被拒绝。
  • 不存在将found-snapshots指定为冷数据或冻结阶段快照仓库的索引生命周期管理策略。如果存在此类策略,迁移将在开始前被拒绝,由于found-snapshots是所有Elastic Cloud托管集群默认获得的仓库,这可能会影响比预期更多的部署。该检查直接读取策略本身而非使用策略的索引,因此即使策略未被使用仍会阻止操作。运行GET _ilm/policy并检查phases.cold.actions.searchable_snapshot.snapshot_repository或冻结阶段对应字段,即可确认当前状态。

使用您的密钥加密现有部署

密钥准备就绪后,迁移过程在Elastic Cloud控制台包含三个步骤:

  • 前往部署的"安全"页面。
  • 在"静态数据加密"部分,选择"管理加密密钥"。
  • 输入您的密钥标识符(AWS使用ARN,Azure使用密钥标识符,Google Cloud使用资源ID),然后保存更改。

部署安全页面的静态数据加密部分及弹出窗口 管理客户密钥弹出窗口的密钥标识符字段

Elastic Cloud随后将应用更改计划以加密您的数据和快照。部署的"概览"页面会实时跟踪进度,显示已重新加密的实例数量,每个实例完成时会标记"已加密"状态。如果需要查看底层操作步骤,横幅会链接到"活动"页面。

概览页面显示"配置更改进行中"横幅及每个实例的重新加密进度

您也可以通过Elastic Cloud API完成此操作,这对于批量部署BYOK更为推荐。现有部署使用专用端点POST /api/v1/deployments/{deployment_id}/byok-migration,请求体中包含您的密钥标识符。产品文档详细说明了所需角色、返回的错误信息以及如何轮询完成状态。

一旦在部署上设置了客户管理密钥,就无法对其进行编辑或删除。这一规则适用于所有BYOK部署,无论该部署是否使用密钥创建或是否已切换到密钥。密钥的更改或删除功能将在未来的版本中提供。

开始前的注意事项

  • 请在配置了高可用性的部署上执行此操作,这意味着部署需要在两个或多个可用区中配置副本。虽然高可用性不是强制要求,但迁移过程会在加密替换实例接管后移除原始实例,因此在没有副本的部署中,每个分片在迁移期间仅存在一个副本。对于单可用区部署,唯一的Elasticsearch节点(同时也是选举出的主节点)也需要被替换,因此可能会出现短暂的中断。
  • 快照历史记录不会保留。迁移完成后,found-snapshots将指向新的加密存储桶,而迁移前的快照将无法通过该存储库访问。迁移计划会在最后一步自动在加密存储桶上创建新的快照,因此您无需手动创建。如果您有依赖迁移前快照的保留或合规要求,请在开始前处理这些事项,因为这是无法在后续步骤中撤销的。
  • 首先在较小的部署上尝试此过程,并确认集群健康后再处理任何关键业务内容。
  • 让加密过程完整运行。中途取消更改会导致部署部分加密,您需要联系Elastic Support来完成剩余步骤。
  • 预计大型部署需要较长时间,可能需要数小时甚至超过一整天,尤其是数据量超过约1 TB时。
  • 在云服务提供商账户中预留数据传输费用预算。对于Elasticsearch 8.x及更高版本的部署,这些费用预计会较低。

验证与故障排除

您可以在部署的“安全”页面上确认加密状态。在“静态加密”下选择“管理加密密钥”,您的密钥标识符应显示在列表中。

如果部署因Elastic Cloud无法访问您的密钥而变得不可用,早期博客中提到的故障排除步骤仍然适用。恢复密钥或其访问策略后,部署将恢复运行。

在部署上开始使用BYOK

BYOK不再是初始决策。如果您拥有Enterprise订阅的Elastic Cloud托管部署,现在可以立即使用自己的密钥进行加密,无需重新创建任何内容。

从部署的“安全”页面开始,查看产品文档以获取完整详细信息。如果您是首次设置密钥,本系列早期博客详细介绍了AWS KMS、Azure Key Vault和Google Cloud KMS的端到端配置方法。

常见问题

我可以在现有的Elastic Cloud部署上启用BYOK吗?可以。您可以通过部署的“安全”页面或Elastic Cloud API,将客户管理的加密密钥添加到正在运行的Elastic Cloud托管部署中。此前,BYOK只能在创建新部署时配置。该功能现已全面开放,需要Enterprise订阅。

在现有部署上启用BYOK会导致停机吗?在重新加密过程中,您的部署始终保持可访问性。Elastic Cloud 会逐一替换每个实例,在移除原始实例前,会先将数据迁移至加密的替代实例,因此即使该过程可能持续数小时或数天,也不会出现大规模中断。在高可用性配置的部署上运行此操作:对于单可用区部署,唯一需要替换的是 Elasticsearch 节点,因此可能会出现短暂中断。

支持哪些密钥管理服务?AWS KMS、Azure Key Vault 和 Google Cloud KMS。KMS 必须与部署运行的云提供商匹配,且密钥必须在部署使用的每个区域中可用。例如,AWS 托管部署需要使用 AWS KMS 密钥。

启用 BYOK 后现有快照会发生什么?新快照将使用您的密钥进行加密。现有快照不会被转移:转换完成后,found-snapshots 会指向新的加密存储桶,而转换前的快照将不再通过该存储库访问。计划在完成时自动将新的快照上传到加密存储桶。如果您对迁移前的快照有保留或合规要求,请在开始前处理这些要求。

之后能否更改或删除客户管理的密钥?目前尚不支持。一旦在部署上设置了客户管理密钥,就无法对其进行编辑或删除,无论该部署是创建时就配置了密钥还是后来转换为使用密钥。KMS 内的密钥轮换功能完全受支持。切换到其他密钥的功能计划在未来的版本中提供。

本文中描述的任何功能或功能的发布时间和时机均由 Elastic 单独决定。任何当前不可用的功能可能无法按时交付,甚至可能不会交付。

分享

/share