我正在尝试在 js 处理程序中获取 ssm 参数,如下所示:
module.exports.post = (event, context, callback) => {
var params = {
Name: 'myParameter',
WithDecryption: true || false
};
ssm.getParameter(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
};
我在 serverless.yml 文件中添加了以下权限角色
iamRoleStatements:
- Effect: Allow
Action:
- ssm:GetParameters
- ssm:GetParameter
- ssm:DescribeParameters
- kms:Encrypt
- kms:Decrypt
Resource: "*"
使用 CLI 我可以成功执行aws ssm get-parameter --names myParameter
但是当我调用该函数时,我在 cloudWatch 中收到以下错误
AccessDeniedException:用户:myUser 无权执行:ssm:GetParameter on resource:myResource/myParameter
我尝试使用 getParameters 函数,获取确切的名称资源,但仍然是相同的错误消息。
任何帮助将非常感激。