问题描述
我的 AWS lambda 函数通过“AWS Secrets Manager Key”连接到 aurora 数据库,现在显示错误“无法获取密钥 arn:aws:secretsmanager:us-east xxxxx”。
如果我在 AWS RDS 查询编辑器中激发任何查询,那么所有函数都会在一些之后开始工作,它会抛出相同的错误
解决方法
我已经解决了这个问题,虽然 IAM 角色。 创建新的角色 IAM 并在 IAM 策略(脚本管理器和 AWS Lambda)中添加资源和尊重操作。在我的 AWS Lambda 无服务器提供商角色访问中使用的相同角色
IAM 政策
{
"Version": "2012-10-17","Statement": [
{
"Sid": "VisualEditor10","Effect": "Allow","Action": [
"secretsmanager:GetSecretValue",],"Resource": [
"arn:aws:secretsmanager:us-east-2:*******:secret:rds-db-credentials/cluster-*************","
]
}
]}
无服务器 YAML
provider:
name: aws
stage: ${opt:stage}
runtime: nodejs12.x
region: ${self:custom.config.app.region}
stackTags:
Account: ${self:custom.config.app.tags}
role: ${self:custom.config.app.role} <<== IAM ROLE NAME