本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基本概念
学习一些基本术语和概念将帮助您充分利用 AWS Key Management Service。
- AWS KMS key
-
注意
AWS KMS 将术语客户主密钥 (CMK) 替换为 AWS KMS key 和 KMS 密钥。这一概念并未改变。为防止破坏性更改,AWS KMS 保留了此术语的一些变体。
表示密钥层次结构顶部的逻辑密钥。KMS 密钥将指定一个 Amazon Resource Name (ARN),其中包含唯一密钥标识符或密钥 ID。AWS KMS keys 有三种类型:
-
客户管理密钥 - 客户创建并控制客户管理密钥的生命周期和密钥策略。针对这些密钥发出的所有请求都被记录为 CloudTrail 事件。
-
AWS 托管式密钥 - AWS 创建并控制 AWS 托管式密钥 的生命周期和密钥策略,这些是客户 AWS 账户 中的资源。客户可以查看这些密钥的访问策略和 CloudTrail 事件AWS 托管式密钥,但无法管理这些密钥的任何方面。针对这些密钥发出的所有请求都被记录为 CloudTrail 事件。
-
AWS 拥有的密钥 - 这些密钥由 AWS 创建并专门用于跨不同 AWS 服务的内部加密操作。客户无法查看中的关键策略或AWS 拥有的密钥使用情况 CloudTrail。
-
- 别名
-
与 KMS 密钥相关联的用户易记名称。在许多 AWS KMS API 操作中,别名可以与密钥 ID 互换使用。
- 权限
-
附加到 KMS 密钥的策略,用于定义密钥的权限。原定设置策略允许您定义的任何委托人,以及允许 AWS 账户 添加引用密钥的 IAM 策略。
- 授权
-
一开始不知道预期 IAM 委托人或使用持续时间,因此无法添加到密钥或 IAM 策略时,使用 KMS 密钥的委托权限。授权的用途之一是定义 AWS 服务如何使用 KMS 密钥的范围缩小的权限。如果您没有直接签名的 API 调用,该服务可能需要使用您的密钥代表您对加密数据执行异步工作。
- 数据密钥
-
在 HSM 上生成的加密密钥,受 KMS 密钥保护。AWS KMS 允许授权实体获取受 KMS 密钥保护的数据密钥。这些密钥可以作为明文(未加密)数据密钥和加密数据密钥返回。数据密钥可以是对称的,也可以是非对称的(返回公有部分和私有部分)。
- 密文
-
AWS KMS 的加密输出,有时称为客户密文以消除混淆。密文包含带有附加信息的加密数据,这些信息标识要在解密过程中使用的 KMS 密钥。加密数据密钥是使用 KMS 密钥时生成的密文的一个常见示例,但大小小于 4 KB 的任何数据都可以在 KMS 密钥下加密以生成密文。
- 加密上下文
-
与 AWS KMS 保护信息关联的其他信息的键值对映射。AWS KMS 使用经过身份验证的加密来保护数据密钥。加密上下文将合并到 AWS KMS 加密密文中经身份验证的加密的 AAD 中。此上下文信息是可选的,在请求密钥(或加密操作)时不会返回。但如果使用,则需要此上下文值才能成功完成解密操作。加密上下文的预期用途是提供额外的经身份验证信息。这些信息可以帮助您强制执行策略并将其包含在AWS CloudTrail 日志中。例如,您可以使用 {"key name":"satellite uplink key"} 键值对来命名数据密钥。随后使用密钥将创建一个 AWS CloudTrail 条目,其中包含 “key name”: “satellite uplink key”。此附加信息可提供有用的上下文,以了解使用指定 KMS 密钥的原因。
- 公有密钥
-
使用非对称密码(RSA 或椭圆曲线)时,公有密钥是公有-私有密钥对的“公有组成部分”。加密详细信息介绍公有密钥可以共享并分发给需要为公有-私有密钥对拥有者加密数据的实体。对于数字签名操作,公有密钥用于验证签名。
- 私有密钥
-
使用非对称密码(RSA 或椭圆曲线)时,私有密钥是公有-私有密钥对的“私有组成部分”。私有密钥用于解密数据或创建数字签名。与对称 KMS 密钥类似,私有密钥在 HSM 中进行加密。这些密钥仅在 HSM 的短期存储中解密,并且仅在处理加密请求所需的时间内解密。