我正在尝试按照以下方式将 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 是一种特殊情况)。
希望有帮助:)