本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EFS 与 AWS Key Management Service (AWS KMS) 集成,用于密钥管理。Amazon EFS 使用客户托管密钥通过以下方法加密您的文件系统:
-
静态加密元数据 – Amazon EFS 使用适用于 Amazon EF 的 AWS 托管式密钥
aws/elasticfilesystem
来加密和解密文件系统元数据(即,文件名、目录名称和目录内容)。 -
静态加密文件数据 – 您选择用于加密和解密文件数据(即,文件内容)的客户托管文件。您可以启用、禁用或撤销对此客户托管密钥的授权。此客户托管密钥可以是以下两种类型之一:
-
AWS 托管式密钥 适用于 Amazon EFS — 这是默认的客户托管密钥
aws/elasticfilesystem
。您无需为创建和存储客户托管密钥支付费用,但需要支付使用费用。要了解更多信息,请参阅 AWS Key Management Service 定价。 -
客户托管式密钥 – 这是使用最灵活的 KMS 密钥,因为您可以配置其密钥策略以及为多个用户或服务提供授权。有关创建客户托管密钥的更多信息,请参阅 AWS Key Management Service 开发人员指南中的创建密钥。
如果将客户托管式密钥用于数据加密和解密,您可以启用密钥轮换。启用密钥轮换后,每年 AWS KMS 自动轮换密钥一次。此外,对于客户托管式密钥,您还可以随时选择何时禁用、重新启用、删除或撤销对您的客管理式密钥的访问权限。有关更多信息,请参阅 管理对加密的文件系统的访问。
-
重要
Amazon EFS 仅接受对称的客户托管式密钥。您不能在 Amazon EFS 中使用非对称的客户托管式密钥。
静态数据加密和解密是透明处理的。但是,Amazon EFS IDs 特有的 AWS 账户会出现在与 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 托管式密钥 适用于 Amazon EFS KMS 政策
适用于 Amazon EFS AWS 托管式密钥 的 KMS 策略 JS aws/elasticfilesystem
ON 如下所示:
{
"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": "*"
}
]
}