企业文化

  • 首页 企业文化 选择正确类型的 AWS KMS 密钥以加密 Amazon RDS 和 Aurora 全球数据库 数据

选择正确类型的 AWS KMS 密钥以加密 Amazon RDS 和 Aurora 全球数据库 数据

2026-01-27 14:49:35
13

选择适合的 AWS KMS 密钥以加密 Amazon RDS 和 Aurora 全球数据库

关键要点

AWS KMS 提供了多种类型的密钥来保护 Amazon RDS 和 Aurora 资源,用户需根据需求选择合适的密钥类型。单区域密钥和多区域密钥各有优缺点,影响加密与解密操作的灵活性。使用 AWS KMS 可以确保数据加密符合合规要求,且可管理性强。

安全在任何组织中都是头等大事。Amazon 关系数据库服务 Amazon RDS使得在 AWS 云中设置、运行和扩展关系数据库变得简单。它为行业标准关系数据库提供了具有成本效益的可调整容量,并管理常见的数据库管理任务。Amazon Aurora 是一种完全托管的与 MySQL 和 PostgreSQL 兼容的关系数据库引擎。RDS 和 Aurora 都支持静态加密,以保护数据库实例、自动备份、只读副本和快照,包括多区域部署的情况。

本文将探讨在选择 Amazon RDS 和Aurora 全球数据库部署时,单区域和多区域AWS Key Management ServiceAWS KMS密钥之间的重要差异和考虑因素。

Aurora 全球数据库 是 Aurora 的一项功能,让您可以创建一个覆盖多个区域的全球分布式数据库。这为用户构建高可用和抗灾应用程序提供了多种好处。

AWS Key Management ServiceAWS KMS允许您创建和控制用于保护数据的加密密钥。Aurora 加密的数据库集群使用行业标准的 AES256 加密算法在托管 Aurora DB 集群的服务器上加密数据。数据加密后,Aurora 会透明地处理访问认证和数据解密,并对性能影响最小。您无需修改数据库客户端应用程序即可使用加密功能。AWS KMS 还提供不同类型的密钥,以加密Amazon 关系数据库服务Amazon RDS和Aurora 数据库环境中的数据。用户可以权衡利用单区域或多区域密钥在 Aurora 和 Amazon RDS 平台包括全球数据库和跨区域只读副本中的优势和特定场景。

AWS KMS

AWS KMS 提供了一种安全的方式来管理加密密钥,确保只有授权用户能够访问解密数据所需的密钥。使用 AWS KMS 的一些好处包括:

优点描述合规性AWS KMS 使您能够遵循各种数据加密和密钥管理的合规要求集成AWS KMS 与其他 AWS 服务如Amazon 简单存储服务集成,以提供存储在这些服务中的数据加密易用性AWS KMS 提供了一个简单易用的界面,用于创建和管理加密密钥审计AWS KMS 提供所有密钥管理活动的审计跟踪,允许用户追踪何时以及由谁访问了密钥集中控制AWS KMS 允许您集中管理和控制所有加密密钥,便于按需轮换密钥或撤销访问权限

AWS KMS 有三种类型的 KMS 密钥:

客户管理密钥AWS 管理密钥AWS 拥有密钥

在 RDS/Aurora 中,您可以使用客户管理密钥或 AWS 管理密钥进行静态加密。对于加密的 Amazon RDS/Aurora 数据库实例,所有日志、备份和快照都会被加密。Amazon RDS/Aurora 使用 AWS KMS 密钥来加密这些资源。有关 KMS 密钥的更多信息,请参阅 AWS KMS 密钥 文档。如果您复制一个加密快照,可以使用相同或不同的 KMS 密钥来加密目标快照。

Amazon RDS 加密实例的只读副本在与主数据库实例处于同一 AWS 区域时,必须使用相同的 KMS 密钥进行加密。如果主数据库实例和只读副本位于不同的 AWS 区域,则需要使用该 AWS 区域的 KMS 密钥来加密只读副本。

让我们关注这些密钥在 RDS/Aurora 环境中的重要差异以及它们的工作原理。

客户管理密钥

您创建的 KMS 密钥被称为客户管理密钥。客户管理密钥是您在 AWS 账户中创建、拥有并管理的 KMS 密钥。您对这些 KMS 密钥拥有完全控制权,包括设定和维护其密钥策略、IAM 策略和权限,启用和禁用它们,轮换其加密材料,添加标签,创建别名以引用 KMS 密钥,以及安排 KMS 密钥的删除。

多区域与单区域密钥的比较

AWS KMS 首次推出时,密钥、策略或审计信息在不同区域之间没有共享,这种区域隔离可以帮助满足安全标准和数据驻留要求。然而,不能在区域间共享密钥可能会在依赖这些密钥的数据需要跨区域迁移时带来挑战。为了解决这个问题,使用 KMS 密钥进行服务器端加密的 AWS 服务会在用户的帮助下透明地重新加密数据,使用目标区域中的指定 KMS 密钥。使用客户端加密则为在区域隔离的 KMS 密钥之间的重新加密增加了额外的复杂性和延迟。

多区域密钥是 AWS KMS 为客户端应用程序推出的新功能,使得 AWS KMS 加密的密文可以在不同区域之间移植。多区域密钥是一组可互操作的 KMS 密钥,具有相同的密钥 ID和密钥材料,可以在相同AWS 分区内复制到不同区域。使用对称多区域密钥时,可以在一个区域加密数据,而在另一个区域解密;使用非对称多区域密钥时,可以在多个区域进行加密、解密、签名和验证消息。

您可以选择使用单区域密钥该密钥永远不会被复制到其他区域或多区域密钥该密钥可以被复制到其他区域。这类密钥应在您开始使用它们前就创建。当您创建 RDS/Aurora 全球数据库时,可以从您账户中的 KMS 密钥中选择,或输入来自不同账户的密钥的 Amazon Resource Name (ARN)。

选择正确类型的 AWS KMS 密钥以加密 Amazon RDS 和 Aurora 全球数据库 数据

截至目前,与 AWS KMS 集成 以进行静态加密或数字签名的 AWS 服务,当前将多区域密钥视为单区域密钥。它们可能会重新包装在区域之间移动的数据。

多区域密钥并非全球性的。您创建一个多区域主密钥,并将其复制到您选定的各个区域内。然后您在每个区域单独管理多区域密钥。AWS 或 AWS KMS 从不自动为您创建或复制多区域密钥。对于客户管理的多区域密钥,AWS 会在密钥轮换时通过将加密信息复制到另一个区域来为您管理密钥轮换。共享属性是多区域主密钥与其复制键共享的属性。所有其他属性都是独立的,诸如描述、密钥策略、权限、启用和禁用密钥状态、别名以及标签。您可以在所有相关的多区域密钥上设置相同的值,但如果您更改独立属性的值,AWS KMS 不会进行同步。

您必须独立管理每个多区域密钥,包括创建别名和标签,设置其密钥策略和权限,以及根据需要选择性启用和禁用。您可以在所有您可以用单区域密钥进行的加密操作中使用多区域密钥。

如果您计划在特定区域使用客户端加密库,尤其是对于主/主多区域读/写解决方案,请勿使用单区域密钥。

定价和配额

每个相关多区域密钥集合中的密钥均计为一个 KMS 密钥,涉及定价和配额。AWS KMS 配额是为每个账户的每个区域单独计算的。每个区域中多区域密钥的使用和管理计入该区域的配额。

多区域和单区域客户管理密钥的存储费为每个密钥每月 1按小时分成,并且对这些密钥的API 使用还收取费用。

AWS 管理密钥

AWS 管理密钥是每个服务的单区域密钥。当未定义其他密钥时,默认主密钥保护您的 RDS 或 Aurora 数据库卷。在使用 Aurora 全球数据库时,辅助区域会创建并维护不同的密钥。

AWS 管理密钥没有月费,但会对API 使用收取费用某些 AWS 服务会为您支付该费用。

AWS 管理密钥每年自动轮换一次。

总结

在本文中,您了解了加密 Amazon RDS 和 Aurora 全球数据库时不同类型的 AWS KMS 密钥。对于大多数数据安全需求,区域隔离和区域资源的容错性使得标准 KMS 单区域密钥成为最佳解决方案。然而,当您需要在跨多个区域的客户端应用程序中加密或签名数据时,多区域密钥可能是合适的解决方案。如有任何问题或意见,请在评论区留言。

关于作者

Siva Subramaniam 是 AWS 的高级解决方案架构师,在技术领导、应用程序和数据库设计方面拥有 20 年的 IT 经验。他为客户在 Amazon Web Services 上部署、迁移数据库提供了支持,并致力于创新定制数据库。Siva 喜欢和朋友及儿子一起打板球,从事农业和农场活动,以及向妻子学习烹饪。

一元机场.cn官网

Robert Daly 是 AWS 的高级数据库专家解决方案架构师,专注于 Amazon RDS、Amazon Aurora 和 AWS DMS。他帮助多家企业客户将数据库迁移到 AWS,并提供性能和最佳实践方面的支持。Robert 喜欢帮助客户建立解决商业问题的技术解决方案。

数字化转型:为什么、谁、如何和什么

数字化转型的意义及其实施 第一部分:“为何”作者:Tom Godden 和 Gene Shadrin,2022年12月7日,发表于企业战略关键要点数字化转型:利用数字技术从根本上改变组织的运营及其为客户提供的价值。市场需求:COVID19加速了各组织在数字化转型方面的行动,85的CEO表示加快了数字...