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