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

AWS Transfer Family SFTP服务器Lambda认证调用失败问题求助

解决AWS Transfer Family调用Lambda身份认证失败的问题

1. 修正Lambda ARN的空格问题

错误信息里的Lambda ARN存在明显问题:arn:aws:lambda:us-east-2: 123456789012:function:SFTP-Lambda,账号ID前多了一个空格。这会导致Transfer Family无法正确定位到目标Lambda函数,需立即修正Transfer服务器配置中指定的Lambda ARN,确保无多余空格、拼写完全正确。

2. 修复Lambda资源策略格式错误

当前提供的资源策略存在语法错误(末尾多了一个闭合括号),修正后的正确策略如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "transfer.amazonaws.com"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-2:123456789012:function:SFTP-Lambda",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "arn:aws:transfer:us-east-2:123456789012:server/s-123456"
        }
      }
    }
  ]
}

同时确认策略中AWS:SourceArn的值与Transfer服务器ARN完全匹配,无任何拼写错误。

3. 检查Lambda执行角色权限

Lambda函数的执行角色需具备完成身份认证逻辑的必要权限:

  • 至少附加AWSLambdaBasicExecutionRole托管权限,确保函数能生成CloudWatch日志,方便后续排查问题;
  • 如果你的认证逻辑需要查询数据库、读取S3对象等操作,需给执行角色添加对应的权限策略。

4. 确保Lambda返回符合要求的响应格式

Transfer Family对身份认证Lambda的返回格式有严格要求,必须返回包含以下核心字段的JSON:

{
  "Role": "arn:aws:iam::123456789012:role/transfer-sftp-access-role",
  "HomeDirectory": "/your-s3-bucket/${transfer:UserName}",
  "HomeDirectoryType": "LOGICAL",
  "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":\"s3:ListBucket\",\"Resource\":\"arn:aws:s3:::your-s3-bucket\",\"Condition\":{\"StringLike\":{\"s3:prefix\":\"${transfer:UserName}/*\"}}},{\"Effect\":\"Allow\",\"Action\":[\"s3:GetObject\",\"s3:PutObject\"],\"Resource\":\"arn:aws:s3:::your-s3-bucket/${transfer:UserName}/*\"}]}"
}

若返回格式不符合要求,会直接导致认证失败,建议通过CloudWatch日志查看Lambda执行时的输出内容。

5. 手动验证Lambda函数可用性

构造模拟的Transfer认证事件,手动测试Lambda函数执行情况,示例事件如下:

{
  "serverId": "s-123456",
  "username": "user",
  "password": "test-password",
  "protocol": "SFTP",
  "sourceIp": "172.105.39.41"
}

确认函数能正常执行、无报错,并返回符合要求的响应内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:52:50