amazon-web-services - AWS Transfer 系列中从不要求 AWS Lambda 进行身份验证

标签 amazon-web-services aws-lambda aws-transfer-family

我正在尝试使用 AWS lambda 函数作为自定义身份提供商来设置 AWS 传输系列。不幸的是,lambda 根本就没有被称为。每次我调用身份提供商测试时,我都会得到:

{
    "Response": "{}",
    "StatusCode": 403,
    "Message": "Lambda function configuration error: AccessDeniedException"
}

这些是为 lambda 角色定义的权限策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "lambda:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:eu-central-1:log.group.number:*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:eu-central-1:087690012243:log-group:/aws/lambda/name-of-my-lambda:*"
        }
    ]
}

但我不确定这是否真的相关。感觉传输家族服务器缺乏调用 lambda 的权限。但我找不到任何设置来向传输家庭服务器本身添加角色或策略。

有什么想法缺少什么吗?

最佳答案

lambda 还需要一个基于资源的策略,该策略赋予 aws Transfer 系列服务器调用它的权利。这可以在“配置”选项卡中 lambda 配置 gui 的最底部进行配置。

必须输入以下值:

Statement ID
statement01
Principal
transfer.amazonaws.com
Effect
Allow
Action
lambda:InvokeFunction
Conditions
{
 "ArnLike": {
  "AWS:SourceArn": "arn:aws:transfer:eu-central-1:your-account-number:server/your-aws-transfer-family-server-id"
 }
}

关于amazon-web-services - AWS Transfer 系列中从不要求 AWS Lambda 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75685774/

相关文章:

amazon-web-services - AWS 中的自动缩放服务,无需复制 cron 作业

android - AWS s3 TransferListener 未在 Android 中更新

c# - 如何配置客户端? AWS Elasticsearch 请求 C#

amazon-web-services - 云形成无法创建带有 VPCIdNotSpecified 的安全组

ios - 将 Amazon API Gateway 与 ios 结合使用

lambda - 使用 AWS Lambda 编译 native 代码的包 (npm install)

node.js - 如何从当前 Lambda 函数调用另一个 Lambda 函数?