阻止公众访问EFS文件系统 - Amazon Elastic File System

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

阻止公众访问EFS文件系统

Amazon EFS 阻止公开访问功能提供的设置可帮助您管理对EFS文件系统的公开访问。默认情况下,新的EFS文件系统不允许公开访问。但是,您可以修改文件系统策略以允许公有访问。

重要

启用阻止公共访问权限可防止通过直接附加到文件系统的资源策略授予公共访问权限,从而帮助保护您的资源。除了启用“屏蔽公共访问权限”之外,还要仔细检查以下策略,来确认它们不会授予公共访问权限:

  • 附加到关联 AWS 委托人(例如角色)的基于身份的策略 IAM

  • 附加到关联资源的基于 AWS 资源的策略(例如,AWS Key Management Service (KMS) 密钥)

使用 AWS Transfer Family阻止公有访问

当您将 Amazon EFS 与配合使用时 AWS Transfer Family,如果文件系统允许公开访问,则从属于与文件系统不同的账户的 Transfer Family 服务器收到的文件系统访问请求将被阻止。Amazon EFS 会评估文件系统的IAM策略,如果该策略是公开的,则会阻止该请求。要允许 AWS Transfer Family 访问您的文件系统,请更新您的文件系统策略,使其不被视为公开。

注意

对于那些EFS文件系统在 2021 年 1 月 6 日之前创建EFS的,其策略允许公开访问,则默认禁用在亚马逊上使用 Tran AWS 账户 sfer Family。要允许使用 Transfer Family 访问您的文件系统,请联系 AWS 支持部门。

“公有”的含义

在评估文件系统是否允许公开访问时,Amazon EFS 假设文件系统策略是公开的。然后对文件系统策略进行评估,以确定它是否符合非公有条件。当文件系统策略仅向以下一个或多个对象的固定值(不包含通配符的值)授予访问权限时,才会将该策略视为非公有:

  • 一组无类域间路由 (CIDRs),使用。aws:SourceIp有关的更多信息CIDR,请参见RFC编辑器网站上的 RFC4632

  • AWS 委托人、用户、角色或服务主体(例如,aws:PrincipalOrgID

  • aws:SourceArn

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:SourceOwner

  • aws:SourceAccount

  • elasticfilesystem:AccessedViaMountTarget

  • aws:userid, outside the pattern "AROLEID:*"

根据这些规则,以下示例策略被视为公有。

{ "Version": "2012-10-17", "Id": "efs-policy-wizard-15ad9567-2546-4bbb-8168-5541b6fc0e55", "Statement": [ { "Sid": "efs-statement-14a7191c-9401-40e7-a388-6af6cfb7dd9c", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientRootAccess" ] } ] }

您可以使用设置为 true 的EFS条件密钥将此文件系统策略elasticfilesystem:AccessedViaMountTarget设为非公开。您可以使用elasticfilesystem:AccessedViaMountTarget允许使用文件系统挂载目标访问EFS文件系统的客户机EFS执行指定的操作。以下非公有策略使用设置为 True 的 elasticfilesystem:AccessedViaMountTarget 条件键。

{ "Version": "2012-10-17", "Id": "efs-policy-wizard-15ad9567-2546-4bbb-8168-5541b6fc0e55", "Statement": [ { "Sid": "efs-statement-14a7191c-9401-40e7-a388-6af6cfb7dd9c", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientRootAccess" ], "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } } ] }

有关 Amazon EFS 条件键的更多信息,请参阅EFS客户端的条件密钥。有关创建文件系统策略的更多信息,请参阅创建文件系统策略