【发布时间】:2021-03-02 21:11:54
【问题描述】:
我想在我的所有 lambda 函数(AWS::Serverless::Function)中访问 aws secret manager。目前,我必须提供单独的 lambda 函数参考,如下所示。因为我有很多 lambda 函数,所以很乏味。我尝试了“服务”:“lambda.amazonaws.com”,但没有成功。
{
"Version" : "2012-10-17",
"Statement" : [ {
"Effect" : "Allow",
"Principal" : {
"AWS" : ["arn:aws:sts::xxxxxxx:assumed-role/employer-api-getAllEmployeesFunctionRole-xxxxx/employer-api-4-getAllEmployeesFunction-xxxxx",
"arn:aws:sts::xxxxxxx:assumed-role/employee-backend-getEmployeeByIdFunctionRole-xxxxx/employee-backend-getEmployeeByIdFunction-xxxxx"
]
},
"Action" : "secretsmanager:GetSecretValue",
"Resource" : "*"
} ]
}
【问题讨论】:
-
Service主体不起作用,因为发出调用的不是 lambda 服务,而是 Lambda 承担的角色。这意味着您需要将角色添加为委托人 - 您可以尝试使用通配符添加角色 ARN 吗?像这样的东西:arn:aws:iam::123456789012:role/employe*. -
@Maurice 我试过通配符没用
标签: aws-lambda aws-secrets-manager