如何通过使用Lambda作为身份提供者,允许SFTP访问EFS?

0

【以下的问题经过翻译处理】 我正在尝试构建一个SFTP服务器,用lambda函数来检查提供的用户名和密码是否与AWS Secrets Manager中的密码匹配。我遵循了这篇文章,但做了一些修改,我没有使用API Gateway,直接使用Lambda函数作为身份验证器,并从Secret Manager中获取以下数据:

 "Role" : "arn:aws:iam::xxxxxxxxxxx:role/my-transfer-role",
"PosixProfile": {
    "Uid": 1001,
    "Gid": 1001,
    "SecondaryGids": []
 },
 "HomeDirectory": "/"

到目前为止,我只能连接到SFTP服务器,但无法读取或写入EFS上的内容,显示“无法列出目录:/权限被拒绝”。

我创建了一个角色和一个策略,并将其附加到Transfer上,以便在EFS上具有权限,具体说明可参见此指南

请问这个配置有什么遗漏吗?谢谢。

1 Antwort
0

【以下的回答经过翻译处理】 HichamZouarhi@,考虑到您能够连接服务器并验证身份,总体Lambda IDP配置似乎正在工作。关于您的错误,我认为您需要在“HomeDirectory”中提供EFS id才能访问。现在,“HomeDirectory:/”假定EFS的根目录,并且可能会尝试列出可用的EFS资源。除非您对相同的事物有权限,否则将会发生错误。

您可以将HomeDirectory更新为您想要访问的EFS资源吗?示例:“HomeDirectory:/fs-000000/user”。此外,您需要确保您要访问的文件夹可使用您指定的POSIX配置:在您的情况下是“(1001、1001)”。

参考文献:

如果您有后续问题,请告诉我。

-- Sagar

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen