如何解决AWS Lambda以编程方式设置函数访问策略
我正在尝试使用this example设置用户特定的Lambda策略。有人可以告诉我为什么这种仅访问一个lambda的资源规范是错误的吗?
resource = "arn:aws:region:*:*:function:orderinputapi-alpha-writeMe";
当我使用时:
resource="*"
它可以正常工作(用户具有对所有lambda的完全访问权限),但是当我尝试将访问限制为仅允许单个lambda函数时,当我尝试访问它时,我得到“用户无权访问该资源”。我确认该函数是lambda的确切名称。
我的代码创建的完整策略声明为:
{ Action: 'execute-api:Invoke',Effect: 'Allow',Resource:'arn:aws:region:*:*:function:orderinputapi-alpha-writeMe' }
解决方法
您的ARN错误:
而不是arn:aws:region:*:*:function:orderinputapi-alpha-writeMe
,它应该是arn:aws:lambda:*:*:function:orderinputapi-alpha-writeMe
此外,如果您为相同的区域和帐户设置权限,则只需删除*
即可使ARN为:
arn:aws:lambda:::function:orderinputapi-alpha-writeMe
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。