概览

借助 AWS Key Management Service (KMS),您可以集中控制用于保护数据的加密密钥。 该服务与其他 AWS 服务集成,让您能够轻松加密您在这些服务中存储的数据,并控制对用于解密此数据的密钥的访问。AWS KMS 与 AWS CloudTrail 集成,让您能够审核谁何时在哪些资源上使用了哪些密钥。AWS KMS 让开发人员能够直接或通过使用 AWS SDK 轻松在其应用程序代码中添加加密功能或数字签名功能。AWS Encryption SDK 支持使用 AWS KMS 作为那些需要在其应用程序本地加密/解密数据的开发人员的主密钥提供者。

集中式密钥管理

AWS KMS 让您可以对密钥的生命周期和权限进行集中控制。您可以随时创建新密钥,并且可以控制谁可以管理密钥以及谁可以使用它们。作为使用由 AWS KMS 生成的密钥的替代方法,您可以从自己的密钥管理基础设施中导入密钥,或者使用 AWS CloudHSM 集群中存储的密钥。您可以选择每年自动轮换一次 AWS KMS 中生成的主密钥,而无需重新加密之前加密的数据。该服务可自动使旧版本的主密钥保持可用,以便用于解密之前加密的数据。您可以管理主密钥并通过 AWS 管理控制台或使用 AWS 开发工具包或 AWS 命令行界面 (CLI) 审核其使用情况。

* 用于导入密钥的选项不适用于非对称密钥。

AWS 产品集成

AWS KMS 与大多数 AWS 服务无缝集成。这些集成使用信封加密,在此加密模式中,由 AWS 服务用来加密数据的数据加密密钥受 AWS KMS 中存储的客户主密钥 (CMK) 的保护。存在以下两种 CMK:(i) AWS 托管的 CMK,首次在 AWS 服务中创建加密资源时将自动创建此 CMK。您可以跟踪 AWS 托管的 CMK 的使用情况,但该密钥的生命周期和权限由您管理。(ii) 客户托管的 CMK,只有您可以创建此 CMK。使用客户托管的 CMK,您可以完全控制生命周期和权限,确定谁可以在哪些情况下使用密钥。

与 AWS KMS 集成的 AWS 服务
Alexa for Business* Amazon ElastiCache Amazon Personalize AWS CodeBuild
Amazon AppFlow Amazon Elasticsearch Amazon Redshift AWS CloudTrail
Amazon Athena Amazon EMR Amazon Relational Database Service (RDS) AWS CodeCommit*
Amazon Aurora Amazon Forecast Amazon S3 AWS CodeDeploy
Amazon CloudWatch Logs Amazon FSx for Windows File Server Amazon SageMaker AWS CodePipeline
Amazon Comprehend Amazon Glacier Amazon Simple Email Service (SES) AWS Database Migration Service
Amazon Connect Amazon Kendra Amazon Simple Notification Service (SNS) AWS Glue
Amazon DocumentDB Amazon Kinesis Data Streams Amazon Simple Queue Service (SQS) AWS Lambda
Amazon DynamoDB Accelerator (DAX)* Amazon Kinesis Firehose Amazon Transcribe AWS Secrets Manager
Amazon DynamoDB Amazon Kinesis Video Streams Amazon Translate AWS Snowball
Amazon EBS Amazon Lex Amazon WorkMail AWS Snowball Edge
Amazon EC2 Image Builder Amazon Lightsail* Amazon WorkSpaces AWS Snowmobile
Amazon EFS Amazon Managed Streaming for Kafka (MSK) AWS Backup AWS Storage Gateway
Amazon Elastic Kubernetes Service (EKS) Amazon MQ AWS Certificate Manager* AWS Systems Manager
Amazon Elastic Transcoder Amazon Neptune AWS Cloud9* AWS X-Ray

*仅支持 AWS 托管的 AWS KMS 密钥。

** 要查看由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国(宁夏)区域与 AWS KMS 集成的服务列表,请访问中国 AWS KMS 服务集成

上方没有列出的 AWS 服务将使用各自服务拥有且托管的密钥加密客户数据。

审计功能

如果您为 AWS 账户启用了 AWS CloudTrail,则您向 AWS KMS 发出的每个请求都会记录在日志文件中,该文件会被传送到您在启用 AWS CloudTrail 时指定的 Amazon S3 存储桶。记录的信息包括用户、时间、日期、API 操作和所用密钥(如果相关)的详细信息。

可扩展性、持久性和高可用性

AWS KMS 是完全托管的服务。随着加密使用量的增长,该服务会自动扩展以满足您的需求。借助它,您能够管理账户中数千个 CMK,并能够随时使用它们。它规定密钥数量和请求速率的默认限制,但是您可以在需要时请求提高这些限制。

不论是您创建的 CMK,还是其他 AWS 服务为您创建的 CMK,都无法从服务中导出。因此,AWS KMS 需要确保这些密钥永久可用。为了帮助您确保密钥和数据具有高可用性,AWS KMS 将密钥的多个加密版副本存储在设计持久性为 99.999999999% 的系统中。

如果您将密钥导入该服务,则可以保留安全版本的 CMK,这样一来,如果它们不可用,您可以在需要使用时重新导入它们。如果您使用自定义密钥存储功能在 AWS CloudHSM 集群中创建 CMK,则系统会自动备份密钥的加密副本,并且您可以对恢复流程实施完全控制。

AWS KMS 经过专门设计,是一项带有区域 API 终端节点的高可用性服务,大多数 AWS 服务都依靠它进行加密和解密,它的设计可提供一定级别的可用性,用于支持其他 AWS 服务,而且由 AWS KMS 服务等级协议提供支持。

安全

AWS KMS 旨在确保包括 AWS 员工在内的任何人都无法从该服务中检索您的纯文本密钥。该服务使用已经通过 FIPS 140-2 验证或正在进行验证的硬件安全模块 (HSM) 来保护密钥的机密性和完整性。无论您是请求 AWS KMS 代表您创建密钥、在 AWS CloudHSM 集群中创建密钥,还是将其导入服务,都是如此。您的纯文本密钥永远不会被写入磁盘中,只会在执行您请求的加密操作期间在 HSM 的易失性内存中使用它。AWS KMS 服务创建的密钥永远不会在创建密钥的 AWS 区域以外传输,并且只能在创建密钥的区域内使用。AWS KMS HSM 固件的更新由 Amazon 的内部独立小组以及符合 FIPS 140-2 规定的 NIST 认证的实验审计和审核的多方访问控件控制。

要详细了解有关 AWS KMS 的设计方式以及用于保护密钥的加密技术,请阅读《AWS Key Management Service 加密操作详解》白皮书

* 在由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国(宁夏)区域,该硬件安全模块经中国政府批准(未通过 FIPS 140-2 认证),而且上述加密操作详解白皮书不适用于。 

自定义密钥存储

AWS KMS 为您提供此选项,以使用您控制的 HSM 创建自己的密钥存储。每个自定义密钥存储都由 AWS CloudHSM 集群提供支持。当您在自定义密钥存储中创建 CMK 时,该服务会在您拥有并管理的 AWS CloudHSM 集群中为 CMK 生成并存储密钥材料。在自定义密钥存储中使用 CMK 时,该密钥下的加密操作将在 AWS CloudHSM 集群中执行。

自定义密钥存储中存储的 CMK 像任何其他 CMK 一样由您进行管理,并且可用于与 AWS KMS 集成的任何 AWS 服务。

使用自定义密钥存储时,会涉及 AWS CloudHSM 集群的其他费用,并且您应负责该集群中密钥材料的可用性。若想知道自定义密钥存储是否能够满足您的要求,请参阅此博客

* “自定义密钥存储”功能尚未在由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国(宁夏)区域推出。

** “自定义密钥存储”选项不适用于非对称 CMK。

非对称密钥

AWS KMS 为您提供创建和使用非对称 CMK 和数据密钥对的功能。您可以指定 CMK 以用作签名密钥对或加密密钥对。采用这些 CMK 进行的密钥对生成和非对称加密操作将在 HSM 内执行。您可以请求将非对称 CMK 的公共部分用于您的本地应用程序,而使私有部分始终不会退出该服务。

您还可以请求该服务生成非对称数据密钥对。此操作会返回公共密钥和私有密钥的明文副本,还会返回在您指定的对称 CMK 下加密的私有密钥的副本。您可以在本地应用程序中使用明文公共密钥或私有密钥,以及存储私有密钥的加密副本以供未来使用。

* 非对称密钥在由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国(宁夏)区域不可用。

** “自定义密钥存储”选项不支持非对称密钥。

合规性

AWS KMS 中的安全性和质量控制已经过以下合规性机制验证并获得了认证:

  • AWS 服务组织控制(SOC 1、SOC 2 及 SOC 3)报告。您可以从 AWS Artifact 下载这些报告的副本。
  • PCI DSS 第 1 级。如需详细了解 AWS 中符合 PCI DSS 规定的服务,请参阅 PCI DSS 常见问题
  • FIPS 140-2。AWS KMS 加密模块已经过 FIPS 140-2 2 级整体验证和 3 级的若干其他类别(其中包括物理安全性)验证,或正在进行此验证。有关更多信息,您可以查看适用于 AWS KMS HSM 的 FIPS 140-2 证书以及相关的安全策略
  • FedRAMP。如需详细了解 AWS FedRAMP 合规性信息,请参阅 FedRAMP 合规性
  • HIPAA。有关更多详细信息,请参阅 HIPAA 合规性页面。
 
下面是 AWS KMS 经过验证和认证的其他 合规性机制的列表。
 
* FIPS 140-2 不适用于中国地区的 AWS KMS。中国地区的硬件安全模块经中国政府批准可以投入使用。
Product-Page_Standard-Icons_01_Product-Features_SqInk
详细了解产品定价信息

查看定价示例并计算成本。

了解更多 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Product-Page_Standard-Icons_03_Start-Building_SqInk
开始在控制台中构建

在 AWS 控制台中使用 AWS Key Management Service 开始构建。

登录