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

问题描述

我的 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 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...