

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

# AWS KMS 概念
<a name="concepts-intro"></a>

了解 AWS Key Management Service (AWS KMS) 中使用的基本术语和概念，以及它们如何协同工作以帮助保护您的数据。

## 简介 AWS KMS
<a name="intro"></a>

AWS Key Management Service (AWS KMS) 提供用于生成和管理加密密钥的 Web 界面，并充当保护数据的加密服务提供商。 AWS KMS 提供与服务集成的传统密钥管理 AWS 服务，通过集中管理和审计 AWS，提供一致的客户密钥视图。

AWS KMS 包括通过 AWS 管理控制台、命令行界面和 RESTful API 操作的 Web 界面，用于请求由经 FIPS 140-3 验证的硬件安全模块组成的分布式队列的加密操作（）。HSMs AWS KMS HSM 是一款多芯片独立硬件加密设备，旨在提供专用的加密功能，以满足安全性和可扩展性要求。 AWS KMS您可以在作为 AWS KMS keys管理的密钥下建立自己的基于 HSM 的加密层次结构。这些密钥仅在内存中可用， HSMs 并且仅在处理您的加密请求所需的必要时间内在内存中可用。您可以创建多个 KMS 密钥，每个密钥均由其密钥 ID 表示。只有在每个客户管理 AWS 的 IAM 角色和账户下，才能创建、删除客户托管的 KMS 密钥，或者用于加密、解密、签名或验证数据。您可以通过创建附加到密钥的策略来定义对谁可以管理 KMS 密钥的 and/or 使用进行访问控制。此类策略允许您为每个 API 操作定义特定于应用程序的用途。

此外，大多数 AWS 服务都支持使用 KMS 密钥对静态数据进行加密。此功能允许客户通过控制访问 KMS 密钥的方式和时间来控制 AWS 服务访问加密数据的方式和时间。

![\[AWS KMS 建筑。\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/images/kms-key-architecture-updated.png)


AWS KMS 是一项分层服务，由面向 Web AWS KMS 的主机和一层组成。 HSMs这些分层主机的分组构成了 AWS KMS 堆栈。对的所有请求都 AWS KMS 必须通过传输层安全协议 (TLS) 发出，并在 AWS KMS 主机上终止。 AWS KMS 主机仅允许使用提供完美[前向](http://dx.doi.org/10.6028/NIST.SP.800-52r2)保密性的密码套件进行 TLS。 AWS KMS 使用适用于所有其他 AWS API 操作的相同凭证和策略机制 AWS Identity and Access Management (IAM) 对您的请求进行身份验证和授权。

### AWS KMS 设计目标
<a name="design-goals"></a>

AWS KMS 旨在满足以下要求。

**持久性**  
加密密钥的耐久性旨在与中 AWS最高耐久性服务的耐久性相当。一个加密密钥可以加密长时间累积的大量数据。

**值得信赖**  
密钥的使用受您定义和管理的访问控制策略的保护。没有导出明文 KMS 密钥的机制。加密密钥的机密性至关重要。多名具有特定角色访问权限的基于法定人数的访问控制的 Amazon 员工需要对这些权限执行管理操作。 HSMs

**低延迟和高吞吐量**  
AWS KMS 提供延迟和吞吐量级别的加密操作，适合中 AWS其他服务使用。

**独立区域**  
AWS 为需要限制不同区域数据访问的客户提供独立区域。可以在 AWS 区域内隔离密钥使用。

**随机数的安全来源**  
由于强大的密码学依赖于真正不可预测的随机数生成，因此 AWS KMS 提供了高质量且经过验证的随机数来源。

**审核**  
AWS KMS 在 AWS CloudTrail 日志中记录加密密钥的使用和管理。您可以使用 AWS CloudTrail 日志来检查您的加密密钥的使用情况，包括 AWS 服务代表您使用密钥的情况。

为了实现这些目标，该 AWS KMS 系统包括一组管理 “域” 的 AWS KMS 运营商和服务主机运营商（统称为 “运营商”）。域是一组按区域定义的 AWS KMS 服务器 HSMs、和运营商。每个 AWS KMS 操作员都有一个硬件令牌，其中包含用于验证其操作的私钥和公钥对。它们 HSMs 还有一个额外的私钥和公钥对，用于建立保护 HSM 状态同步的加密密钥。