本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 Amazon EFS 使用 AWS KMS 密钥
Amazon EFS 与 AWS Key Management Service(AWS KMS)集成在一起以进行密钥管理。Amazon EFS 使用客户托管密钥通过以下方法加密您的文件系统:
-
静态加密元数据 – Amazon EFS 使用适用于 Amazon EF 的 AWS 托管式密钥
aws/elasticfilesystem来加密和解密文件系统元数据(即,文件名、目录名称和目录内容)。 -
静态加密文件数据 – 您选择用于加密和解密文件数据(即,文件内容)的客户托管文件。您可以启用、禁用或撤销对此客户托管密钥的授权。此客户托管密钥可以是以下两种类型之一:
-
适用于 Amazon EFS 的 AWS 托管式密钥 – 这是默认的客户托管密钥
aws/elasticfilesystem。您无需为创建和存储客户托管密钥支付费用,但需要支付使用费用。要了解更多信息,请参阅 AWS Key Management Service 定价。 -
客户托管式密钥 – 这是使用最灵活的 KMS 密钥,因为您可以配置其密钥策略以及为多个用户或服务提供授权。有关创建客户托管式密钥的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的创建密钥。
如果将客户托管式密钥用于数据加密和解密,您可以启用密钥轮换。在启用密钥轮换时,AWS KMS 自动每年轮换一次您的密钥。此外,对于客户托管式密钥,您还可以随时选择何时禁用、重新启用、删除或撤销对您的客管理式密钥的访问权限。有关更多信息,请参阅 对 Amazon EFS 使用 AWS KMS 密钥。
-
重要
Amazon EFS 仅接受对称的客户托管式密钥。您不能在 Amazon EFS 中使用非对称的客户托管式密钥。
静态数据加密和解密是透明处理的。但是,Amazon EFS 特定的 AWS 账户 ID 显示在与 AWS KMS 操作相关的 AWS CloudTrail 日志中。有关更多信息,请参阅 静态加密文件系统的 Amazon EFS 日志文件条目。
AWS KMS 的 Amazon EFS 密钥策略
密钥策略是控制对客户托管式密钥的访问的主要方式。有关密钥策略的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的 AWS KMS 中的密钥策略。以下列表描述了 Amazon EFS 对静态加密文件系统所需或以其他方式支持的所有 AWS KMS 相关权限:
-
kms:Encrypt –(可选)将明文加密为密文。该权限包含在默认密钥策略中。
-
kms:Decrypt –(必需)解密密文。密文是以前加密的明文。该权限包含在默认密钥策略中。
-
kms:ReEncrypt –(可选)使用新的客户托管式密钥加密服务器端的数据,而不公开客户端的数据明文。将先解密数据,然后重新加密。该权限包含在默认密钥策略中。
-
kms:GenerateDataKeyWithoutPlaintext –(必需)返回根据客户托管式密钥加密的数据加密密钥。该权限包含在默认密钥政策中的 kms:GenerateDataKey* 下面。
-
kms:CreateGrant –(必需)为密钥添加授权以指定哪些用户可以在什么条件下使用密钥。授权是密钥政策的替代权限机制。有关授权的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的 AWS KMS 中的授权。该权限包含在默认密钥策略中。
-
kms:DescribeKey –(必需)提供有关指定的客户托管式密钥的详细信息。该权限包含在默认密钥策略中。
-
kms:ListAliases –(可选)列出账户中的所有密钥别名。使用控制台创建加密的文件系统时,该权限将填充选择 KMS 密钥列表。我们建议您使用该权限以提供最佳的用户体验。该权限包含在默认密钥策略中。
适用于 Amazon EFS KMS 策略的 AWS 托管式密钥
适用于 Amazon EFS 的 AWS 托管式密钥 的 KMS 策略 JSON aws/elasticfilesystem 如下所示:
{ "Version": "2012-10-17", "Id": "auto-elasticfilesystem-1", "Statement": [ { "Sid": "Allow access to EFS for all principals in the account that are authorized to use EFS", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "elasticfilesystem.us-east-2.amazonaws.com", "kms:CallerAccount": "111122223333" } } }, { "Sid": "Allow direct access to key metadata to the account", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource": "*" } ] }
密钥状态及其影响
KMS 密钥的状态直接影响到对加密文件系统的访问:
- 已启用
-
正常操作 - 对文件系统具有完全读取和写入权限
- 已禁用
-
文件系统在短时间后变得无法访问。可以重新启用。
- 待删除
-
文件系统变得无法访问。在等待期间可以取消删除。
- 已删除
-
文件系统永久无法访问。此操作无法撤消。
警告
如果您禁用或删除用于文件系统的 KMS 密钥,或者撤销 Amazon EFS 对该密钥的访问权限,您的文件系统将变得无法访问。如果您没有备份,这可能会导致数据丢失。在更改加密密钥之前,请务必确保已创建正确的备份过程。