You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EFS策略条件键elasticfilesystem:AccessedViaMountTarget功能及配置咨询

elasticfilesystem:AccessedViaMountTarget 条件键详解

实际作用

这个条件键的核心是区分两种EFS访问方式:

  • 通过挂载目标的NFS访问:也就是EC2实例通过NFS协议挂载EFS的常规场景,对应值true
  • 直接API访问:比如通过AWS CLI、控制台或者第三方工具调用EFS API进行文件操作(比如efs-utils的某些非挂载操作),对应值false

它的作用是限制EFS只能被某一种方式访问,和公网/内网访问的控制没有直接关联。

挂载报错的原因及解决

你设置elasticfilesystem:AccessedViaMountTarget: true后挂载失败,大概率是EFS资源策略的逻辑有误,常见问题包括:

  1. 缺少必要的Action权限:挂载EFS需要elasticfilesystem:ClientMount权限,如果需要写入还要elasticfilesystem:ClientWrite,策略里必须包含这些Action
  2. Condition逻辑或语法错误:要确保条件是在Allow语句中,且格式正确。正确的示例策略如下:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "elasticfilesystem:ClientMount",
        "elasticfilesystem:ClientWrite"
      ],
      "Resource": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-abc123",
      "Condition": {
        "Bool": {
          "elasticfilesystem:AccessedViaMountTarget": "true"
        }
      }
    }
  ]
}
  1. 策略被其他拒绝语句覆盖:如果你的策略里有Deny语句,要确保Allow语句的优先级更高(比如没有更严格的Deny条件匹配你的EC2实例)
  2. 挂载目标安全组验证:再确认下挂载目标的安全组是否允许EC2实例的IP/IP段访问2049端口(NFS)
阻止EFS公网访问的正确方式

安全组 vs 条件键的区别

  • 挂载目标安全组:是网络层控制,直接拦截或放行特定IP/端口的流量。如果安全组只允许VPC内私有IP段访问2049端口,公网IP根本连不上挂载目标,自然无法访问EFS
  • elasticfilesystem:AccessedViaMountTarget:是IAM资源策略层控制,只区分访问方式(挂载/API),不管流量来自公网还是内网——公网访问EFS也是通过公网挂载目标进行的,所以这个条件键无法阻止公网访问

是否需要条件键来阻止公网访问?

不需要。只要你的挂载目标安全组配置正确(仅允许VPC内IP访问),或者干脆没有创建公网挂载目标,公网就无法访问你的EFS。这个条件键的作用和公网访问控制无关,不需要额外配置它来实现公网拦截。

如果你的EFS有公网挂载目标,想要阻止公网访问,正确的做法是:

  • 删除公网挂载目标,只保留VPC内的私有挂载目标
  • 或者在公网挂载目标的安全组中,拒绝所有公网IP的2049端口访问

内容的提问来源于stack exchange,提问作者RiaanDP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:33:24