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

AWS Transfer Family SFTP添IP限制后上传权限拒绝问题排查

AWS Transfer Family SFTP添加IP限制后上传权限拒绝问题解决

问题核心原因

你在带IP限制的IAM策略里加了"Bool": {"aws:ViaAWSService": "false"}条件,但AWS Transfer Family作为AWS托管服务,在代表用户调用S3时,aws:ViaAWSService的值是true,这个条件直接导致S3操作的权限校验失败——和IP限制本身无关,也不需要在角色的信任策略中添加IP限制。

修正后的IAM策略

移除aws:ViaAWSService的条件,保留IP限制即可:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:us-east-1:XXXXX:key/XXXXX"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObjectVersion",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::data/*",
                "arn:aws:s3:::data"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "X.X.X.X/32"
                }
            }
        }
    ]
}

补充说明

  • CloudWatch日志里的SourceIP是客户端真实IP,IAM策略里的aws:SourceIp会正确识别这个值(Transfer Family会把客户端IP传递到IAM上下文),只要IP匹配就会生效。
  • 信任策略的作用是控制谁能扮演该角色,Transfer Family服务本身需要通过它操作S3,修改信任策略加IP限制会导致服务无法正常扮演角色,反而引发更多问题,完全没必要。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 05:37:08