AWS KMS - Amazon Elastic File System

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

AWS KMS

Amazon 与 AWS Key Management Service (AWS KMS) EFS 集成以进行密钥管理。Amazon EFS 使用客户管理的密钥通过以下方式加密您的文件系统:

  • 加密静态元数据-Amazon EFS 使用 for Amazon EFS 来加密和解密文件系统元数据(即文件名、目录名和目录内容)。 AWS 托管式密钥 aws/elasticfilesystem

  • 静态加密文件数据 – 您选择用于加密和解密文件数据(即,文件内容)的客户托管文件。您可以启用、禁用或撤销对此客户托管密钥的授权。此客户托管密钥可以是以下两种类型之一:

    • AWS 托管式密钥 适用于 Amazon EFS — 这是默认的客户托管密钥aws/elasticfilesystem。您无需为创建和存储客户托管密钥支付费用,但需要支付使用费用。要了解更多信息,请参阅 AWS Key Management Service 定价

    • 客户托管密钥 — 这是使用起来最灵活的KMS密钥,因为您可以为多个用户或服务配置其密钥策略和授权。有关创建客户托管密钥的更多信息,请参阅《 AWS Key Management Service 开发人员指南》中的创建密钥

      如果将客户托管式密钥用于数据加密和解密,您可以启用密钥轮换。启用密钥轮换后,每年 AWS KMS 自动轮换密钥一次。此外,对于客户托管式密钥,您还可以随时选择何时禁用、重新启用、删除或撤销对您的客管理式密钥的访问权限。有关更多信息,请参阅 管理对加密的文件系统的访问

重要

Amazon 仅EFS接受对称的客户托管密钥。您不能在 Amazon EFS 上使用非对称的客户托管密钥。

静态数据加密和解密是透明处理的。但是,Amazon IDs 特有的 AWS 账户EFS会显示在与 AWS KMS 操作相关的 AWS CloudTrail 日志中。有关更多信息,请参阅 文件系统的 Amazon EFS 日志 encrypted-at-rest文件条目

Amazon 的EFS密钥政策 AWS KMS

密钥策略是控制对客户托管式密钥的访问的主要方式。有关密钥策略的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的 AWS KMS中的密钥策略。以下列表描述了 Amazon EFS 对静态加密文件系统所需或以其他方式支持的所有 AWS KMS相关权限:

  • kms:Encrypt –(可选)将明文加密为加密文字。该权限包含在默认密钥策略中。

  • kms:Decrypt –(必需)解密密文。密文是以前加密的明文。该权限包含在默认密钥策略中。

  • kms: ReEncrypt —(可选)使用新的客户托管密钥加密服务器端的数据,而不会在客户端暴露数据的纯文本。将先解密数据,然后重新加密。该权限包含在默认密钥策略中。

  • kms: GenerateDataKeyWithoutPlaintext —(必填)返回使用客户托管密钥加密的数据加密密钥。此权限包含在 k ms: GenerateDataKey * 下的默认密钥策略中。

  • km CreateGrant s: —(必填)向密钥添加授权,以指定谁可以在什么条件下使用该密钥。授权是密钥政策的替代权限机制。有关授权的更多信息,请参阅《AWS Key Management Service 开发人员指南》中的使用授权。该权限包含在默认密钥策略中。

  • kms: DescribeKey —(必填)提供有关指定客户托管密钥的详细信息。该权限包含在默认密钥策略中。

  • km ListAliases s: —(可选)列出账户中的所有密钥别名。当您使用控制台创建加密文件系统时,此权限会填充选择KMS密钥列表。我们建议您使用该权限以提供最佳的用户体验。该权限包含在默认密钥策略中。

AWS 托管式密钥 for Amazon EFS KMS 政策

Amazon AWS 托管式密钥 EFS 的KMS政策JSONaws/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": "*" } ] }