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

如何配置Lambda权限以允许其向EFS写入数据?

Lambda向EFS写入数据的完整配置步骤

1. EFS侧配置

  • 确保创建的EFS文件系统和目标Lambda函数属于同一VPC、同一可用区,否则无法完成挂载
  • 必须创建EFS访问点(不建议直接挂载EFS根目录),配置POSIX用户组信息:
    • 用户ID(UID)可填写Lambda运行时默认UID 993,或自定义通用UID如1000
    • 组ID(GID)填写和UID一致的数值即可
    • 自定义访问点根目录路径,例如/lambda-data,同时配置根目录创建权限:所有者UID/GID和上述配置保持一致,目录权限设置为0755或0775
  • EFS挂载点关联的安全组,需开放入方向的NFS端口(2049),允许Lambda所属安全组访问

2. Lambda侧配置

  • 给Lambda函数绑定和EFS相同的VPC、私有子网,配置对应安全组,安全组需允许出方向访问EFS挂载点的2049端口
  • 给Lambda执行角色添加最小必要权限:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "elasticfilesystem:ClientMount",
            "elasticfilesystem:ClientWrite"
          ],
          "Resource": "替换为你的EFS文件系统ARN"
        }
      ]
    }
    
  • 在Lambda「文件系统」配置项中绑定上述EFS访问点,本地挂载路径必须以/mnt/开头,例如/mnt/efs

3. 写入功能验证

可通过如下Python示例代码测试写入:

def lambda_handler(event, context):
    test_file = "/mnt/efs/test_write.txt"
    with open(test_file, "w") as f:
        f.write("Lambda to EFS test content")
    return "Write operation completed"

如果执行报错权限不足,优先核对EFS访问点的POSIX用户组配置是否和Lambda运行用户匹配

核心问题说明

创建EFS卷和挂载点时如果未填写任何组信息,默认EFS根目录所有者为root,仅root用户拥有写入权限,而Lambda默认不会以root权限运行,因此无法写入数据,必须通过配置EFS访问点的POSIX权限对齐Lambda运行用户组解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:57:05