问题描述
我正在使用无服务器框架在现有堆栈中定义新的Lambda。为了保持最少的特权主体和我的主要serevrless.yml文件清理器,我试图为每个函数在单独的yaml文件中提供权限(使用“ serverless-iam-roles-per-function”插件)。直到现在,当每个功能都需要在单个资源上执行某些操作时,此操作效果良好。但是现在我试图提供一个具有SQS和SES权限的函数,并且在尝试部署时遇到以下错误:
iamRoleStatements应该是对象数组,其中每个对象都具有“效果”,“动作” /“非动作”,“资源” /“非资源”字段。具体来说,语句0缺少以下属性:效果,动作/非动作,资源/非资源
serverless.yml:
sendSupportMessage:
handler: src/handlers/sendSupportMessage.handler
maximumEventAge: 60
maximumRetryAttempts: 1
iamRoleStatements:
- ${file(iam/sendSupportMessageIAM.yml):sendSupportMessageIAM}
events:
- sqs:
arn: ${self:custom.SupportMessagesQueue.arn}
batchSize: 1
sendSupportMessageIAM.yml:
sendSupportMessageIAM:
- Effect: Allow
Action:
- sqs:ReceiveMessage
Resource: ${self:custom.SupportMessagesQueue.arn}
- Effect: Allow
Action:
- ses:SendEmail
Resource: arn:aws:ses:*
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)