对 Amazon EFS 使用 AWS KMS 密钥 - Amazon Elastic File System

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 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 对该密钥的访问权限,您的文件系统将变得无法访问。如果您没有备份,这可能会导致数据丢失。在更改加密密钥之前,请务必确保已创建正确的备份过程。