AWS Lambda (.NET6)无法读取AWS Parameter Store参数的解决咨询
解决AWS Lambda无法读取Parameter Store参数的权限问题
问题原因
你的Lambda函数执行角色缺少访问AWS Parameter Store的必要权限,错误信息明确指出:当前角色未被授权执行ssm:GetParametersByPath操作,无法访问指定路径的SSM参数资源。本地运行正常是因为本地使用的是你的个人AWS凭证(通常权限范围更广),而部署到AWS平台后,Lambda会使用其绑定的执行角色权限。
解决步骤
定位Lambda执行角色
从错误信息的ARN中可直接获取角色名称:pm2supplier-stack-AspNetCoreFunctionRole-13TO039VZBQ7Y,也可登录AWS控制台,进入目标Lambda函数的「配置」→「权限」标签,找到对应的执行角色。为角色添加SSM访问权限
- 打开IAM控制台,搜索并进入该执行角色的详情页。
- 点击「添加权限」→「创建内联策略」。
- 切换到「JSON」编辑器,粘贴以下策略模板(替换为你的AWS账号ID和参数路径):
如果你的代码还用到{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:GetParametersByPath", "Resource": "arn:aws:ssm:eu-west-2:074xxxxxxxxx:parameter/PM2AWSLambda/*" } ] }ssm:GetParameter等其他SSM操作,需将对应的Action添加到策略的Action数组中。 - 为策略命名(例如
Lambda-SSM-Parameter-Access),完成创建。
验证修复效果
重新触发Lambda函数,检查是否能正常读取Parameter Store中的参数。
内容的提问来源于stack exchange,提问作者ZedZip
相关产品推荐
相关产品推荐

