我被困在配置我的 AWS Lambda 以访问密钥。我已经做了很多次,所有现有资源都可以正常工作,但现在一个新的不想这样做。
Stack:我在 secretsmanager 中有一个秘密和一个 lambda(在 vpc 中)
我想要什么:阅读 lambda 的秘密。
lambda 的角色具有以下策略:
"Statement": [
{
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:xxxxxxxxxxxx",
"Effect": "Allow"
}
]
}
但是,即使我为这个角色授予了完全的管理员权限,我也不能从 lambda 中读取秘密。我收到以下错误消息:
User: arn:aws:sts::xxxxxxxxx:assumed-role/xxxxxxx/yyyyyyyy is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:xxxxxxxxxxxx
我还有其他可以工作的 lambda,但重新部署我的 cloudformation 堆栈可能会因此而破坏整个应用程序,这有点可怕。
我假设 AWS 方面发生了一些变化,现有资源已更改为兼容,但现在我无法访问任何新的或现有的秘密,即使我可以在 lambda 配置中看到我有权限。
有谁知道缺少什么?谢谢!