为什么AWS KMS不需要加密/解密数据密钥?

时间:2020-01-23 11:09:37

标签: amazon-web-services aws-kms

我正在从https://docs.aws.amazon.com/cli/latest/reference/kms/encrypt.htmlhttps://docs.aws.amazon.com/cli/latest/reference/kms/decrypt.html阅读AWS加密cli文档。我发现无需创建数据密钥就可以加密/解密。当我阅读https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html时,它说我需要使用KMS CMK生成用于加密我的数据的数据密钥。 所以我对于是否需要数据密钥感到困惑?

2 个答案:

答案 0 :(得分:1)

您可能使用由另一个使用KMS加密的AWS服务创建的默认CMK。

当然,所有加密和解密操作都需要一个密钥。如果您没有为应用程序显式创建一个,则您正在使用当前的默认密钥。

请确保您的AWS服务和资源使用KMS客户主密钥(CMK)而不是默认KMS密钥,以完全控制数据加密/解密过程并满足合规性要求。当未定义其他密钥来加密该服务的资源时,AWS服务(例如RDS,EBS,Lambda,Elastic Transcoder,Redshift,SES,SQS,CloudWatch,EFS,S3或Workspaces)将使用KMS默认主密钥。无法修改默认密钥以确保其可用性,持久性和安全性。另一方面,KMS客户主密钥(CMK)可以创建,旋转,禁用,启用和审核用于保护数据的加密密钥。

请参见https://www.cloudconformity.com/knowledge-base/aws/KMS/default-key-usage.html

答案 1 :(得分:0)

CMK用于加密/解密数据密钥。因此,在直接调用加密函数时可以加密的明文数量限制为4 KB。您可以通过传递大于4 KB的消息来轻松地对此进行测试。

这些操作旨在加密和解密数据密钥。他们在加密操作中使用AWS KMS客户主密钥(CMK),并且不能接受超过4 KB(4096字节)的数据。尽管您可以使用它们来加密少量数据,例如密码或RSA密钥,但它们并非旨在加密应用程序数据。