AWS Key Management Service 中的故障恢复能力 - AWS Key Management Service

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

AWS Key Management Service 中的故障恢复能力

AWS全球基础设施围绕AWS 区域和可用区构建。AWS 区域提供多个在物理上独立且隔离的可用区,这些可用区通过延迟低、吞吐量高且冗余性高的网络连接在一起。利用可用区,您可以设计和操作在可用区之间无中断地自动实现失效转移的应用程序和数据库。与传统的单个或多个数据中心基础架构相比,可用区具有更高的可用性、容错性和可扩展性。

除了 AWS 全球基础设施之外,AWS KMS 还提供了多种功能,以帮助支持您的数据弹性和备份需求。有关 AWS 区域 和可用区的更多信息,请参阅 AWS 全球基础设施

区域隔离

AWS Key Management Service(AWS KMS)是一种可自我维持的区域性服务,在所有 AWS 区域开放。AWS KMS 采用区域隔离设计,可确保任何一个 AWS 区域的可用性问题不会影响在任何其他区域的 AWS KMS 操作。AWS KMS 的设计目标是确保零计划停机时间,所有软件更新和扩缩操作都将在不知不觉中无缝执行。

AWS KMS 服务水平协议(SLA)为所有 KMS API 均提供 99.999% 的服务承诺。为履行这一承诺,AWS KMS 会确保执行 API 请求所需的所有数据和授权信息在接收该请求的所有区域主机上都可用。

AWS KMS 基础设施会在每个区域的至少三个可用区(AZ)中复制。为确保多个主机故障不会影响 AWS KMS 性能,AWS KMS 旨在服务于来自区域中任何 AZ 的客户流量。

您对 KMS 密钥属性或权限所做的更改将复制到该区域中的所有主机,以确保该区域中的任何主机都能正确处理后续请求。有关使用 KMS 密钥的加密操作请求将会转发给某个 AWS KMS 硬件安全模块(HSM)队列,其中任何一个模块都可以使用 KMS 密钥执行操作。

多租户设计

AWS KMS 的多租户设计使其能够达到 99.999% 的可用性 SLA,并保持较高的请求率,同时保护密钥和数据的保密性。

通过部署多个完整性控制执行机制,以确保实际用于执行加密操作的 KMS 密钥始终是您为该操作指定的密钥。

KMS 密钥的明文密钥材料受到全面保护。密钥材料在创建后将立即在 HSM 中加密,并且加密后的密钥材料会立即移动到安全、低延迟的存储中。加密后的密钥仅在使用时才在 HSM 中检索和解密。明文密钥仅在完成加密操作所需的时间内驻留在 HSM 内存中。然后会在 HSM 中重新加密,并将加密后的密钥退回存储。明文密钥材料永远不会离开 HSM;并且永远不会写入持久性存储。

AWS KMS 中的弹性最佳实践

为了优化 AWS KMS 资源的弹性,请考虑以下策略。

  • 要支持备份和灾难恢复策略,请考虑使用多区域密钥,这是指在一个 AWS 区域中创建并且仅复制到您指定区域的 KMS 密钥。借助多区域密钥,您可以在 AWS 区域之间(在同一个分区内)移动加密资源而永远不会暴露密钥明文,并且可根据需要在其中的任何一个任何目标区域解密该资源。相关的多区域密钥是可互操作的,因为它们共享相同的密钥材料和密钥 ID,但使用独立的密钥策略以实现高精度访问控制。有关详细信息,请参阅 AWS KMS 中的多区域密钥

  • 要保护 AWS KMS 等多租户服务中的密钥,请务必使用访问控制,包括密钥策略IAM policy。此外,您可以使用 AWS PrivateLink 支持的 VPC 接口端点将请求发送至 AWS KMS。执行此操作时,您的 Amazon VPC 和 AWS KMS 之间的所有通信将完全位于 AWS 网络内,使用您的 VPC 限定使用的专用 AWS KMS 端点进行。您可以使用 VPC 端点策略创建额外的授权层,从而进一步保护这些请求的安全。有关详细信息,请参阅通过 VPC 端点连接到 AWS KMS