0Pricing
AWS Security Academy · 课时

KMS 密钥是什么以及能做什么

了解客户管理的密钥、AWS 管理的密钥和自有密钥。

KMS 密钥是什么以及能做什么 是 CoddyKit 上的免费 AWS Security Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Security Academy 课程共包含 4 节课。

使用托管密钥的必要性

加密的强度取决于您保护密钥的方式。将密钥存储在代码或文件中存在风险,也难以审计。

AWS KMS(密钥管理服务)会在硬件安全模块中创建、存储和控制加密密钥,并将每次使用都关联到 IAM 权限和审计日志。

KMS 密钥是什么

KMS 密钥(以前称为 CMK,即客户主密钥)是 KMS 内部对加密密钥的逻辑表示。

  • 密钥材料始终以加密形式留在 KMS 内。
  • 您请求 KMS 执行加密或解密;原始密钥不会暴露给您。

这是 AWS 加密的基础。

客户托管密钥

客户托管密钥是由您创建并完全控制的 KMS 密钥。

  • 您可以设置密钥策略、启用或禁用密钥,并安排删除。
  • 您可以控制轮换和授权。

这类密钥每月收取少量费用,另加按请求计费,并提供最强的控制能力。

AWS 托管密钥

AWS 托管密钥由 AWS 服务代表您创建,名称类似于 aws/s3。

  • AWS 负责管理其策略和轮换。
  • 您无法更改其密钥策略,也无法直接删除它们。

这类密钥使用方便,但控制能力低于客户托管密钥。

AWS 所有的密钥

AWS 所有的密钥是 AWS 在多个账户之间使用的共享密钥池。

它们在您的账户中不可见、免费,并且完全由 AWS 管理。您无法查看、审计或控制这些密钥,因此它们适用于不需要查看密钥的场景。

加密和解密操作

您可以通过 Encrypt、Decrypt 和 GenerateDataKey 等 API 调用与 KMS 交互。

KMS 在服务器端执行加密运算并返回结果。直接加密仅限于较小的数据(最多约 4 KB);较大的数据会使用数据密钥,稍后将对此进行介绍。

aws kms encrypt \
  --key-id alias/my-app-key \
  --plaintext fileb://secret.txt \
  --output text

CloudTrail 集成

每次 KMS API 调用都会记录在 CloudTrail 中。

您可以获得完整的审计轨迹,了解谁在何时使用了哪个密钥执行什么操作。这使 KMS 既是控制点,也是责任追踪机制,对事件调查至关重要。

别名

别名是指向 KMS 密钥的易记名称,例如 alias/prod-db。

  • 应用程序引用别名,而不是密钥 ID。
  • 您可以将别名重新指向新密钥,而无需修改应用程序代码。

别名可以简化轮换和管理。

密钥状态

KMS 密钥会经历不同的状态:已启用、已禁用、等待删除,以及(对于导入的材料)等待导入。

禁用密钥会阻止其使用,但不会删除它。删除操作会安排一个等待期(7 到 30 天),这样如果仍需要相关数据,您可以取消删除,因为删除操作不可逆。

KMS 的作用

KMS 是几乎所有 AWS 加密功能背后的中央密钥管理机构:S3、EBS、RDS、Secrets Manager 等服务都会在底层调用 KMS。

了解密钥类型和控制方式非常重要,因为考试问题往往取决于谁管理某个密钥,以及谁可以使用该密钥。

选择密钥类型

请根据控制需求进行选择:

  • 需要完全控制、自定义策略或审计轮换时,选择客户托管密钥。
  • 需要便捷的服务加密时,选择AWS 托管密钥。
  • 完全不需要查看密钥时,选择AWS 所有的密钥。

快速检查

区分密钥类型。

回顾

您已经了解KMS 密钥是什么。

  • 密钥材料保留在 KMS 内;您调用 Encrypt/Decrypt。
  • 客户托管密钥提供完全控制;AWS 托管密钥由服务创建;AWS 所有的密钥不可见。
  • 别名、密钥状态和 CloudTrail 支持安全管理。

常见问题解答

「KMS 密钥是什么以及能做什么」课时是免费的吗?

是的 — 「KMS 密钥是什么以及能做什么」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 AWS Security Academy 课程共包含 4 节课。

「KMS 密钥是什么以及能做什么」这节课中我会学到什么?

了解客户管理的密钥、AWS 管理的密钥和自有密钥。 你通过在浏览器中直接运行的动手代码来练习 AWS Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AWS Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AWS Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「KMS 密钥是什么以及能做什么」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AWS Security Academy 课中编写并运行代码吗?

能。每节 AWS Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. KMS 密钥是什么以及能做什么
  2. 对称、非对称和多区域密钥
  3. 密钥策略、授权和条件
  4. 信封加密与数据密钥
← 返回 AWS Security Academy