概览

借助 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 KMS 客户主密钥 (CMK) 进行签名和验证。为了保护静态数据,集成的 AWS 服务利用信封加密(其中数据密钥用于加密数据),而其本身通过存储在 AWS KMS 中的 CMK 进行加密。对于签名和验证,集成的 AWS 服务利用 AWS KMS 中非对称 CMK 的密钥对。有关集成的服务如何利用 AWS KMS 的更多详细信息,请参阅您的 AWS 服务的相关文档。

在您的 AWS 账户中可以创建两种类型的 CMK 资源:(i) 在需要时可以自动创建 AWS 托管的 CMK。您可以列示或清点 AWS 托管的 CMK,并在 AWS CloudTrail 中接收其使用记录,但资源的权限由创建以供其使用的 AWS 服务托管。(ii) 客户托管的 CMK 使您可以最大程度地控制密钥的权限和生命周期。

与 AWS KMS 集成的 AWS 服务
Alexa for Business* Amazon EMR Amazon Relational Database Service (RDS) AWS CodeArtifact
Amazon AppFlow Amazon Forecast Amazon Route 53 AWS CodeBuild
Amazon Athena Amazon Fraud Detector Amazon S3 AWS CodeCommit*
Amazon Aurora Amazon FSx for Windows File Server Amazon SageMaker AWS CodePipeline
Amazon CloudWatch Logs Amazon GuardDuty Amazon Simple Email Service (SES) AWS Database Migration Service
Amazon Comprehend Amazon Kendra Amazon Simple Notification Service (SNS) AWS Glue
Amazon Connect Amazon Kinesis Data Streams Amazon Simple Queue Service (SQS) AWS Glue DataBrew
Amazon Connect Customer Profiles Amazon Kinesis Firehose Amazon Textract AWS IoT SiteWise
Amazon DocumentDB Amazon Kinesis Video Streams Amazon Timestream AWS Lambda
Amazon DynamoDB Amazon Lex Amazon Transcribe AWS License Manager
Amazon DynamoDB Accelerator (DAX)* Amazon Lightsail* Amazon Translate AWS Secrets Manager
Amazon EBS Amazon Macie Amazon WorkMail AWS Snowball
Amazon EC2 Image Builder Amazon Managed Streaming for Kafka (MSK) Amazon WorkSpaces AWS Snowball Edge
Amazon EFS Amazon Managed Workflows for Apache Airflow (MWAA) AWS Audit Manager AWS Snowcone
Amazon Elastic Container Registry (ECR) Amazon Monitron AWS Backup AWS Snowmobile
Amazon Elastic Kubernetes Service (EKS) Amazon MQ AWS Certificate Manager* AWS Storage Gateway
Amazon Elastic Transcoder Amazon Neptune AWS Cloud9* AWS Systems Manager
Amazon ElastiCache Amazon Personalize AWS CloudHSM AWS X-Ray
Amazon Elasticsearch Amazon Redshift AWS CloudTrail  

 

*仅支持 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
详细了解产品定价信息

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

了解更多 
Sign up for a free account
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Standard Product Icons (Start Building) Squid Ink
开始在控制台中构建

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

登录