Amazon EFS通过IAM角色授权EC2访问不生效 挂载被拒绝求助
EFS挂载权限拒绝问题排查与解决方案
已明确的配置错误点
- IAM角色权限中的EFS资源ID不匹配:你当前使用的EFS ID为
fs-d2f2bd,但123角色的权限策略中绑定的资源ARN为arn:aws:elasticfilesystem:us-east-1:714154805721:file-system/fs-09d2f2bd,多了09前缀,直接导致角色没有对应EFS的操作权限,这是报错的核心原因。 - 挂载命令缺少IAM认证参数:使用IAM角色身份挂载EFS时,必须在挂载参数中添加
iam选项,否则EFS不会校验IAM身份,会直接返回权限拒绝。 - 挂载路径疑似拼写错误:命令中指定的挂载路径为
/var/www/mout,大概率是/var/www/mount的笔误,需确认目标路径已创建且权限配置正确。
修复步骤
- 修正123角色的权限策略,替换错误的资源ARN,同时可删除不必要的管理类权限收紧权限范围,修正后的策略参考如下:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientRootAccess" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:714154805721:file-system/fs-d2f2bd" } ] }
- 修正挂载命令,首先确认挂载路径存在,不存在则先创建:
mkdir -p /var/www/mount
执行修正后的挂载命令:sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,iam fs-d2f2bd.efs.us-east-1.amazonaws.com:/ /var/www/mount
其他可选排查项
如果修正后仍无法挂载,可检查以下配置:
- EFS挂载目标是否和EC2处于同一VPC的对应可用区,挂载目标的安全组是否开放了NFS 2049端口的入方向规则给EC2的安全组
- 可在EC2上执行
aws sts get-caller-identity确认实例确实已绑定123角色,返回的ARN和EFS策略中指定的Principal一致 - 如果EFS要求传输中加密,可在挂载参数中额外添加
tls选项
内容的提问来源于stack exchange,提问作者Rostyslav Malenko
相关产品推荐
相关产品推荐

