AWS Lambda 函数:无法获取机密 arn:aws:secretsmanager

AWS Lambda Function : Failed to fetch secret arn:aws:secretsmanager

我的 AWS lambda 函数通过 'AWS Secrets Manager Key' 连接到 Aurora 数据库,现在显示错误 'Failed to fetch secret arn:aws:secretsmanager:us-east xxxxx'。

如果我在 AWS RDS 查询编辑器中激发任何查询,那么所有函数都将开始工作,然后它会抛出相同的错误

我已经通过 IAM 角色解决了这个问题。 创建新角色 IAM 并在 IAM 策略(脚本管理器和 AWS Lambda)中添加资源和尊重操作。在我的 AWS Lambda 无服务器提供商角色访问中使用相同的角色

IAM Policy

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor10",
        "Effect": "Allow",
        "Action": [
            "secretsmanager:GetSecretValue",
        ],
        "Resource": [
            "arn:aws:secretsmanager:us-east-2:*******:secret:rds-db-credentials/cluster-*************","
        ]
    }
  ]}

Serverless 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