AWS:将 Lambda 连接到 Secret 不起作用

AWS:将 Lambda 连接到 Secret 不起作用

我正在尝试按照以下方式将 Lambda 连接到机密AWS 文档

我在机密上设置了以下基于资源的策略,并验证它确实已设置:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789:role/my-lambda-execution-role"
        },
        "Action": ["secretsmanager:GetSecret", "secretsmanager:GetSecretValue"],
        "Resource": "*",
        "Condition": {
            "ForAnyValue:StringEquals": {
                "secretsmanager:VersionStage": "AWSCURRENT"
            }
        }
    }]
}

但是,当我尝试实际检索策略时(使用 Amazon 为 python3 客户端生成的入门代码),我遇到了超时。我正在 Web IDE 中执行 Lambda。

我尝试了使用和不使用条件过滤器。为了安全起见,我还将 SecretsManagerReadWrite 策略授予了 lambda 执行角色。没有效果——仍然超时。

我感觉我错过了一些重要的步骤,但我不知道那会是什么......

有人能帮忙吗?谢谢!

答案1

你真的得到了暂停并不是拒绝访问错误?

如果是这种情况,并且你超时了,那么你的Lambda 网络配置是错误的。如果政策错误,你会得到拒绝访问,不是暂停

例如,如果它在公共子网中的 VPC 中运行,则可能没有分配公共 IP,或者如果它在私有子网中运行,则可能没有配置 NAT 网关。除非 Lambda 需要访问 VPC 资源,否则您可能希望在 VPC 之外运行它(这也是默认设置,VPC-Lambda 是一种特殊情况)。

希望有帮助:)

相关内容