AWS Key Management Service
AWS Key Management Service
您可以通过 AWS Management Console 或者使用 AWS SDK 或 AWSAWS CLI 轻松创建、导入和轮换密钥,还可以定义使用策略并审计使用情况。
AWS KMS 中的 CMK,无论是由您导入还是由 KMS 代表您创建的,都以加密格式存储在高度持久的存储中,以帮助确保在需要时可以使用它们。您可以选择让 KMS 每年自动轮换一次在 KMS 中创建的 CMK,而无需重新加密已使用主密钥加密的数据。您不需要跟踪旧版本的 CMK,因为在需要自动解密以前加密的数据时,KMS 可以提供这些密钥。
对于 AWS KMS 中的任何 CMK,您可以通过许多访问控制(包括授予、密钥策略或 IAM 策略中的密钥策略条件)来控制谁有权访问这些密钥以及它们可用于哪些服务。您还可以从自己的密钥管理基础设施导入密钥,并在 KMS 中使用这些密钥。
例如,以下策略使用 kms:ViaService
条件,仅当请求来自代表特定用户(ExampleUser
)的特定区域(us-west-2)中的 Amazon EC2 或 Amazon RDS 时,才允许将客户托管的 CMK 用于指定的操作。
{ “Version”: “2012-10-17”, “Statement”: [ { “Effect”: “Allow”, “Principal”: { “AWS”: “arn:aws:iam::111122223333:user/ExampleUser” } “Action”: [ “kms:Encrypt*”, “kms:Decrypt”, ”kms:ReEncrypt*”, “kms:GenerateDataKey*”, “kms:CreateGrant”, “kms:ListGrants”, “kms:DescribeKey” ], “Resource”: “*”, “Condition”: { “ForAnyValue:StringEquals”: { “kms:ViaService”: [ “ec2.us-west-2.amazonaws.com”, “rds.us-west-2.amazonaws.com” ] } } }