【问题标题】:AWS Lambda can't call Cognito Identity - IAM RoleAWS Lambda 无法调用 Cognito Identity - IAM 角色
【发布时间】:2016-07-04 04:28:36
【问题描述】:

我有一些 javascript 可以在我的本地机器上运行,但不能在 Lambda 中运行。

调用cognitoidentity.getOpenIdTokenForDeveloperIdentity时超时

{
  "errorMessage": "2016-03-17T16:50:25.181Z 4fa3fa5a-ec60-11e5-8316-415fa39313da Task timed out after 15.00 seconds"
}

在本地它工作正常(调用 AWS 生产服务),所以它必须是我附加到 Lambda 的策略。

以下是我的政策:

AmazonCognitoDeveloperAuthenticatedIdentities

AWSLambdaVPCAccessExecutionRole

这是我也有的自定义:

 {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mobileanalytics:PutEvents",
                "cognito-sync:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:eu-west-1:myaccountid:function:users_login"
            ]
        }
    ]
}

Lambda ARN 是直接从该 Lambda 屏幕复制的。有什么想法吗?

【问题讨论】:

    标签: javascript node.js amazon-web-services lambda amazon-cognito


    【解决方案1】:

    一定是我附加的政策

    不,如果是这种情况,您将收到权限被拒绝错误,而不是超时。

    您的 Lambda 函数似乎具有 VPC 访问权限。您需要为您的 VPC 配置 NAT 网关,以便 Lambda 函数能够访问 VPC 之外的任何内容,包括 Cognito 等 AWS 服务。

    【讨论】:

    猜你喜欢
    • 2021-02-12
    • 2019-07-08
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2020-11-08
    • 2018-11-05
    • 1970-01-01
    相关资源
    最近更新 更多